Я тестирую свое веб-приложение с Mocha и WebDriver. Я борюсь с лучшими практиками в отношении тестового заказа Mocha и постоянного состояния драйвера.
Я хочу разделить тесты на разные файлы, например.
test\ index.js selenium\ login.js search.js
Таким образом, при выполнении login.js должен быть первым, потому что он входит в приложение и проходит аутентификацию. Только после этого можно делать search.js. Но как? В login.js у меня теперь есть это:
webdriverjs = require('webdriverjs');
describe 'UI/Selenium', ->
client = {}
before ->
client = webdriverjs.remote
desiredCapabilities:
browserName: 'chrome'
client.init()
client.windowHandleSize({width: 1920, height: 1080})
it 'should let us login', (done) ->
client.url('http://127.0.0.1:1337/login')
.setValue('#username', 'username')
.setValue('#password', 'password')
.buttonClick('button[type="submit"]')
.waitFor '#search_results_user', 5000, (err) -> throw err if err
.call done
Как я могу сохранить состояние клиента для других тестов без необходимости его повторной инициализации каждый раз? И как мне определить порядок выполнения файлов с Mocha?