我在网页上运行一些自动化测试时遇到了一些问题。测试用例很简单:导航到登录页面,输入用户名和密码,单击登录,然后对主页中的元素进行断言。
单击“登录”按钮后,问题就开始了。该项目设置如下:
- java语言
- 行家项目
- 黄瓜
- 网络驱动管理器
- 宁静
- 春天
- 操作系统:Ubuntu 16.04 LTS
我的测试跑步者与@RunWith(CucumberWithSerenity.class)
我有一个 StepsContext :
@ContextConfiguration(classes = SerenityPageConfiguration.class)
@SpringBootTest
public class StepsContext {
}
宁静页面配置如下所示:
@Configuration
@ComponentScan("com.automation")
public class SerenityPageConfiguration {
@Bean
LoginPage loginPage() {
return new LoginPage();
}
@Bean
HomePage homePage() {
return new HomePage();
}
和宁静的配置文件:
webdriver {
driver = chrome
timeouts.implicitlywait = 5000
}
serenity {
project.name = My Automation
outputDirectory = target/site/reports
use.unique.browser = false
browser.height = 1200
browser.width = 1200
dry.run = false
test.root = com.automation
take.screenshots = FOR_FAILURES
}
我为 webdriver 设置使用通用页面:
private WebDriver webDriver() {
WebDriverManager.chromedriver().setup();
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("disable-infobars");
return new ChromeDriver(chromeOptions);
}
这些步骤是使用页面对象工厂模型组织的。
现在解决手头的问题:通过上述设置,在测试单击“登录”按钮后(因此它已经经历了 4 个步骤),控制台读取并且在登录后显示的页面上没有执行任何操作:
INFO 7374 --- [main] org.openqa.selenium.Capabilities :
new ChromeOptions()
首选使用DesiredCapabilities.chrome()
错误 7374 --- [main] ntcore.webdriver.WebDriverFacade:无法创建新的 WEBDRIVER_DRIVER 实例类 org.openqa.selenium.chrome.ChromeDriver:无法实例化类型为 org.openqa.selenium.chrome.ChromeDriver 的新 WebDriver 实例( chromedriver 驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系统属性设置;有关更多信息,请参阅https://sites.google.com/a/chromium.org/chromedriver/downloads。最新版本可以是从https://sites.google.com/a/chromium.org/chromedriver/downloads下载
...虽然我正在使用 webdriver manager 来获取二进制文件。
如果我从 serenity 配置文件中注释掉以下部分:
webdriver {
driver = chrome
timeouts.implicitlywait = 5000
}
单击“登录”后,它会打开 Mozilla Firefox,而无需在其中执行任何操作,控制台显示:
INFO 7886 --- [main] org.openqa.selenium.Capabilities :
new FirefoxOptions()
首选使用DesiredCapabilities.firefox()
INFO 7886 --- [main] org.openqa.selenium.Capabilities :
new FirefoxOptions()
首选使用DesiredCapabilities.firefox()
错误 7886 --- [main] ntcore.webdriver.WebDriverFacade:无法创建新的 WEBDRIVER_DRIVER 实例类 org.openqa.selenium.firefox.FirefoxDriver:无法实例化类型为 org.openqa.selenium.firefox.FirefoxDriver 的新 WebDriver 实例( Firefox 启动等待 45 秒超时。
项目中没有提到 Firefox,甚至没有将其标记为系统的默认浏览器。让我知道是否需要有关网页本身的任何其他信息或其他信息,因为我对此一无所知。
谢谢!