serenity-bdd - 我可以在 Serenity-JAVA 测试自动化框架的 @DefaultUrl 中传递一个捕获字符串值(基本上是带有令牌的 url)的变量吗
问题描述
我正在使用基于 Serenity Java 的测试自动化框架和下面列出的依赖项。
<properties>
<java.version>1.8</java.version>
<java.source.version>${java.version}</java.source.version>
<java.target.version>${java.version}</java.target.version>
<surefire.forkNumber>8</surefire.forkNumber>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<serenity.version>2.0.69</serenity.version> <!-- https://bintray.com/serenity/maven/serenity-core/ -->
<serenity.maven.version>2.0.67</serenity.maven.version>
<serenity.cucumber.version>1.9.45</serenity.cucumber.version> <!-- https://bintray.com/serenity/maven/serenity-cucumber/ -->
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.version>3.5.3</maven.version>
<parallel.tests>4</parallel.tests>
<browserstack.local.version>1.0.3</browserstack.local.version>
<maven.failsafe-plugin.version>3.0.0-M3</maven.failsafe-plugin.version>
<maven.surefire-plugin.version>3.0.0-M3</maven.surefire-plugin.version>
<maven.compiler-plugin.version>3.8.0</maven.compiler-plugin.version>
<cucumber-jvm-parallel.version>5.0.0</cucumber-jvm-parallel.version>
我想将一个 URL 即时传递给 @DefaultUrl,这并不简单。我的意思是说爬虫有一些限制,因此会在一定的时间间隔内生成一个令牌。所以它是 URL 后跟一个令牌有点东西,可以访问应用程序。
所以令牌不断变化。我创建了一个类,该类使用每次调用该方法的令牌捕获 url。实际问题就在那里。我想从这个方法传递值,它是一个 url。我正在寻找将其设为默认网址的选项。
当我尝试使用没有令牌的环境时,它工作正常,并且测试似乎根据 serenity.properties 文件运行。但是,一旦我尝试在基于令牌的 url 环境上运行测试,我就会看到 serenity.properties 被忽略。我试过这样的事情:
鉴于 stepdef 有
homePage.onDocsDashboard();
主页仪表板
@DefaultUrl("Here goes the link to Main Page accessible by public but not the actual application page on INT environment ")
public class HomePage extends PageObject {
private final AuthorisedUser authorisedUser = new AuthorisedUser();
Private String IntUrl = authorisedUser.IntEnvUrl;
public void onDocsDashboard() {
open();
getDriver().manage().window().maximize();
getDriver().manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
getDriver().navigate().to(IntUrl);
getDriver().getCurrentUrl();
}
}https://stackoverflow.com/questions/ask#
解决方案
推荐阅读
- python - Python BeautifulSoup - 通过返回“无”的 id 查找表
- npm - 为什么 NPM 总是抛出错误,不管命令是什么?
- ruby - Errno::ECONNREFUSED(无法打开到 :80 的 TCP 连接(连接被拒绝 - connect(2) 用于 nil 端口 80))
- python - 在子图上分别绘制图像的正像素和负像素
- javascript - 反应:在具有多个跨度元素的 div 中选择事件
- dynamics-crm - Opportunity 上更改的销售阶段未反映在图表和视图中 - CRM Online 9.0
- cytoscape.js - 如何将 Cytoscape.js 与打字稿一起使用
- c# - 为什么我在dotnet core中使用GZipStream解压时只得到前几行文件
- c# - 为什么我的 ReceivedBufferSize 很大?最多 65535 字节
- python - Raspistill:有些图片是黑色的