Драйвер Selenium: -Dwebdriver.driver = "iexplorer" вызывает сафари - PullRequest
0 голосов
/ 11 мая 2018

Когда я пытаюсь запустить автоматизацию тестирования Serenity, я вызываю следующую команду maven:

mvn clean verify -Dentry_point="**/*SmokeTestSuite.java" -Dwebdriver.driver="iexplorer" -Dwebdriver.ie.driver="<my path>\IEDriverServer.exe"

Я предоставил iexplorer в качестве драйвера и путь к IEDriverServer.exe. Моя версия Internet Explorer - 11.x. Это ошибка, что мне нужно добавить путь к safari.exe, когда я запускаю драйвер ie.

Следует трассировка стека ошибок:

[pool-1-thread-1] ERROR net.thucydides.core.webdriver.WebDriverFacade - FAILED TO CREATE NEW WEBDRIVER_DRIVER INSTANCE class org.openqa.selenium.ie.InternetExplorerDriver: Could not instantiate class org.openqa.selenium.ie.InternetExplorerDriver
net.thucydides.core.webdriver.UnsupportedDriverException: Could not instantiate class org.openqa.selenium.ie.InternetExplorerDriver
    at net.thucydides.core.webdriver.WebDriverFactory.newWebdriverInstance(WebDriverFactory.java:128)
    at net.thucydides.core.webdriver.WebDriverFacade.newDriverInstance(WebDriverFacade.java:142)
    at net.thucydides.core.webdriver.WebDriverFacade.newProxyDriver(WebDriverFacade.java:133)
    at net.thucydides.core.webdriver.WebDriverFacade.getProxiedDriver(WebDriverFacade.java:103)
    at net.thucydides.core.webdriver.WebDriverFacade.getTitle(WebDriverFacade.java:213)
    at net.serenitybdd.jbehave.SerenityReporter.managedDriverIsNotAlive(SerenityReporter.java:215)
    at net.serenitybdd.jbehave.SerenityReporter.beforeScenario(SerenityReporter.java:188)
    at org.jbehave.core.reporters.DelegatingStoryReporter.beforeScenario(DelegatingStoryReporter.java:55)
    at org.jbehave.core.reporters.ConcurrentStoryReporter.beforeScenario(ConcurrentStoryReporter.java:158)
    at org.jbehave.core.embedder.PerformableTree$PerformableScenario.perform(PerformableTree.java:877)
    at org.jbehave.core.embedder.PerformableTree$PerformableStory.performScenarios(PerformableTree.java:811)
    at org.jbehave.core.embedder.PerformableTree$PerformableStory.perform(PerformableTree.java:784)
    at org.jbehave.core.embedder.PerformableTree.performCancellable(PerformableTree.java:416)
    at org.jbehave.core.embedder.PerformableTree.perform(PerformableTree.java:387)
    at org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:291)
    at org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:265)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748) .                                
Caused by: java.lang.RuntimeException: Safari could not be found in the path!
Please add the directory containing ''Safari.exe'' to your PATH environment
variable, or explicitly specify a path to Safari like this:
*safari c:\blah\Safari.exe
    at org.openqa.selenium.browserlaunchers.locators.SingleBrowserLocator.findBrowserLocationOrFail(SingleBrowserLocator.java:42)
    at org.openqa.selenium.safari.SafariDriverCommandExecutor.start(SafariDriverCommandExecutor.java:100)
    at org.openqa.selenium.safari.SafariDriver.startClient(SafariDriver.java:76)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:119)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144)
    at org.openqa.selenium.safari.SafariDriver.<init>(SafariDriver.java:62)
    at org.openqa.selenium.safari.SafariDriver.<init>(SafariDriver.java:53)
    at net.thucydides.core.webdriver.strategies.InternetExplorerDriverBuilder.newInstance(InternetExplorerDriverBuilder.java:30)
    at net.thucydides.core.webdriver.WebDriverFactory.newWebdriverInstance(WebDriverFactory.java:116)
    ... 19 more

Ответы [ 2 ]

0 голосов
/ 13 мая 2018

webdriver.driver - это правильное свойство Serenity для установки драйвера.Я не уверен, что DebajanB означает «подверженный ошибкам» - как правило, он работает или нет, а если нет, то это проблема конфигурации.Чтобы проверить, правильно ли настроено свойство драйвера в Maven (вам может потребоваться передать его в свои тесты как системное свойство в плагине surefire или failsafe), посмотрите, работает ли оно с firefox.

Ссылки на webdriver.gecko.driver и т. Д. Указывают Serenity, где найти двоичный файл для конкретного драйвера, но не указывают Serenity, какой драйвер использовать.Можно настроить несколько двоичных файлов драйверов, а затем выбрать один или другой с webdriver.driver.

Safari не является драйвером по умолчанию для Serenity, как Firefox, поэтому ссылка на Safari любопытна.Это может быть сообщение об ошибке / вводящая в заблуждение ошибка старой версии - используете ли вы последнюю версию Serenity?

0 голосов
/ 12 мая 2018

Это сообщение об ошибке ...

ERROR net.thucydides.core.webdriver.WebDriverFacade - FAILED TO CREATE NEW WEBDRIVER_DRIVER INSTANCE class org.openqa.selenium.ie.InternetExplorerDriver: Could not instantiate class org.openqa.selenium.ie.InternetExplorerDriver
net.thucydides.core.webdriver.UnsupportedDriverException: Could not instantiate class org.openqa.selenium.ie.InternetExplorerDriver

... означает, что программе не удалось создать / создать желаемый новый InternetExplorerDriver экземпляр.

Основной причиной этой ошибки является подверженная ошибкам maven команда, которую вы использовали для выполнения Serenity Test Automation Suite , которая выглядит следующим образом:

mvn clean verify -Dentry_point="**/*SmokeTestSuite.java" -Dwebdriver.driver="iexplorer" -Dwebdriver.ie.driver="<my path>\IEDriverServer.exe"

Наиболее часто используемые WebDriver варианты:

  • -Dwebdriver.gecko.driver - для geckodriver.exe
  • -Dwebdriver.chrome.driver - для chromedriver.exe
  • -Dwebdriver.ie.driver - для IEDriverServer.exe

Но поскольку вы использовали неверный аргумент в качестве -Dwebdriver.driver вместе с неверным значением в качестве iexplorer Serenity Test Automation Framework пытается получить доступ к конфигурации по умолчанию Safari.exe .

Решение

Вам необходимо удалить подвержен ошибкам аргумент -Dwebdriver.driver="iexplorer" иты пройдешь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...