Чтобы сохранить скриншот точно после неудачного теста Mocha, вы можете использовать код, подобный этому. Снимок экрана сохраняется в функции afterEach()
, если проверка в блоке it
не удалась.
describe('some feature test', function () {
it('first it block', function () {
signInPage.open();
...
});
it('second it block', function () {
...
});
afterEach(function () {
if (this.currentTest.state === 'failed') {
browser.saveScreenshot('/tmp/artifacts/screenShot.png');
}
});
});
Не это должно нормально работать на локальном компьютере.
Чтобы сохранить и просмотреть скриншот на circleCI, вы можете использовать артефакты: https://circleci.com/docs/2.0/artifacts/#uploading-artifacts
Поместите код, подобный этому, в ваш config.yml
version: 2
jobs:
my_fancy_test:
...
steps:
...
- run: |
mkdir /tmp/artifacts
cd app && npm run my-fancy-test
- store_artifacts:
path: /tmp/artifacts
Если тест не пройден в CircleCI, screenShot.png должен быть скопирован и отображен на вкладке артефактов в CircleCI:
![enter image description here](https://i.stack.imgur.com/nNWRL.png)