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

Another round of small Selenium fixes. #4676

Merged
merged 8 commits into from Sep 23, 2017

Conversation

Projects
None yet
2 participants
@jmchilton
Member

jmchilton commented Sep 22, 2017

So last night we had like 12 straight Selenium test suite runs pass - and some of them ran without triggering the automatic retry of failed tests. Many did require a retry however - I went through all of the retries and I came up with solid attempts to fix every problem but one. See individual commits for explanations as well as links to the failures for most of the commits.

jmchilton added some commits Sep 22, 2017

Selenium - catch popups fading out as transitions to retry various ac…
…tions on.

Previously we only detected transitions for retrying actions based on stale element exceptions, this expands that to include popups that may be fading out for instance.

I think this is what is happening with the transiently failing test here https://jenkins.galaxyproject.org/job/selenium/528/artifact/528-test-errors/test_save_as2017092203291506065342/stacktrace.txt. The exception indicates that a click was not clickable because a modal element that was fading out - though it had been previously clickable. I think this should fix that.
Selenium - more robust inline searching for published histories grid.
Refactor recent search improvement for workflow management into a method that can be shared with published histories grid. Should address the transient failure test here:

https://jenkins.galaxyproject.org/job/selenium/521/artifact/521-test-errors/test_history_grid_search_standard2017092120151506039303/stacktrace.txt
Selenium - more robust modal checking in test_workflow_editor.
During this transient failure:

https://jenkins.galaxyproject.org/job/selenium/519/artifact/519-test-errors/test_missing_tools2017092118271506032874/stacktrace.txt

the workflow was still loading when an assertion about the resulting modal text was issued. Avoiding the arbitrary sleep and instead just retrying the assertion until it holds true or times out is more robust and should prevent that.
Fix selenium test retrying of tests in test_saved_histories.
The automatic retrying of tests only runs for methods - not for the full test case (if that makes sense) - so setUp() isn't rerun. By refactoring the login action out of the setUp method and into the test function for these cases - when the test is retried the user should be logged back in again as well.
@jmchilton

This comment has been minimized.

Member

jmchilton commented Sep 22, 2017

These are atomic commits for the most part and I can break them 7 commits into 6 PRs if that would be preferred - just let me know.

@jmchilton

This comment has been minimized.

Member

jmchilton commented Sep 22, 2017

Thanks for lint fix @martenson !

@martenson martenson merged commit 9e42591 into galaxyproject:dev Sep 23, 2017

6 checks passed

api test Build finished. 292 tests run, 4 skipped, 0 failed.
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
framework test Build finished. 161 tests run, 0 skipped, 0 failed.
Details
integration test Build finished. 46 tests run, 0 skipped, 0 failed.
Details
lgtm analysis: JavaScript No alert changes
Details
toolshed test Build finished. 579 tests run, 0 skipped, 0 failed.
Details
@jmchilton

This comment has been minimized.

Member

jmchilton commented Sep 23, 2017

Thanks for the merge!

@martenson martenson deleted the jmchilton:selenium_fixes_33 branch Jan 12, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment