Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

User Story #11088 (closed)

Opened 11 years ago

Closed 10 years ago

Investigate GUI automated testing

Reported by: mtbcarroll Owned by: jburel
Priority: minor Milestone: OMERO-4.4.x
Component: General Keywords: n.a.
Cc: omero-team@… Story Points: n.a.
Sprint: n.a. Importance: n.a.
Total Remaining Time: 0.0d Estimated Remaining Time: n.a.

Description

It would be good to promptly detect when a PR breaks something. Petr's test scenarios are very helpful but they also consume much of his valuable time in execution; it's especially difficult to notice when we broke something we didn't think of, because applications like Insight are complex and featureful so it would take a large team to frequently test everything.

Perhaps a review of some of the offerings on pages like http://java-source.net/open-source/testing-tools and https://github.com/demetriusnunes/swinger for Insight and similar stuff for web would be well worth it if we can find a tenable way to automate the testing of Petr's scenarios.

Change History (12)

comment:1 Changed 11 years ago by jburel

I have tested various tools e.g. Maveryx Abbot Java GUI , marathon

Last edited 11 years ago by jburel (previous) (diff)

comment:2 Changed 11 years ago by jburel

comment:3 Changed 11 years ago by mtbcarroll

I wonder if this ticket should be split up into Java/Swing and Web/Django branches.

My immediate plan for Insight is to take a look at Jacareto, Marathon, Maveryx, Robot Framework (Swing Library), and to work with Petr in getting some scenario running with the least appalling of them.

comment:4 Changed 11 years ago by jamoore

mtbc: Almost certainly. Will and Carlos will likely need/want to setup a parallel story.

comment:5 Changed 11 years ago by jburel

  • Type changed from Task to User Story

Turning it into a story. see #4452

comment:6 Changed 11 years ago by jburel

One good example (we had issue with that):

  • Select an item in the data manager.
  • Check that the options of the right click menu are enabled or not depending on the selected item(s).
Last edited 11 years ago by jburel (previous) (diff)

comment:7 Changed 11 years ago by agilo

  • Status changed from new to accepted

Updated status, related task in progress

comment:8 Changed 11 years ago by jburel

We have decided to move forward with the Robot Framework on the Java front.
I had a closer look at the selenium library for Robot Framework (pointed by Mark). This seems promising, easy for example:

  • to run the selenium tests using the text file used by the framework
  • to configure browser to test against (tested with firefox and safari for example)

The advantage there will be that we could use, when applicable, the same files to test insight or web. This could also reduce the time spent writing the tests and also help validating the UI unification, only one thing to learn etc.

Next step is to investigate in the context of the web client and see how we can exclude some sections of a test when not applicable to a client
I am also hopeful that we could re-use some of the files for testing the CLI client too.

comment:9 Changed 11 years ago by jburel

To test the CLI client, we can use the OperatingSystem Library for Robot Framework. Several Run like methods can be used.
Follow to example test cases

*** Test Cases ***


Valid Login
    Login
    Logout

Import
    Login
    Run  ${LOCATION}/${COMMAND} import a.jpg 2>test.txt
    Logout

where Login and Logout are 2 created keyword using the run method.
In the example the output or the command is written in a local file text.txt, could be any file e.g. a test.log we wish to check stored.
The output of the Import test case is for example.

Using session 473dd378-0756-4f2f-91c9-179c6dea30f5 (root@localhost:4064). Idle timeout: 10.0 min. Current group: system
2013-08-12 17:06:21,781 0          [      main] INFO          ome.formats.importer.ImportConfig  - OMERO Version: 4.4.8-DEV-ice34
2013-08-12 17:06:21,785 4          [      main] INFO          ome.formats.importer.ImportConfig  - Bioformats version: 4.4.9-DEV revision: bcb65a7 date: 12 August 2013
2013-08-12 17:06:21,799 18         [      main] INFO   formats.importer.cli.CommandLineImporter  - Log levels -- Bio-Formats: ERROR OMERO.importer: INFO
2013-08-12 17:06:22,326 545        [      main] INFO      ome.formats.importer.ImportCandidates  - Depth: 4 Metadata Level: MINIMUM
2013-08-12 17:06:22,835 1054       [      main] INFO      ome.formats.importer.ImportCandidates  - 1 file(s) parsed into 1 group(s) with 1 call(s) to setId in 506ms. (509ms total) [0 unknowns]
2013-08-12 17:06:22,891 1110       [      main] ERROR                   ome.system.UpgradeCheck  - Error reading from url: http://upgrade.openmicroscopy.org.uk?version=4.4.8-DEV-ice34;os.name=Mac+OS+X;os.arch=x86_64;os.version=10.8.4;java.runtime.version=1.6.0_51-b11-457-11M4509;java.vm.vendor=Apple+Inc. "Server returned HTTP response code: 400 for URL: http://upgrade.openmicroscopy.org.uk?version=4.4.8-DEV-ice34;os.name=Mac+OS+X;os.arch=x86_64;os.version=10.8.4;java.runtime.version=1.6.0_51-b11-457-11M4509;java.vm.vendor=Apple+Inc."
2013-08-12 17:06:23,118 1337       [      main] INFO       ome.formats.OMEROMetadataStoreClient  - Attempting initial SSL connection to localhost:4064
2013-08-12 17:06:23,951 2170       [      main] INFO       ome.formats.OMEROMetadataStoreClient  - Insecure connection requested, falling back
2013-08-12 17:06:34,936 13155      [      main] INFO       ome.formats.OMEROMetadataStoreClient  - Server: 4.4.8
2013-08-12 17:06:34,936 13155      [      main] INFO       ome.formats.OMEROMetadataStoreClient  - Client: 4.4.8-DEV-ice34
2013-08-12 17:06:34,936 13155      [      main] INFO       ome.formats.OMEROMetadataStoreClient  - Java Version: 1.6.0_51
2013-08-12 17:06:34,936 13155      [      main] INFO       ome.formats.OMEROMetadataStoreClient  - OS Name: Mac OS X
2013-08-12 17:06:34,936 13155      [      main] INFO       ome.formats.OMEROMetadataStoreClient  - OS Arch: x86_64
2013-08-12 17:06:34,936 13155      [      main] INFO       ome.formats.OMEROMetadataStoreClient  - OS Version: 10.8.4
2013-08-12 17:06:36,172 14391      [      main] INFO         ome.formats.importer.ImportLibrary  - File format: JPEG
2013-08-12 17:06:36,173 14392      [      main] INFO         ome.formats.importer.ImportLibrary  - Base reader: loci.formats.in.JPEGReader
2013-08-12 17:06:36,173 14392      [      main] INFO         ome.formats.importer.ImportLibrary  - Metadata only import? false
2013-08-12 17:06:36,173 14392      [      main] INFO         ome.formats.importer.ImportLibrary  - Archiving enabled? false
2013-08-12 17:06:36,173 14392      [      main] INFO         ome.formats.importer.ImportLibrary  - Container metadata only import? false
2013-08-12 17:06:36,173 14392      [      main] INFO         ome.formats.importer.ImportLibrary  - Reader is not of HCS domain, use metafile: true
2013-08-12 17:06:38,902 17121      [      main] INFO   ormats.importer.cli.LoggingImportMonitor  - IMPORT_DONE
Imported pixels:
2013-08-12 17:06:38,902 17121      [      main] INFO      ome.formats.importer.cli.ErrorHandler  - Number of errors: 0

comment:10 Changed 11 years ago by jburel

Conclusion: we should be able to use the RobotFramework to test insight, web and CLI.
It seems also possible to store the result of the run into MySQL. I will investigate that further

comment:11 Changed 11 years ago by mtbcarroll

The work on #4452 and #11210 is being done so as to try to write similar Robot Framework scripts for both Web and Insight. As well as easing the script maintenance burden, this should usefully highlight remaining differences between the UIs, which should then be noted in the UX/RFE documentation.

Last edited 11 years ago by mtbcarroll (previous) (diff)

comment:12 Changed 10 years ago by jburel

  • Resolution set to fixed
  • Status changed from accepted to closed
Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.90843 sec.)

We're Hiring!