Я использую Testcafe (бесплатная версия) с Java Script. Я хочу запустить все мои тестовые случаи (находятся в нескольких тестовых сценариях в каталоге __test__
) в одном экземпляре браузера (таким образом, 1 раз вход) для каждого типа браузера.
- Например, 1 экземпляр для Chrome и 1 экземпляр для Safari, но все тесты будут выполняться до закрытия браузера.
- Если тест не пройден, я хочу сделать снимок экрана и подсчитать числоиспытания не пройдены. Но хочу продолжить.
- Я делаю все на образе Nocker 12 Docker, так что лучше, если мне не нужно устанавливать что-либо еще.
Как мне это сделать с Testcafe?
const createTestCafe = require('testcafe')
let testcafe = null
let runner = null
createTestCafe('localhost', 1337, 1338)
.then(tc => {
testcafe = tc
const runner = testcafe.createRunner()
return runner
.src([ '__test__/*.js' ])
.browsers([ 'chrome:headless --no-sandbox --disable-gpu', 'safari' ])
.screenshots('./reports/screenshots/', true)
.run({
selectorTimeout: 10000,
assertionTimeout: 10000,
})
})
runner
.screenshots({
path: 'reports/screenshots/',
takeOnFails: true,
})
.then(failedCount => {
console.log('Tests failed: ' + failedCount)
testcafe.close()
})
.catch(error => {
console.log("An ERROR detected:" + error)
})
Так вы устанавливаете Chrome в Dockerfile. Может кто-нибудь сказать мне, как установить Firefox на Dockerfile?
RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' && \
http_proxy=${http_proxy} https_proxy=${https_proxy} apt-get update && \
http_proxy=${http_proxy} https_proxy=${https_proxy} apt-get install -y --allow-unauthenticated google-chrome-stable && \
apt clean && rm -rf /var/lib/apt/lists/*