我在网页上运行一些自动化测试时遇到了一些问题。测试用例很简单:导航到登录页面,输入用户名和密码,单击登录,然后在主页上对元素进行断言。
单击“登录”按钮后问题开始。该项目设置如下:
我的测试运行器使用@RunWith(CucumberWithSerenity.class)
我有一个StepsContext:
@ContextConfiguration(classes = SerenityPageConfiguration.class)
@SpringBootTest
public class StepsContext {
}
andrenity页面配置如下所示:
@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()
ERROR 7374 --- [main] ntcore.webdriver.WebDriverFacade:未能创建新的WEBDRIVER_DRIVER INSTANCE类org.openqa.selenium.chrome.ChromeDriver:无法实例化类型为org.openqa.selenium的新WebDriver实例。 chrome.ChromeDriver(chromedriver驱动程序可执行文件的路径必须由webdriver.chrome.driver系统属性设置;有关详细信息,请参阅https://sites.google.com/a/chromium.org/chromedriver/downloads。最新版本可从https://sites.google.com/a/chromium.org/chromedriver/downloads下载
...虽然我正在使用webdriver管理器来获取二进制文件。
如果我从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()
ERROR 7886 --- [main] ntcore.webdriver.WebDriverFacade:未能创建新的WEBDRIVER_DRIVER INSTANCE类org.openqa.selenium.firefox.FirefoxDriver:无法实例化类型为org.openqa.selenium的新WebDriver实例。 firefox.FirefoxDriver(Firefox启动时等待45秒。
项目中没有提到Firefox,甚至没有将其标记为系统的默认浏览器。 如果有关于网页本身或其他内容的任何其他信息,请告诉我,因为我对此没有想法。
谢谢!