Partially externalize WebDriver tests

This change does a few things:

  1. Partially externalized WebDriver tests by using ChromeDriver
     as an implementation of WebDriver API in the external build.
  2. Refactored WebDriverRule.java to decouple the creation and
     using of WebDriver related stuff so we can have different
     implementations in internal and external builds.
  3. Refactored the usage of some internal libraries to have a
     central place to store all of them to make it easier to
     remove them in the external build.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=233661757
This commit is contained in:
shicong 2019-02-12 12:58:11 -08:00 committed by jianglai
parent 4097dae3b2
commit 76028ba1b4
75 changed files with 1743 additions and 28 deletions

View file

@ -108,8 +108,9 @@ com.googlecode.java-diff-utils:diffutils:1.3.0
com.googlecode.json-simple:json-simple:1.1.1
com.ibm.icu:icu4j:57.1
com.jcraft:jsch:0.1.53
com.squareup.okhttp3:okhttp:3.11.0
com.squareup.okhttp:okhttp:2.5.0
com.squareup.okio:okio:1.6.0
com.squareup.okio:okio:1.14.0
com.sun.istack:istack-commons-runtime:3.0.5
com.sun.xml.fastinfoset:FastInfoset:1.2.13
com.thoughtworks.paranamer:paranamer:2.7
@ -154,6 +155,7 @@ javax.xml.bind:jaxb-api:2.3.0
jline:jline:1.0
joda-time:joda-time:2.9.2
junit:junit:4.12
net.bytebuddy:byte-buddy:1.8.15
org.apache.avro:avro:1.8.2
org.apache.beam:beam-runners-direct-java:2.2.0
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.1.0
@ -163,6 +165,9 @@ org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.2.0
org.apache.beam:beam-sdks-java-extensions-protobuf:2.2.0
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.2.0
org.apache.commons:commons-compress:1.8.1
org.apache.commons:commons-exec:1.3
org.apache.commons:commons-lang3:3.8.1
org.apache.commons:commons-text:1.6
org.apache.ftpserver:ftplet-api:1.0.6
org.apache.ftpserver:ftpserver-core:1.0.6
org.apache.httpcomponents:httpclient:4.5.5
@ -201,6 +206,16 @@ org.ow2.asm:asm-commons:6.0
org.ow2.asm:asm-tree:6.0
org.ow2.asm:asm-util:6.0
org.ow2.asm:asm:6.0
org.seleniumhq.selenium:selenium-api:3.141.59
org.seleniumhq.selenium:selenium-chrome-driver:3.141.59
org.seleniumhq.selenium:selenium-edge-driver:3.141.59
org.seleniumhq.selenium:selenium-firefox-driver:3.141.59
org.seleniumhq.selenium:selenium-ie-driver:3.141.59
org.seleniumhq.selenium:selenium-java:3.141.59
org.seleniumhq.selenium:selenium-opera-driver:3.141.59
org.seleniumhq.selenium:selenium-remote-driver:3.141.59
org.seleniumhq.selenium:selenium-safari-driver:3.141.59
org.seleniumhq.selenium:selenium-support:3.141.59
org.slf4j:slf4j-api:1.7.25
org.threeten:threetenbp:1.3.3
org.tukaani:xz:1.5

View file

@ -107,6 +107,8 @@ com.googlecode.java-diff-utils:diffutils:1.3.0
com.googlecode.json-simple:json-simple:1.1.1
com.ibm.icu:icu4j:57.1
com.jcraft:jsch:0.1.53
com.squareup.okhttp3:okhttp:3.11.0
com.squareup.okio:okio:1.14.0
com.sun.istack:istack-commons-runtime:3.0.5
com.sun.xml.fastinfoset:FastInfoset:1.2.13
com.thoughtworks.paranamer:paranamer:2.7
@ -148,6 +150,7 @@ javax.xml.bind:jaxb-api:2.3.0
jline:jline:1.0
joda-time:joda-time:2.9.2
junit:junit:4.12
net.bytebuddy:byte-buddy:1.8.15
org.apache.avro:avro:1.8.2
org.apache.beam:beam-runners-direct-java:2.2.0
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.1.0
@ -157,6 +160,9 @@ org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.2.0
org.apache.beam:beam-sdks-java-extensions-protobuf:2.2.0
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.2.0
org.apache.commons:commons-compress:1.8.1
org.apache.commons:commons-exec:1.3
org.apache.commons:commons-lang3:3.8.1
org.apache.commons:commons-text:1.6
org.apache.ftpserver:ftplet-api:1.0.6
org.apache.ftpserver:ftpserver-core:1.0.6
org.apache.httpcomponents:httpclient:4.5.5
@ -195,6 +201,16 @@ org.ow2.asm:asm-commons:6.0
org.ow2.asm:asm-tree:6.0
org.ow2.asm:asm-util:6.0
org.ow2.asm:asm:6.0
org.seleniumhq.selenium:selenium-api:3.141.59
org.seleniumhq.selenium:selenium-chrome-driver:3.141.59
org.seleniumhq.selenium:selenium-edge-driver:3.141.59
org.seleniumhq.selenium:selenium-firefox-driver:3.141.59
org.seleniumhq.selenium:selenium-ie-driver:3.141.59
org.seleniumhq.selenium:selenium-java:3.141.59
org.seleniumhq.selenium:selenium-opera-driver:3.141.59
org.seleniumhq.selenium:selenium-remote-driver:3.141.59
org.seleniumhq.selenium:selenium-safari-driver:3.141.59
org.seleniumhq.selenium:selenium-support:3.141.59
org.slf4j:slf4j-api:1.7.25
org.threeten:threetenbp:1.3.3
org.tukaani:xz:1.5

View file

@ -108,8 +108,9 @@ com.googlecode.java-diff-utils:diffutils:1.3.0
com.googlecode.json-simple:json-simple:1.1.1
com.ibm.icu:icu4j:57.1
com.jcraft:jsch:0.1.53
com.squareup.okhttp3:okhttp:3.11.0
com.squareup.okhttp:okhttp:2.5.0
com.squareup.okio:okio:1.6.0
com.squareup.okio:okio:1.14.0
com.sun.istack:istack-commons-runtime:3.0.5
com.sun.xml.fastinfoset:FastInfoset:1.2.13
com.thoughtworks.paranamer:paranamer:2.7
@ -154,6 +155,7 @@ javax.xml.bind:jaxb-api:2.3.0
jline:jline:1.0
joda-time:joda-time:2.9.2
junit:junit:4.12
net.bytebuddy:byte-buddy:1.8.15
org.apache.avro:avro:1.8.2
org.apache.beam:beam-runners-direct-java:2.2.0
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.1.0
@ -163,6 +165,9 @@ org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.2.0
org.apache.beam:beam-sdks-java-extensions-protobuf:2.2.0
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.2.0
org.apache.commons:commons-compress:1.8.1
org.apache.commons:commons-exec:1.3
org.apache.commons:commons-lang3:3.8.1
org.apache.commons:commons-text:1.6
org.apache.ftpserver:ftplet-api:1.0.6
org.apache.ftpserver:ftpserver-core:1.0.6
org.apache.httpcomponents:httpclient:4.5.5
@ -201,6 +206,16 @@ org.ow2.asm:asm-commons:6.0
org.ow2.asm:asm-tree:6.0
org.ow2.asm:asm-util:6.0
org.ow2.asm:asm:6.0
org.seleniumhq.selenium:selenium-api:3.141.59
org.seleniumhq.selenium:selenium-chrome-driver:3.141.59
org.seleniumhq.selenium:selenium-edge-driver:3.141.59
org.seleniumhq.selenium:selenium-firefox-driver:3.141.59
org.seleniumhq.selenium:selenium-ie-driver:3.141.59
org.seleniumhq.selenium:selenium-java:3.141.59
org.seleniumhq.selenium:selenium-opera-driver:3.141.59
org.seleniumhq.selenium:selenium-remote-driver:3.141.59
org.seleniumhq.selenium:selenium-safari-driver:3.141.59
org.seleniumhq.selenium:selenium-support:3.141.59
org.slf4j:slf4j-api:1.7.25
org.threeten:threetenbp:1.3.3
org.tukaani:xz:1.5

View file

@ -108,8 +108,9 @@ com.googlecode.java-diff-utils:diffutils:1.3.0
com.googlecode.json-simple:json-simple:1.1.1
com.ibm.icu:icu4j:57.1
com.jcraft:jsch:0.1.53
com.squareup.okhttp3:okhttp:3.11.0
com.squareup.okhttp:okhttp:2.5.0
com.squareup.okio:okio:1.6.0
com.squareup.okio:okio:1.14.0
com.sun.istack:istack-commons-runtime:3.0.5
com.sun.xml.fastinfoset:FastInfoset:1.2.13
com.thoughtworks.paranamer:paranamer:2.7
@ -154,6 +155,7 @@ javax.xml.bind:jaxb-api:2.3.0
jline:jline:1.0
joda-time:joda-time:2.9.2
junit:junit:4.12
net.bytebuddy:byte-buddy:1.8.15
org.apache.avro:avro:1.8.2
org.apache.beam:beam-runners-direct-java:2.2.0
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.1.0
@ -163,6 +165,9 @@ org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.2.0
org.apache.beam:beam-sdks-java-extensions-protobuf:2.2.0
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.2.0
org.apache.commons:commons-compress:1.8.1
org.apache.commons:commons-exec:1.3
org.apache.commons:commons-lang3:3.8.1
org.apache.commons:commons-text:1.6
org.apache.ftpserver:ftplet-api:1.0.6
org.apache.ftpserver:ftpserver-core:1.0.6
org.apache.httpcomponents:httpclient:4.5.5
@ -201,6 +206,16 @@ org.ow2.asm:asm-commons:6.0
org.ow2.asm:asm-tree:6.0
org.ow2.asm:asm-util:6.0
org.ow2.asm:asm:6.0
org.seleniumhq.selenium:selenium-api:3.141.59
org.seleniumhq.selenium:selenium-chrome-driver:3.141.59
org.seleniumhq.selenium:selenium-edge-driver:3.141.59
org.seleniumhq.selenium:selenium-firefox-driver:3.141.59
org.seleniumhq.selenium:selenium-ie-driver:3.141.59
org.seleniumhq.selenium:selenium-java:3.141.59
org.seleniumhq.selenium:selenium-opera-driver:3.141.59
org.seleniumhq.selenium:selenium-remote-driver:3.141.59
org.seleniumhq.selenium:selenium-safari-driver:3.141.59
org.seleniumhq.selenium:selenium-support:3.141.59
org.slf4j:slf4j-api:1.7.25
org.threeten:threetenbp:1.3.3
org.tukaani:xz:1.5