Commit Graph
207 Commits
Author SHA1 Message Date
John Chilton 580811d740 Potential fix for transiently failing Selenium published histories test.
The the [latest Selenium test execution](https://jenkins.galaxyproject.org/job/selenium/212/testReport/) most of the published histories tests failed. It looks like this is because of the three histories that were supposed to be published, only 2 were actually published. My best guess for what happeend was that the click of the button to publish the history occurred but the next Selenium command happened so quickly that the page had not gotten a chance to respond to the click. This tweaked approach to publishing histories ensures we stay on the page until the "unpublish" link appears - this will either fix the problem or rule this theory out as the explanation.
2017-09-05 14:48:30 -04:00
mvdbeek 2541928855 Revert "Remove Selenium test that is broken because Galaxy is broken."
This reverts commit a91c03d440.
2017-09-05 18:46:13 +02:00
John Chilton a91c03d440 Remove Selenium test that is broken because Galaxy is broken.
See (https://github.com/galaxyproject/galaxy/issues/4548) for more information on the underlying issue.
2017-09-04 21:30:00 -04:00
John Chilton ebcb4aa623 Possible fix for a transient failure in the published histories grid tests.
See failure here (https://jenkins.galaxyproject.org/job/selenium/210/testReport/selenium_tests.test_published_histories_grid/HistoryGridTestCase/test_history_grid_sort_by_owner/).

Uses technique to retry atomic assertions that may not be immediately true but will settle as the DOM is updated in response to changes to be true (added in https://github.com/galaxyproject/galaxy/commit/d0df3886fa7acaa3d5f63360e2af78aab2deaaaa).
2017-09-04 21:21:20 -04:00
Björn Grüning b2ceef5b6c Merge pull request #4536 from jmchilton/test_refactoring
Refactor test modules toward cleaner dependencies
2017-09-03 21:41:32 +02:00
Evgeny Anatskiy a1e79b13e1 add the first test 2017-09-03 19:04:33 +02:00
Björn Grüning ea9f5f7eb2 Merge pull request #4524 from jmchilton/selenium_fixes_16
Fix workflow run Selenium test and make it more robust.
2017-09-03 16:25:35 +02:00
John Chilton 259e12d760 Continue separation of FunctionalTestCase from TwillTestCase.
Move non-twill stuff out into its own module including FunctionalTestCase.
2017-09-01 12:30:07 -04:00
John Chilton d0df3886fa More workflow index page Selenium tests.
- Fix rename test for recent change to using alert.
- Test basic adding a tag.
- Outline of a test for downloading workflows.
- Add test for publishing display on index.
- Add test for using the search box on the workflow index page.
2017-09-01 11:54:48 -04:00
John Chilton 354ce19677 Fix workflow run Selenium test and make it more robust.
This test went from transiently broken to always broken during this release cycle. This PR makes two changes to try to fix both of those conditions. It correct the frame and button Selector for the new workflow run UX for the newer error and this allows explicitly refreshing the browser when waiting for datasets to appear to deal with the transient problems.
2017-08-31 21:23:56 -04:00
Martin Cech 9fb78b1010 Merge pull request #4531 from jmchilton/selenium_fixes_17
Another fix for Selenium worklow tests.
2017-08-31 21:11:02 -04:00
Björn Grüning d09ced249d Merge pull request #4523 from jmchilton/selenium_fixes_15
Selenium test fixes and improvements.
2017-08-31 16:47:24 +02:00
John Chilton a85d65c6a2 Another fix for Selenium worklow tests.
This time for the workflow upgrade message test, mirrors the fix in #4524 - the content we are searching for in on this page is no longer in the iframe.
2017-08-31 09:09:33 -04:00
John Chilton f35fed2935 Improve setting up Sizzle for Selenium tests.
Something releated to AMD broke our way of injecting Sizzle into Galaxy for Selenium tests. This is a much better way that seems to work - just use jQuery ($) as Sizzle if it is available. Avoids an external dependency and another page fetch per test as well as fixing the problem.

Add a test case that just tests the sizzle stuff works on its own. It will be a clear indiciation what is broken if there are related regressions in the future.
2017-08-30 14:07:55 -04:00
John Chilton 43fd81df59 More logging for selenium tests.
Dumb the browser log and the driver log out as JSON to the test error directory for that test.
2017-08-30 13:59:28 -04:00
John Chilton a464fe9db6 Rework published histories selenium test a bit.
- Wait for elements to be clickable before clicking them.
- Allow individual tests to be run on their own and out of order.
- Use randomly generated emails - the tests still can't really be applied to an external Galaxy test server but this gets us closer.
2017-08-29 18:08:18 +02:00
Evgeny Anatskiy 773029bd36 fix flake8 issues 2017-08-28 12:12:18 +02:00
Evgeny Anatskiy 2dda34a002 rename the file 2017-08-26 14:27:23 +02:00
Evgeny Anatskiy da1518db48 set annotations 2017-08-26 14:24:23 +02:00
Evgeny Anatskiy 2f547b0973 small improvements 2017-08-26 13:50:21 +02:00
Evgeny Anatskiy 2403916c7b test clicking tags 2017-08-26 13:17:05 +02:00
Evgeny Anatskiy 72195e14ba [WIP]: add advanced search tests 2017-08-25 22:54:15 +02:00
Evgeny Anatskiy 0e1cbc09f8 add 'sort by name/owner' tests 2017-08-23 21:11:22 +02:00
Evgeny Anatskiy b664f26aa0 add standard search test 2017-08-23 20:28:26 +02:00
Evgeny Anatskiy eefc268eae add the first test: history grid 2017-08-23 13:46:54 +02:00
Nicola Soranzo 21b44bf348 Fix all E201 and E202 style errors
using the following command:
```
autopep8 -i -r --exclude $(sed -e 's|^|./|' -e 's|/$||' .ci/flake8_blacklist.txt | paste -sd,) --select E201,E202 .
```
2017-08-17 11:35:39 +01:00
anuprulez e74653feac Merging with dev 2017-05-11 17:11:40 +02:00
John Chilton a8ddd73ab4 Reset Selenium test connection between test retries.
Otherwise the state of one test can affect the next attempt.
2017-05-11 09:57:46 -04:00
John Chilton c76c588ed1 Fix Selenium test cases for JavaScript-izing workflow management. 2017-05-11 09:35:14 -04:00
Dannon Baker baa85bf788 Merge pull request #4042 from jmchilton/selenium_fixes_12
One more fix for main_panel fix in #3992.
2017-05-08 16:16:10 -04:00
John Chilton 5ba5e8a85f One more fix for main_panel fix in #3992.
See #4003 / d09ba53c8e for similar fix to other tests and more information.
2017-05-08 12:08:24 -04:00
John Chilton d09ba53c8e Fix handling main_panel switching in various Selenium tests.
PR #3992 fixed "with self.main_panel()" so that leaving the context actually restore the Selenium context back to the top level page. This surfaced a bunch of bugs related to assertions that were operating in the main panel without declaring it. This fixes those and makes the assertions a bit stronger - such as verifying error messages being asserted about are visible.
2017-05-01 23:34:22 -04:00
Björn Grüning 7b385c2b84 Merge pull request #3992 from jmchilton/selenium_fixes_9
Fixes for Selenium workflow run test case.
2017-05-01 14:24:40 +02:00
John Chilton 85a9b37d80 Setup framework for retrying failed Selenium tests.
- By default this won't occur locally, but you can set GALAXY_TEST_SELENIUM_RETRIES to a non-zero number to enable auto retrying tests that many times.
- Capture the stack trace in the Selenium test error report directory - this will be useful for debugging problems that may fail once but pass on a subsequence attempt. Jenkins now captures these directories and includes their content in the test reports.
- Document the Selenium test error report directory in run_tests.sh as well as this new retry variable.
- Update the Jenkins test script to set this new variable to 1 so transient failures break the build much less frequently.
2017-04-28 10:21:06 -04:00
John Chilton a26991b2a8 Selenium workflow run test case fix.
The ``with self.main_panel():`` construct wasn't cleaning up properly - I've fixed this and eliminated the terrible workarounds in the execution test case that I guess I had added trying to figure out how to make things work. It should be more stable now. (This test case has been failing 1 out 9 times I'd say.)
2017-04-28 09:49:27 -04:00
John Chilton 606c32998f Allow upload to collections.
- New upload tab for "Collections".
  - This has a new option to select "Collection Type" in footer.
  - Collection upload geared toward homogeneous datasets - must specify genome and file format for all files.
  - New button "Build" after all individual datasets have finished their upload to the server.
  - Clicking "Build" launches the appropriate collection builder for selected collection type.
  - By default, uploading a collection hides the original uploaded datasets (can be unchecked).

Implement tests for all uploaded collection types.
2017-03-28 09:31:26 -04:00
John Chilton 82ca6931c0 More test cases for collection builders.
- Add test case for building paired lists.
- Add tests for new hide original datasets functionality for lists and paired lists.
2017-03-24 10:07:58 -04:00
John Chilton 3d13a2bb4f Fix transiently failing Selenium test of tool form re-running.
Reworks addition of staleness checkers introduced in #3780.
2017-03-24 10:06:42 -04:00
John Chilton d270a21908 Allow non-ready jobs in collection builder.
This includes two parallel changes to the Selenium tests.

- It adds a decorator to allow retrying certain atomic actions that may occur during jQuery transitions automatically.
- It refactors things to allow waiting on HIDs to become visible instead of just green.
2017-03-24 10:06:32 -04:00
John Chilton 0ced044897 Flush out upload tests for Selenium.
- Use newer abstraction in the simplest upload test - verify the default extension (auto -> sam) and dbkey (?) also.
- Add a test case that explicitly sets the extension of an upload and verifies.
- Add a test case that explicitly sets a genome and verifies.
- Add a test case that tests setting ext for all uploads and verifies.
- Add a test case that tests setting genome for all uploads and verifies.
2017-03-23 10:25:59 -04:00
John Chilton 5704013301 Implement initial collection builder UX test cases.
Exercise list and paired builder's most basic functionality.
2017-03-06 09:47:37 -05:00
John Chilton 2e787394cc Disable transiently failing tour test.
See code comment for more information - I am tracking the issue here https://github.com/galaxyproject/galaxy/issues/3598. I think it is important to resolve that test and fix the usability problems with current tours but I'd like to get the Selenium tests stable and testing against new PRs first.
2017-02-12 10:30:13 -05:00
Martin Cech 66a24c8830 Merge pull request #3587 from jmchilton/selenium_fixes
Fix transiently failing Selenium upload test.
2017-02-10 13:16:50 -05:00
John Chilton 1922d50f90 Increase patience of Galaxy tests throughout.
This should help reduce various API and Selenium transient failures.
2017-02-10 10:39:27 -05:00
John Chilton 812ad3af18 Fix transiently failing Selenium upload test. 2017-02-10 09:29:21 -05:00
John Chilton ebfd740025 Fix selenium workflow tests broken with #3181. 2017-01-27 10:10:56 -05:00
John Chilton 1af1583caa Fix various transiently failing Selenium tests.
I'm pretty sure the problem is that I was waiting on conditions (e.g. datasets to become "ok") using the API and then assuming the state of the GUI elements was the same. Obviously though the GUI is polling the API and there is some lag there. This commit changes things to specifically wait on history panel GUI changes - obviously the better thing to wait on in a GUI test.
2017-01-19 10:22:20 -05:00
John Chilton e1612d24ea Update URL used by Selenium tests that changed with a recent commit. 2017-01-17 13:39:19 -05:00
John Chilton 6fdd0014d3 Remove debugging "assert False" in workflow editor test. 2017-01-17 13:39:19 -05:00
John Chilton 7f62eb0c83 Fix history sharing test broken with #3417. 2017-01-17 13:39:19 -05:00