Кажется, есть много вопросов об этой проблеме с java.util.Scanner
. Я думаю, что более читаемым / идиоматическим решением было бы вызвать scanner.skip("[\r\n]+")
, чтобы удалить любые символы новой строки после вызова nextInt()
.
ИЗМЕНИТЬ: как показано ниже, как @PatrickParker, это вызовет бесконечный цикл, если пользовательские входы любые пробелы после номера. См. Их ответ на лучший шаблон для использования с пропуском: https://stackoverflow.com/a/42471816/143585
Пожалуйста, проверьте документы на тестовом бегуне wdio. Вам не нужно создавать экземпляр с помощью init самостоятельно. Тестер wdio позаботится о создании и завершении сеанса для вас.
Ваш пример охватывает автономное использование WebdriverIO (без testrunner). Вы можете найти примеры, которые используют wdio здесь .
Чтобы уточнить, существует два способа использования WebdriverIO. Вы можете встроить его в свою тестовую систему самостоятельно (используя ее как автономную / или как скребок). Затем вам нужно позаботиться о таких вещах, как создание и завершение экземпляра, или запуск параллельных операций. Другой способ использования WebdriverIO - использовать его тестовый бегун wdio. Testrunner принимает конфигурационный файл с кучей информации о вашей тестовой настройке, а экземпляры икры обновляют информацию о работе в Sauce Labs и т. Д.
Каждая команда Webdriver выполняется асинхронно. Вы правильно назвали обратный вызов done
в afterEach
и в вашем test it
тесте, но забыли сделать это в beforeEach
:
beforeEach(function(done) {
client = webdriverio.remote({ desiredCapabilities: {browserName: 'firefox'} });
client.init(done);
});