-
Notifications
You must be signed in to change notification settings - Fork 6
Automated Testing FAQ's
-
Page being automatically reloaded during test ? I am writing test for recordset in Chaise. But after page is loaded, the address bar is updated with extra “/” after “#”.So the original url
http://…/#1234/schema:table
which becomeshttp://…/#/1234/schema:table
, and that causes app to throw error.This issue has been documented here. It happens because of the default angular routing. Protractor depends on it. We are not using the default angular routing in Chaise and Protractor tries to use that when we are changing the location using
browser.get
. For now you just want to get rid of the explicit routing that has been added in your apps as seen here.
-
There are errors with the import module 'ermrest-data-utils' importing schemas in the test
This is mostly because of some changes in the
ermrest-data-utils
module. Just update it using commandnpm update ermrest-data-utils
-
Test Failed: "defer.fulfill" is not a function
This is mostyl because of a newer version of the promise library Q. We have fixed the version to
^1.4.1
. If you face issues with any other modules, just try to fix their version numbers in thepackage.json
to the last stable version.
-
Installation issues: saying selenium not found or unable to run tests because of selenium issue or some other module issue
The best way to tackle this is deleting your
node_modules
folder and reinstall all dependencies. Once you're done deleting the folder, runsudo make deps
. This command will install all possible dependencies defined in thepackage.json
and update your selenium-driver.
-
Error while clicking a button, saying unable to find element/element is not clickable ?
Most of the times when you're trying to look for an element which is rendered as a result of some AJAX or asynchronous operation, you should either wait for it to be rendered or add a delay. Waiting for an element to be visible with a timeout is stable and achievable. This can be done using
browser.wait
and can be seen in action here
- ACLs In ERMrestJS and Chaise
- Facet Examples
- Facets JSON Structure
- Logging
- Model Annotation
- Model-based Logic and Heuristics
- Preformat Annotation Guide
- Export Annotation Guide
- Pseudo-Column Logic & Heuristics
- Table Alternatives
- Intro to Docker
- Chaise Dev Guide
- Dev Onboarding
- ERMrest 101
- ERMrest Howto
- ERMrestJS Dev Guide
- Extend Javascript Array
- Custom CSS guide
- Towards a style guide