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

Expand selenium test coverage for workflows. #3371

Merged
merged 4 commits into from Jan 8, 2017

Conversation

Projects
None yet
2 participants
@jmchilton
Copy link
Member

commented Dec 27, 2016

From commit description for b4d6bc0:

Expand and then break out workflow management tests into its own file since these aren't related to the workflow editor per se. Includes new tests of workflow "viewing" and "renaming".

Add a new file with a workflow running test case.

This includes a refactoring of some existing tests related to checking various things in the history panel - as part of building up good history panel abstractions. The previous constructs were ported fairly literally from older CasperJS tests. These abstractions therefore referred to everything has "hda"s instead of history items. The newer abstractions therefore allow for collections and are built around HIDs (a visual thing exposed to the user) instead of HDA IDs. I think this is higher-level and more appropriate for a web functional test.

Additionally, affb939 contains a re-arrangement of a lot of API test helper code so that it can be helper code for multiple kinds of tests - including Selenium. This was needed for quickly importing dynamic workflows for testing.

@bgruening

This comment has been minimized.

Copy link
Member

commented Dec 28, 2016

I really like this! Your testing work is impressive! Thanks John to care about this important piece of Galaxy!

@jmchilton jmchilton force-pushed the jmchilton:selenium_workflow branch 4 times, most recently from 3253ae8 to 7151329 Dec 29, 2016

@jmchilton

This comment has been minimized.

Copy link
Member Author

commented Jan 4, 2017

This has been rebased a few times over the last few days by me - it now contains Selenium tests for

  • Running workflows with tool upgrades - to ensure the warning message appears.
  • Editing workflows with tool upgrades - to ensure the warning message related to the version change appears.
  • Editing workflows with a tool state corrections - to ensure the message about restoring the default appears.
@jmchilton

This comment has been minimized.

Copy link
Member Author

commented Jan 6, 2017

@galaxybot test this

2 similar comments
@bgruening

This comment has been minimized.

Copy link
Member

commented Jan 7, 2017

@galaxybot test this

@bgruening

This comment has been minimized.

Copy link
Member

commented Jan 8, 2017

@galaxybot test this

@bgruening

This comment has been minimized.

Copy link
Member

commented Jan 8, 2017

@jmchilton any idea why these test do not start?

@jmchilton

This comment has been minimized.

Copy link
Member Author

commented Jan 8, 2017

@galaxybot test this

@jmchilton

This comment has been minimized.

Copy link
Member Author

commented Jan 8, 2017

@bgruening Not a clue - maybe it was overloaded earlier? There were some free slots and it seems to be running now though.

@bgruening

This comment has been minimized.

Copy link
Member

commented Jan 8, 2017

Overloaded can be, but I had hoped to see jobs queued in Jenkins. Soon @martenson will be back! :)

@bgruening

This comment has been minimized.

Copy link
Member

commented Jan 8, 2017

Ok, but now we need also a merge here, sorry.

jmchilton added some commits Dec 20, 2016

Expand selenium test coverage for workflows.
Expand and then break out workflow management tests into its own file since these aren't related to the workflow editor per se. Includes new tests of workflow "viewing" and "renaming".

Add a new file for testing workflow execution. This currently contains tests for simple execution with a single input and a test for running workflows with tool version upgrades.

This includes a refactoring of some existing tests related to checking various things in the history panel - as part of building up good history panel abstractions. The previous constructs were ported fairly literally from older CasperJS tests. These abstractions therefore referred to everything has "hda"s instead of history items. The newer abstractions therefore allow for collections and are built around HIDs (a visual thing exposed to the user) instead of HDA IDs. I think this is higher-level and more appropriate for a web functional test.

Rebase into workflow GUI tests.
Refactor API helpers for re-use in rest of test framework.
- Move api.helpers to base.populators.
- Refactor helper subclasses adapted to use bioblend instead of test framework stuff into base.populators for greater visibility.
- Refactor workflow format 2 testing stuff for reuse by Selenium.
Add ability to import workflows without Galaxy modifying tool version.
Needed to test workflow tool upgrades when loading workflows, but I think it is good to have a way to preserve the original tool state as well for the sake of absolute reproducibility/tracibility.
Capture page source and DOM of top-level frame on Selenium errors.
Dump to the same directory as the last screenshot related to the error.

@jmchilton jmchilton force-pushed the jmchilton:selenium_workflow branch from 7151329 to 78b099f Jan 8, 2017

@jmchilton

This comment has been minimized.

Copy link
Member Author

commented Jan 8, 2017

@bgruening No problem - I rebased to resolve the problem introduced with the merging of that jerk @jmchilton's PR.

@bgruening bgruening merged commit dcf3b21 into galaxyproject:dev Jan 8, 2017

4 checks passed

api test Build finished. 255 tests run, 0 skipped, 0 failed.
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
framework test Build finished. 133 tests run, 0 skipped, 0 failed.
Details
toolshed test Build finished. 580 tests run, 0 skipped, 0 failed.
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.