Skip to content

Add documentation#72

Merged
AndreyBelym merged 2 commits intoDevExpress:masterfrom
veewee:veewee-docs-1
May 24, 2019
Merged

Add documentation#72
AndreyBelym merged 2 commits intoDevExpress:masterfrom
veewee:veewee-docs-1

Conversation

@veewee
Copy link
Copy Markdown
Contributor

@veewee veewee commented Apr 24, 2019

This PR adds documentation about:

  • Concurrency
  • BROWSERSTACK_NO_LOCAL variable

It took me a while to find the related issues so that I could solve this:

However, it would be cleaner if this provider uses the BROWSERSTACK_PARALLEL_RUNS constant to handles the testcafe concurrency + browserstack session management as well.

Currently browserstacks keeps stacking queued sessions when the testcafe remote session timeout is hit. These can be hard to kill in the browserstack GUI and are blocking a next test run as well.

- Concurrency
- BROWSERSTACK_NO_LOCAL variable
@VasilyStrelyaev
Copy link
Copy Markdown
Contributor

@veewee, thank you for your contribution!

The BROWSERSTACK_NO_LOCAL variable description is fine.

However, it seems that the first part of the Concurrency section does not provide any information specific to BrowserStack. This is why I don't see a reason to include it in this module's README.

The part about exceeding the parallel test limit is important, but this information relates not only to concurrent test runs. So I would put it in a separate section:


Exceeding the Parallel Test Limit

When you run tests in multiple browsers or concurrently, you may exceed the maximum number of parallel tests available for your account.

Assume your plan allows 2 parallel tests and you run one of the following commands:

testcafe 'browserstack:ie@11.0:Windows 10' 'browserstack:chrome@59.0:Windows 10' 'browserstack:safari@9.1:OS X El Capitan' tests/acceptance/
testcafe browserstack:ie@11.0:Windows 10 -c3 tests/acceptance/

In this instance, BrowserStack will refuse to provide all the required machines and TestCafe will throw an error:

Unable to establish one or more of the specified browser connections.

To keep within your account limitations, you can run tests sequentially (or in batches), like in the following bash script (credits to @maoberlehner for this example):

browsers=( "browserstack:ie@10.0:Windows 8" "browserstack:ie@11.0:Windows 10" "browserstack:edge@15.0:Windows 10" "browserstack:edge@14.0:Windows 10" "browserstack:firefox@54.0:Windows 10" "browserstack:firefox@55.0:Windows 10" "browserstack:chrome@59.0:Windows 10" "browserstack:chrome@60.0:Windows 10" "browserstack:opera@46.0:Windows 10" "browserstack:opera@47.0:Windows 10" "browserstack:safari@9.1:OS X El Capitan" "browserstack:safari@10.1:OS X Sierra" )

for i in "${browsers[@]}"
do
	./node_modules/.bin/testcafe "${i}" tests/acceptance/
done

@AndreyBelym AndreyBelym merged commit 912b90f into DevExpress:master May 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants