Providing W3C compliance by TikhomirovSergey · Pull Request #829 · appium/java-client

and others added 10 commits

February 9, 2018 22:43
There's a lot of overlap between the ProtocolHandshake and
the NewSessionPayload. Time to deal with this overlap between
the two.

The main change is to make the NewSessionPayload capable of
writing to an Appendable. It does so by streaming the
Capabilities used to create the payload as the OSS capabilities
and those used by old geckodrivers, and then streaming every
capability through transforms to generate spec compliant
capabilities.

There appears to be a bug where we always generate synthetic
capabilities, but we can deal with that later.
Using the magic of Buck's "maven-importer" and the following maven
coordinates:

```
'org.seleniumhq.selenium:htmlunit-driver:jar:2.28.5' \
'junit:junit:jar:4.12' \
'net.bytebuddy:byte-buddy:jar:1.7.9' \
'com.google.code.gson:gson:jar:2.8.2' \
'com.google.guava:guava:jar:23.6-jre' \
'org.apache.commons:commons-exec:jar:1.3' \
'org.eclipse.jetty:jetty-security:jar:9.4.8.v20171121' \
'org.testng:testng:jar:6.13.1' \
'org.pantsbuild:jarjar:jar:1.6.5' \
'org.eclipse.jetty:jetty-util:jar:9.4.8.v20171121' \
'org.eclipse.jetty:jetty-server:jar:9.4.8.v20171121' \
'org.eclipse.jetty:jetty-servlet:jar:9.4.8.v20171121' \
'org.hamcrest:hamcrest-library:jar:1.3' \
'com.github.javaparser:javaparser-core:jar:3.5.7' \
'org.eclipse.jetty:jetty-jmx:jar:9.4.8.v20171121' \
'net.jcip:jcip-annotations:jar:1.0' \
'org.yaml:snakeyaml:jar:1.19' \
'org.mockito:mockito-core:jar:2.13.0' \
'io.netty:netty-all:jar:4.1.19.Final' \
'org.eclipse.mylyn.github:org.eclipse.egit.github.core:jar:2.1.5' \
'org.littleshoot:littleproxy:jar:1.1.2' \
'org.slf4j:slf4j-jdk14:jar:1.7.25'
```

The version of LittleProxy we use is a snapshot and is the old
version from previously with dependencies updated.

mykola-mokhnach

mykola-mokhnach

mykola-mokhnach

mykola-mokhnach

mykola-mokhnach

mykola-mokhnach

mykola-mokhnach

mykola-mokhnach

mykola-mokhnach

mykola-mokhnach

mykola-mokhnach

mykola-mokhnach

mykola-mokhnach

mykola-mokhnach

mykola-mokhnach

mykola-mokhnach

mykola-mokhnach

- removal of redundant code from the original NewSessionPayload

@TikhomirovSergey

mykola-mokhnach

mykola-mokhnach

mykola-mokhnach

@TikhomirovSergey

@TikhomirovSergey

SrinivasanTarget

mykola-mokhnach

mykola-mokhnach

SrinivasanTarget

@TikhomirovSergey