Serenity BDD — вызвано: java.lang.ClassNotFoundException: com.google.common.base.Optional

Я новичок в фреймворке Serenity Bdd; Я клонировал этот репозиторий: https://github.com/serenity-bdd/serenity-screenplay-train-demo

Os: Ubuntu: 17.04 
Intellij IDEA Community 2017.3 
Pom.xml: https://github.com/serenity-bdd/serenity-screenplay-train-demo/blob/master/pom.xml

<dependency>
            <groupId>net.serenity-bdd</groupId>
            <artifactId>serenity-core</artifactId>
            <version>${serenity.version}</version>
        </dependency>
        <dependency>
            <groupId>net.serenity-bdd</groupId>
            <artifactId>serenity-screenplay</artifactId>
            <version>${serenity.version}</version>
        </dependency>

И я пытаюсь запустить автоматические тесты, но сталкиваюсь с ошибкой:

net.thucydides.core.webdriver.UnsupportedDriverException: 
Could not instantiate class org.openqa.selenium.chrome.ChromeDriver
.
.
.
Caused by: net.thucydides.core.webdriver.UnsupportedDriverException: Could 
not instantiate new WebDriver instance of type class 
org.openqa.selenium.chrome.ChromeDriver (The path to the chromedriver driver 
executable must be set by the webdriver.chrome.driver system property; for 
more information, see 
https://sites.google.com/a/chromium.org/chromedriver/downloads. The latest 
version can be downloaded from 
https://sites.google.com/a/chromium.org/chromedriver/downloads
.
.
.
.
Caused by: java.lang.IllegalStateException: The path to the chromedriver 
driver executable must be set by the webdriver.chrome.driver system 
property; for more information, see 
https://sites.google.com/a/chromium.org/chromedriver/downloads. The latest 
version can be downloaded from 
https://sites.google.com/a/chromium.org/chromedriver/downloads

Я знаю, что мне не хватает некоторых банок или библиотек, но я не знаю, как их добавить или что добавить. Я предполагаю, что мне следует обновить maven pom.xml, чтобы добавить недостающие зависимости?

ОБНОВЛЕНИЯ:

Оказалось, что pom.xml указывал на более старые версии библиотек, поэтому я обновил их и теперь получаю новую ошибку:

ОШИБКА n.t.core.webdriver.WebDriverFacade — НЕУДАЧА СОЗДАТЬ НОВЫЙ ЭКЗЕМПЛЯР WEBDRIVER_DRIVER класса org.openqa.selenium.chrome.ChromeDriver: не удалось создать экземпляр нового экземпляра WebDriver класса типа org.openqa.selenium.chrome.ChromeDriver (путь к драйверу chromedriver исполняемый файл должен быть задан системным свойством webdriver.chrome.driver; для получения дополнительной информации см. https://sites.google.com/a/chromium.org/chromedriver/downloads. Последнюю версию можно загрузить с сайта https://sites.google.com/a/chromium


person pelican    schedule 05.01.2018    source источник


Ответы (1)


Сообщение «FAILED TO CREATE NEW WEBDRIVER_DRIVER INSTANCE» означает, что Selenium не удалось подключиться к WebDriver. Остальная часть сообщения («Путь к исполняемому файлу драйвера chromedriver должен быть установлен системным свойством webdriver.chrome.driver...») объясняет, что вам нужно сделать. Вам необходимо загрузить последний исполняемый файл chromedriver и поместить его в системный путь. Serenity установит для вас свойство webdriver.chrome.driver — не делайте, повторяю, не жестко кодируйте этот путь в своих тестовых классах или файле свойств (жестко кодирование пути chromedriver — это часто встречающийся, но ужасно неправильный анти-шаблон, так как это делает ваши тесты крайне непереносимыми).

person John Smart    schedule 06.01.2018
comment
Ух ты, сам Джон Смарт! Я, наконец, смог получить тесты для запуска хромированного драйвера; ни один из тестов не выполнялся из-за: [main] ОШИБКА net.serenitybdd.core.Serenity — произошла следующая ошибка: Ожидаемый включенный элемент не был включен. Мне пришлось обновить файл pom.xml. Кроме того, мне, возможно, придется глубже изучить код, но вы вводите файлы cookie в браузер через Selenium для входа в систему вместо того, чтобы вводить имя пользователя/пароль? Это очень умно, потому что вы нигде не вводите имя пользователя или пароль! Буду имитировать эту технику в своих собственных проектах, если смогу запустить эти тесты. - person pelican; 06.01.2018