Galaxy: Expand Selenium Test Coverage

Created on 1 Dec 2016  路  7Comments  路  Source: galaxyproject/galaxy

https://github.com/galaxyproject/galaxy/pull/3239 introduces Selenium testing of the Galaxy GUI. It should be expanded to cover as much of the GUI as possible - starting with newer JavaScript stuff since it is less likely to radically change as we get rid of mako.

These could be implemented as Python tests or even as tours that walk through various aspects of this because tour testing is available. I'm starting with a flat list - but anyone should feel free to go in an expand things - add more details, add more things to test. The closer these are to filled out little stories (what the user does, what the user expects to see, etc...) the easier it will be to implement these.

  • [x] Various upload properties.
  • [ ] History operations over many datasets
  • [ ] Multi-history view

    • [x] Collection rendering.

    • [ ] Dataset rendering.

    • [x] Creating new history from this view (https://github.com/galaxyproject/galaxy/pull/9505)

    • [x] Switching/Copying (https://github.com/galaxyproject/galaxy/pull/9505) (https://github.com/galaxyproject/galaxy/pull/9527)

    • [x] Deleting/purging (https://github.com/galaxyproject/galaxy/pull/9505)

    • [ ] Retest a subset of history panel operations (multiple dataset operations, etc..)

  • [x] History pagination (https://github.com/jmchilton/galaxy/tree/paging)
  • [ ] Show structure of history.
  • [ ] Export history.
  • [ ] Export history citations.
  • [x] Creating Collections
  • [x] Navigating Collections
  • [ ] Tool favorites.
  • [ ] Tool Form:

    • [x] Simple run.

    • [x] Simple re-run.

    • [x] citations

    • [ ] Tool help rendering.

    • [ ] Rerun and replace values in collection.

    • [x] Rule Parameter

    • [ ] Color parameter

    • [ ] Drill down parameter

    • [ ] Integer and float parameters w/validation.

    • [ ] Using Collections in the tool form.

    • [ ] Multi-mapping in the tool form.

    • [ ] Boolean tool parameters.

  • [ ] Connecting nodes in the workflow editor.

    • [x] Simple.

    • [ ] Test collections connections.

    • [ ] Test collections mapping.

    • [ ] Test collections reduction.

    • [ ] Test invalid datatype rejected.

    • [ ] Test invalid collection connection.

    • [ ] Test simple input parameters.

    • [ ] Labelling outputs.

    • [ ] Labelling outputs must be unique.

    • [ ] Post job actions - rename.

    • [ ] Post job actions - delete.

    • [ ] Post job actions - email (at least show it is preserved)

  • [ ] Extracting workflows from histories.
  • [x] Running workflows (various options - run time parameters, etc...)
  • [ ] Invocation grid.

    • [ ] Progress bar.

    • [ ] See report.

    • [ ] Error handling.

  • [ ] Test Published:

    • [x] Histories

    • [ ] Workflow

    • [ ] Pages

  • [ ] Test Saved

    • [ ] Datasets

    • [x] Histories

    • [ ] Workflow

    • [ ] Pages

  • [ ] Jupyter (WIP)
  • [ ] Charts.
  • [ ] Data libraries (review the tests we have and current functionality and produce TODO list for this item)
  • [ ] user preferences

    • [x] Manage information https://github.com/galaxyproject/galaxy/pull/9355

    • [x] Change password (implemented already maybe -John ?) (https://github.com/galaxyproject/galaxy/pull/9521)

    • [ ] Set dataset permissions for new histories

    • [ ] Make all data private

    • [x] Manage API key (#9820)

    • [ ] Manage Cloud Authorization

    • [ ] Manage Toolbox filters (#9782)

    • [x] Manage custom builds

    • [x] ~Request GenomeSpace token~ (deprecated to be removed)

    • [x] Sign out

  • [ ] Admin Interface

    • [ ] Jobs page: (#7790 #9618)

    • [ ] Dependency grid (#8741 #9618)

    • [ ] Container grid (#8741 #9618 #9728)

    • [ ] Tool Shed Client (#9628)



      • [x] Search


      • [x] Install


      • [x] Uninstall


      • [ ] Upgrade



  • [ ] Anonymous User:

    • [x] Landing.

    • [x] Upload.

    • [ ] Tool execution.

    • [ ] Access to library, workflow, pages, published objects etc.. (some allowed some, some not)

areUI-UX aretesting help wanted

All 7 comments

Hello,
my name is Maximilian Greil. I already wrote in the galaxy-dev mailing list that I would like to contribute to the Galaxy project. I already contributed to the Biopython project where I wrote some unittests.
Can I help with this issue by writing some missing tests? What would be a good galaxy module to start with?
Kind regards,
Max

@MaxGreil So this ticket covers Selenium tests - which are tests that use Selenium to drive a web browser and exercise the GUI. They are harder than most Galaxy tests to setup because they require getting this interaction between Selenium and Galaxy correct (there is a Docker compose setup that works and is used by Jenkins - but it is relatively slow).

If you'd rather just get familiar with Galaxy - I'd suggest writing some API tests. These are easier to run. I could recommend some API tests to write and outline an approach for that if you wish. If you really in automated browser tests instead I can recommend something related to that also - let me know.

@jmchilton thank you for your quick response. I am sorry that I misread/-understood the the title of this issue.
I would like to get more familiar with galaxy first - are there any open issues for writing some API tests or could you recommend me some API tests to write?
Thanks in advance

I'd suggest to create subsections under "user preferences" and move "Custom builds" there .

Namely:

  • [ ] user preferences

    • [ ] Manage information https://github.com/galaxyproject/galaxy/pull/9355

    • [ ] Change password

    • [ ] Set dataset permissions for new histories

    • [ ] Make all data private

    • [ ] Manage API key

    • [ ] Manage Cloud Authorization

    • [ ] Manage Toolbox filters

    • [x] Manage custom builds

    • [ ] Request GenomeSpace token

    • [ ] Sign out

Updated the list - thanks so much @OlegZharkov

Thanks @jmchilton.
Can you please update issue with

  • [ ] Multi-history view

    • [ ] Dataset rendering.

    • [ ] Retest a subset of history panel operations (multiple dataset operations, etc..)

    • https://github.com/galaxyproject/galaxy/pull/9505

    • [x] Creating new history from this view.

    • [x] Switching.

    • [x] Copying.

    • [x] Deleting/purging.

and

@OlegZharkov I updated the list. Please ping @davebx or me to update this list. Thanks.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

afgane picture afgane  路  4Comments

mvdbeek picture mvdbeek  路  3Comments

jmchilton picture jmchilton  路  4Comments

tnabtaf picture tnabtaf  路  4Comments

mvdbeek picture mvdbeek  路  4Comments