我有一个功能文件:
@雄鹿 特点:这只是一个演示
场景:确保账户处于在线模式 给定 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 联系起来