我如何从命令行中传递到小黄瓜测试



我目前正在使用硬编码URL browser.url("http://www.x.com");

进行小黄瓜测试

我通过gherkin start [url]

进行测试

有没有一种方法可以在命令行中输入任何URL以开始测试并使其在browser.url调用中进行硬编码URL?我正在使用Selenium-Webdriver和Docker执行用Gherkin编写的测试。

简短的答案是 no ,不幸的是。正如您指出的那样,您的URL中有一个硬编码值。

但是,您的问题应该很容易解决您的问题,并且可以通过轻微的更改使您达到预期的结果。

1。由于您正在使用 webDreviverio ,它基本上是 nodejs 的Selenium Bindings实现,我们实际上可以使用节点构建对象,在我们的情况下,global object Process.env

首先,在您的测试中,继续使用browser.url("http://www.x.com");的URL替换为变量,例如:browser.url(myUrl);

然后,在您的程序标题中声明变量:var myUrl = process.env.URL ? process.env.URL : "http://www.x.com"。这会告诉节点:"看,如果您有此过程环境变量设置,则将其返回,否则,请给我您之前拥有的东西(您的硬编码值(。

最后,在从命令行运行测试时,只需将变量带有您所需的值,例如:

$ URL="yourUrlHere" gherkin start

2。由于您使用的是 webDreviverio ,我强烈建议使用其完整的工具套件来利用更好的测试体验。*对未使用的wdio.config.js file *

感到悲伤

因此,我建议您查看他们的 testrunner 并通过培训部分。如果您热衷于使用小黄瓜,请不要担心!WebDriverio与 Cucumber 完美集成(以及使用Gherkin的 Mocha Jasmine (。

您的问题将通过wdio.config.js文件转换为简单的配置更改。

让我知道这是否有帮助。我可能会召集其他一些解决方案。欢呼!

最新更新