使用Cucumber和Selenium进行测试:如何打破特征文件的序列并以随机顺序运行

时间:2016-12-20 09:53:01

标签: selenium selenium-webdriver junit cucumber-junit

我尝试了很多选项,但其中任何一个都不能正常工作。我已经创建了一些功能文件,因为我需要时间。所以我有一个无序功能文件。 我想按我的意愿运行功能文件。等。

  1. fil1.feature
  2. fil2.feature
  3. fil3.feature
  4. fil4.feature 所以我想按以下顺序运行:file3.feature-> fil4.feature-> fil1.feature。
  5. 我在junit test runner选项中尝试了@ tag,@ feature,但是它维护的序列仅运行3,4但不能运行1.

    那么你能告诉我如何随机运行功能文件吗?

2 个答案:

答案 0 :(得分:2)

Cucumber从features的{​​{1}}参数中给出的文件夹中按字母顺序选取要素文件。因此,一种选择是按照您想要的顺序按字母顺序重命名要素文件。

读取初始文件夹中的要素文件后,将按字母顺序拾取该位置中的子文件夹,并读取其中的要素文件。因此,您可以将以后要使用的文件放入子文件夹中。

说完这一切,在需要维护序列的测试之间存在任何依赖关系并不是一个好主意。

答案 1 :(得分:0)

我得到了同样的停止。你解决了这个问题吗?

我做了一些测试,使用<form onSubmit={(e) => { e.preventDefault(); submitForm(); } }> <FormTextInput htmlId="email" label="Email Address" /> <FormTextInput htmlId="password" label="Password" type="password" /> <Button colored type="raised" htmlType="submit" >Login</Button> </form> 来控制序列是无用的,它只是在功能文件中针对不同场景的操作。

到目前为止,我必须这样做--tags @XXX我认为这比重命名功能文件好一点。

但你可以说:“如果有很多功能文件......”在我的项目(ROR)中,我将语句分配给cucumber features/c.feature features/a.feature features/b.feature

./config/cucumber.yml我定义了一个配置文件,cucumber.yml之后,我只是使用test_dev: features/c.feature features/a.feature features/b.feature并按顺序执行要素文件。

如果您有奶油方式,请与我们分享。