Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Java chrome dev tools add performance api #1

Merged
merged 306 commits into from
May 15, 2019

Conversation

dratler
Copy link
Collaborator

@dratler dratler commented May 15, 2019

barancev and others added 30 commits March 27, 2019 00:13
Our `NetworkUtils` returns the first public address it finds
in its list of NICs. This is normally fine, but there's no
guarantee that the first address found is actually routeable
or the default address of the machine. That means that
anyone doing a look up of the address by host name may not be
able to connect to the machine.

Resolve this problem by attempting to ensure that the first
NIC we return in our list of NICs is the default one.
… test

When using the OSS protocol dialect, ChromeDriver does not handle unexpected
alerts encountered when executing async JavaScript. If the alerts tests
are enabled, many remaining tests fail because the alert is left active.
The tests are still enabled, because when ChromeDriver uses the W3C protocol
dialect, the alerts are properly handled. The addition of the attribute on
the test class is to ensure that when running with the legacy OSS protocol
dialect, that those cascading failures are eliminated. The attribute can
be removed once ChromeDriver fully supports the W3C dialect and has made that
dialect the default.s
Chrome WebDriver initializer modifies incoming options
for driver. Ruby's "good practices" generally boil down to not mutating data you don't own.
This sets the stage for us pulling the OSS dialect out
into a legacy package without us breaking the java
module system's rules on split packages.
It should be possible to start Grid TNG using a module-path.
This implementation does simple delegation to the OkHttp
library, but is sympathetic to an implementation based
on Java 11's WebSocket class.
This currently always assumes that it's possible to
make a direct connection to the CDP host, which may
not always be true.
It has been announced that OpenTracing and OpenCensus will be merging to
create a unified API.

https://medium.com/opentracing/merging-opentracing-and-opencensus-f0fe9c7ca6f0

This merged API has the goal of supporting both extant distributed tracing
APIs, so rather than support both, we can standardise on one. I strongly
suspect that the ultimate API will look a lot like OpenCensus, but right
now OpenTracing is more widely adopted, and so that's the underlying API
we shall use.
Introducing JavaScriptException, MoveTargetOutOfBoundsException, and
WebDriverArgumentException. These all descend from WebDriverException,
but having these distinct exception types allows users to better
distinguish between differing error conditions.
jleyba and others added 29 commits May 2, 2019 16:29
Previously, the webserver target would clobber the webserver directory
in the runfiles tree, and we wouldn't have access to webserver/keystore
at runtime.
on startup. This is not ideal with bazel since we're still sorting
out build rules and the data dependencies haven't been nailed down.

As a quick fix to move forward, introduce a system property to
ignore the missing JS roots:
    -Dorg.openqa.selenium.environment.webserver.ignoreMissingJsRoots=true

The server will still crash if it cannot find common/src/web, as
those dependencies are critical for the selenium test suite.
We don't really need to start its connection. Closes SeleniumHQ#7158
This allows to share a logic for setting default headers (e.g User-Agent)
and any additional processing required to make HTTP requests.

Closes SeleniumHQ#6662
The BenderProxy project is nothing more than a renamed and properly
packaged version of the FryProxy fork we were using previously.
Attempts to contact the owner of FryProxy through multiple channels
concerning incorporating the dependency removal changes we require,
so the fork has now been reversioned and published under another
name. The package has been published to NuGet, as Bazel does not
currently handle checked-in dependencies.
This target will run the tests in the Bazel build environment. At
present, the tests run against Chrome. A future commit will enable
executing tests against any of the supported browser configurations.
In case the user is trying to build the entire project using `./go build`
or trying to build the standalone-server. The builds were failing with
the below exception :

BUILD FAILED: The rule //java/client/test/org/openqa/selenium/remote:common-tests
could not be found.

This was caused because the tasks in the Rakefile were still referring to
"common-tests" task instead of the new "small-tests"
It doesn't play nicely with IEDriverServer which responds with text/html
content-type, while client only supports application/json

Basically reverts 8389311 while ensuring that default headers are used
so that User-Agent is set properly
All of java/client/src should build with bazel.
The java/client/test tree is a work in progress.

Running tests is the current bottleneck as anything that tries
to start a browser crashes due to the bazel sandbox:

My latest results for `bazel test java/client/test/...`:

//java/client/test/org/openqa/selenium/atoms:CompiledAtomsNotLeakingTest (cached) PASSED in 0.3s
//java/client/test/org/openqa/selenium/atoms:InputAtomsTest     (cached) PASSED in 0.4s
//java/client/test/org/openqa/selenium/io:CircularOutputStreamTest (cached) PASSED in 0.7s
//java/client/test/org/openqa/selenium/io:FileHandlerTest       (cached) PASSED in 0.7s
//java/client/test/org/openqa/selenium/io:TemporaryFilesystemTest (cached) PASSED in 0.7s
//java/client/test/org/openqa/selenium/io:ZipTest               (cached) PASSED in 0.7s
//java/client/test/org/openqa/selenium/net:LinuxEphemeralPortRangeDetectorTest (cached) PASSED in 0.4s
//java/client/test/org/openqa/selenium/net:NetworkUtilsTest     (cached) PASSED in 0.4s
//java/client/test/org/openqa/selenium/net:UrlCheckerTest       (cached) PASSED in 1.1s
//java/client/test/org/openqa/selenium/os:CommandLineTest       (cached) PASSED in 3.0s
//java/client/test/org/openqa/selenium/support:small-tests      (cached) PASSED in 2.5s
//java/client/test/org/openqa/selenium/testing:IgnoreComparatorUnitTest (cached) PASSED in 0.7s
//java/client/test/org/openqa/selenium/support:large-tests               FAILED in 12.2s
It was released from rb-3.x branch
The W3C WebDriver Specification does not recognize any property in the
payload for the new session command other than "capabilities". The IE
driver has long supported the presence of "desiredCapabilities" as a
fallback for older, obsolete language bindings. Now that we are in the
process of creating the Selenium 4.0 language bindings, this legacy
compatibility should no longer be necessary.

Also, this commit includes some long-overdue code formatting for the
new session command handler. These changes are cosmetic only, and
do not alter functionality.
@adiohana adiohana merged commit 75c7f87 into master May 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.