Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 避免黄瓜中的例子_Java_Selenium_Cucumber_Testng_Dataprovider - Fatal编程技术网

Java 避免黄瓜中的例子

Java 避免黄瓜中的例子,java,selenium,cucumber,testng,dataprovider,Java,Selenium,Cucumber,Testng,Dataprovider,请让我知道如何在Cucumber中跳过测试迭代的示例?我希望功能文件应该只有测试步骤,在步骤定义中,我希望在迭代中使用类似testng dataprovider的东西。我尝试了数据提供程序,但由于它与@Test标记一起工作,看起来它不是一个可行的解决方案。有什么帮助吗?我认为这是不可能的,因为场景大纲与示例表一起使用不同的值运行相同的场景。但是,如果您想减小示例表的大小,那么我希望您在JSON文件中添加数据,然后在示例表中添加键,然后使用这些键搜索数据:)如果您只有一行数据,那么您可以使用cuc

请让我知道如何在Cucumber中跳过测试迭代的示例?我希望功能文件应该只有测试步骤,在步骤定义中,我希望在迭代中使用类似testng dataprovider的东西。我尝试了数据提供程序,但由于它与@Test标记一起工作,看起来它不是一个可行的解决方案。有什么帮助吗?

我认为这是不可能的,因为场景大纲与示例表一起使用不同的值运行相同的场景。但是,如果您想减小示例表的大小,那么我希望您在JSON文件中添加数据,然后在示例表中添加键,然后使用这些键搜索数据:)如果您只有一行数据,那么您可以使用cucumber中的before和after钩子,并尝试在钩子。

首先,Cucumber不是一个测试工具,它是一个协作开发行为的工具。因此,您肯定不想使用Cucumber编写同一事物的大量迭代测试。相反,请尝试使用单元测试工具在较低级别上进行此类测试。一个编写良好的单元测试可以轻松地以比标准Cuke快1000倍的速度运行,因此如果您有许多相同的测试,那么使用这种方法可以节省大量的运行时间

如果由于某种原因您不能这样做,那么为测试提供数据以进行迭代的位置是由步骤定义调用的helper方法。一旦使用了helper方法,就可以使用编程语言,这样就可以轻松地获取外部文件、读取流和循环。这是一种比使用场景大纲和大型示例表更好的方法

您可以通过cucumber.io和cucumber slack通道了解如何使用helper方法以及如何从步骤定义中调用它们


如果你想知道如何在Ruby中使用Ruby,请告诉我,我将添加另一个答案。

这听起来是个好主意,但你能添加一些代码来帮助指导提问者吗?当然可以,我的朋友。如果你正在寻找同样的东西,那么这将是一个伟大的想法。我已经用yaml文件做了这件事。