-
Notifications
You must be signed in to change notification settings - Fork 229
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
Explore ATH run against containerized selenium #556
Explore ATH run against containerized selenium #556
Conversation
@jenkinsci/code-reviewers && @jglick, please have a look. Mainly at the documentation part: https://github.com/olivergondza/acceptance-test-harness/blob/prototype-containerized-selenium/docs/EXTERNAL.md (note the example repositories do not have the change merged jet) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice job @olivergondza!!
return "Kill and remove selenium container"; | ||
} | ||
}; | ||
Thread.sleep(3000); // Give the container and selenium some time to spawn |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems a bit fragile. Isn't there a way to check if the container fully started? Maybe checking some logs entries?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another way is to poll for a 200 response for up to some time. That will save some time if it's faster than 3000
At one point @oleg-nenashev had been playing with related stuff. |
Thanks for the reviews so far. I will proceed with integrating this by the end of the week provided there is no negative feedback. |
I tried to follow your example for the warnings plugin. I copied the tests to a new module and started them, but the tests do not start up due to an exception. I downloaded the kerberos plugin and here I also get the same exception:
Is macOS not supported for these kind of tests? ATH is running fine on macOS though. |
@uhafner, good point, i have not kept macos in mind. I suppose native host networking will never work on macos and win so we probably have to rethink that. (This depend on native host networking as the browser inside container needs to be able to access Jenkins running on the host) |
FWIW I find it more straightforward to just run |
@jglick, wrapping Jenkins to a container (too) has a problem that it needs to reach to
So yeah, this is something to explore. |
I see. I can run the tests locally on macOS using the standard mechanism (e.g. JUT server), that works even from IntelliJ. During the CI build of my plugin I can switch to your new approach... |
@uhafner, that might be the simplest way to go on Mac. Note just changing the variable from |
FWIW I was not proposing any of these things. Rather, moving the entire |
Permit ATH to utilize selenium containers to host browser, driver and selenium server. This si tangential to what ath-container do, but it integrates nicely with
buildPlugin
.This is intended to be a way to use ATH from plugins source code.
Downstream PRs: