java - 如何在同一个浏览器窗口中依次运行一组 Cucumber Feature 文件?
问题描述
我想做的是在同一个 Web 浏览器中一个接一个地运行多个测试用例,而不关闭 Web 浏览器窗口,因此我们不必在每个测试用例的执行过程中重复相同的行,比如与登录相关的那些。
我正在使用 Cucumber JVM 1.2.2 框架和 Selenium 实现测试用例的自动化。每个测试用例对应一个 Feature 文件。
因此,在第一个测试用例结束时,第二个测试用例将继续在执行第一个测试用例的同一浏览器窗口中运行,并且不应启动新的浏览器窗口。
我试图找到一个参数来配置 Chrome 驱动程序的现有实例。我还在一个 Feature 文件中定义了一个 Background 和多个 Scenario,但是每个 Scenario 都在一个新的浏览器窗口中开始
初始化 Chrome 的驱动程序
System.setProperty("webdriver.chrome.driver", sharedData.chomeDriverPath );
ChromeOptions options = new ChromeOptions();
options.addArguments("-incognito");
options.addArguments("--disable-popup-blocking");
sharedData.appInstance = new ChromeDriver( options );
sharedData.appInstance.get( util.sharedData.URLUnderTest );
sharedData.appInstance.manage().window().maximize();
解决方案
如果您想使用相同的会话,那么您可以将它们转换为测试步骤,而不是将这些测试用例定义为场景。然而,这似乎偏离了黄瓜哲学。
推荐阅读
- python - 背景减法器在 OpenCV Python 中不起作用,该怎么办?
- mysql - 为什么选择 IF(null <> 1,"true","false") 返回 false?null 不是 1?
- javascript - 如何在 Cytoscape 中绘制非接触交叉边缘?
- sql - 在雪花中使用 try_cast 处理非常长的数字
- openapi - Swagger 编辑器 - 附加属性错误
- ruby - Ruby 符号语法
- c++ - 哪种模式可以生成具有不同 Tor 参数的对象的实例化
- c# - 如何查询客户当天的 UTC 日期?
- android - 如何定位 stciker 选项?
- python - 如何将 mysqlclient 添加到 Poetry 环境