blockstack-browser
blockstack-browser copied to clipboard
Blocktack Browser test refactored in Serenity
The Blockstack browser E2E test have been refactored to run in serenity. The change should help reduce flakey test errors and make the test suite more stable. I am still finalizing CI test integration.
@yknl
iphone 11 seems to be working but iphone 8 iOS 11 has intermittent errors with a few parts of blockstack browser. Here are some of the issues in iphone 8 causing the test to timeout, in this video you will see an infinite spinner. There are also occasions when the blank error page displays as well.
This issue actually seems to have been causing errors on the Master branch with the original test. https://circleci.com/gh/blockstack/blockstack-browser/3778?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link
See the video below: https://screencast-o-matic.com/watch/cq62nquvjr
I have isolated the issue that is causing iOS to fail occasionally on browserstack. See the github link to the known issue that causes test flakes https://github.com/appium/appium/issues/13013 .
It seems there is a known bug with appium and ios devices when executing async script query. In some scenarios in our test we are using async script query to get some info about objects in DOM. This is unusual for browser test because they usually just mimic user action but our test also execute Blockstack JS unit test. In IOS this causes the occasional long delays and unexpected errors. Examples: browser wasn't created, or long execution of javascript requests in tests.
@yknl @jeffdomke @zone117x please review and merge when ready
Ready to merge
@timstackblock let's keep the discussion here, instead of using a new issue to discuss removing unit tests.
The unit test are not working this is a place holder top get the e2e test working for the browser.
I'm not sure I fully understand. We currently (in master) have a build job that runs separately from all the E2E tests. This job is responsible for our unit tests - which we definitely need to keep. Please give an example of how the unit tests could cause the e2e tests to fail, if possible. Also, in master and in other branches, the unit tests are working and passing.