无法实例化类 org.openqa.selenium.edge.EdgeDriver [Serenity]

问题描述 投票:0回答:1

Serenity 无法从

msedgedriver
文件中找到
serenity.properties
可执行文件。我的属性文件如下所示:

#webdriver.driver=chrome
#webdriver.chrome.driver = src/test/resources/webdriver/windows/chromedriver-win64/chromedriver.exe

webdriver.driver=edge
webdriver.edge.driver = src/test/resources/webdriver/windows/edgedriver-win64/msedgedriver.exe

#webdriver.driver=firefox
#webdriver.geckodriver.driver = src/test/resources/webdriver/windows/firefoxdriver-win64/geckodriver.exe

...

使用

chromedriver
geckodriver
时,Serenity 可以毫无问题地找到其可执行文件并按预期实例化网络驱动程序。
msedgedriver
的路径是正确的,我也尝试过绝对路径,但没有成功。

我的 Edge 浏览器版本与下载的 msedgedriver 版本 (123) 兼容。

当我正确设置系统属性,就像其他两个按预期工作的驱动程序一样,我无法理解 Serenity 如何无法成功实例化驱动程序。

完整错误:

Caused by: net.thucydides.core.webdriver.DriverConfigurationError: Could not instantiate new WebDriver instance of type class org.openqa.selenium.edge.EdgeDriver (The path to the driver executable must be set by the webdriver.edge.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/MicrosoftWebDriver. The latest version can be downloaded from http://go.microsoft.com/fwlink/?LinkId=619687). See below for more details.

selenium-webdriver serenity-bdd selenium-edgedriver
1个回答
0
投票

找到解决方法!

由于某种原因,在 serenity.properties 文件或 serenity.conf 中设置系统属性对 msedgedriver 不起作用。

但是如果您的项目是 gradle 构建,您可以在其中设置系统属性,它将起作用:

test {
    systemProperty("webdriver.edge.driver", "src/test/resources/webdriver/windows/edgedriver-win64/msedgedriver.exe")
 }
© www.soinside.com 2019 - 2024. All rights reserved.