Serenity BDD:我们可以将功能文件上的标签关联/链接到 serenity.conf 中提到的相应环境吗?

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

我有一个功能文件:

@雄鹿 特点:这只是一个演示

场景:确保账户处于在线模式 给定 Adam 需要登录到演示页面 当他启用在线模式时 然后他看到测试演示徽标

我的 serenity.conf 文件:

 environments {
 default 
 {
     webdriver.base.url = "https://default.demo.com"
 }
 local 
 {
     webdriver.base.url = "https://local.demo.com"
 }
 dev 
 {
     webdriver.base.url = "http://dev.demo.com"
 }
 staging 
 {
     webdriver.base.url = "https://staging.demo.com"
 }
 }

有没有办法用适当的 URL 启动浏览器?也许使用 @Before 标签或者还有另一种更简单的方法吗?

我也知道我们可以使用命令行 mvn verify -Denvironment=staging,但是有没有不使用命令行的另一种方法?主要是当我尝试使用右键单击场景 -> 运行“场景:确保帐户处于在线模式”

来运行单个场景时

尝试了下面的代码

 Before(value = "@Stag")
 @Given("^I am setting the environment$")
 public void setTheEnvironment()
 {         
    EnvironmentVariables env = SystemEnvironmentVariables.currentEnvironmentVariables();
    String baseUrl = EnvironmentSpecificConfiguration.from(env).getProperty("environments.staging.webdriver.base.url");
    env.setProperty("webdriver.base.url", baseUrl)  
 }

上面的内容并不意味着工作,因为我后来发现环境变量只准备好了。

还有一些潜在的解决方案,比如创建一个像 project.properties 这样的自定义属性文件,并使用它使用 JAVA 代码进行映射。但我只想避免编码并了解是否有直接的方法将 @Stag 与 environments.staging.webdriver.base.url 联系起来

tags serenity-bdd
© www.soinside.com 2019 - 2024. All rights reserved.