在一个cucumber步骤实现中具有某个值的变量集在下一个步骤中将失去其值
@Test
Feature: Test
@test
Scenario: Test
When user sets value of varibale x
Then user retrives value of x
步骤实施
import cucumber.api.java.en.When;
public class TestStepToBeRemoved {
String x;
@When("^user sets value of varibale x$")
public void setValueOfx() {
x = "Random Text";
}
@When("^user retrives value of x$")
public void retriveValueOfX() {
System.out.println("Value of X is : " + x);
}
}
在我们将另一个使用Guice库和注入器的框架合并到我们的项目中之前,这一切都很顺利。但现在输出
Value of X is : null
那么,cucumber中是否有任何我们可以设置cucumber以在步骤执行完成后清除所有对象?
请不要要求将x设为静态,它会解决这个问题,但我们需要任何其他解决方案,除了将x设成静态
当您使用cumber guice-lib时,cumber会为不同的步骤定义创建不同的对象引用,因此在一个步骤中初始化的实例变量无法在下一步中保持相同的值。为了避免这种情况,您可以在步骤定义文件的顶部使用@ScenarioScope,它将解决问题
import cucumber.api.java.en.When;
@ScenarioScoped
public class TestStepToBeRemoved {
String x;
@When("^user sets value of varibale x$")
public void setValueOfx() {
x = "Random Text";
}
@When("^user retrives value of x$")
public void retriveValueOfX() {
System.out.println("Value of X is : " + x);
}
}
我对BDD是新手,尤其是cucumber。 我能从一个变量中得到一个特征及其步骤吗?另外,我希望在运行测试之前,通过这个测试的特殊选择,从测试跟踪器(TestRail)获得一个特性及其步骤,并将其放在列表中,然后一个接一个地获得一个场景并运行它。 有这种可能吗?我应该为此使用Cucumber还是其他框架?
我有一个变量,我想在所有步骤中传递这个变量。任何人都可以通过代码片段示例建议如何在步骤之间传递变量值。任何帮助将不胜感激。
提前致谢
我正在用cucumber和ruby实现自动化。我的情况如下。 为了实现,我在第二步中进行了迭代以单击所有链接。 为此,我每次都必须回到主页,然后进行验证。我是否必须每次重复第二步实现,或者我可以跳过第三步并在第二步中实现所有内容?
我设置了以下测试用例: 我想使用Groovy脚本测试步骤获得SoapRequest测试步骤的状态。 它可以如下所示完成: 但是我不想通过脚本运行TestStep,而只是使用soapui testrunner。在datasink测试步骤中,我可以使用这个: 不幸的是,上述方法在GroovyScript TestStep中不起作用 有什么想法吗?
我是批处理领域的新手,我正在尝试使用Spring batch解决下面提到的问题。我真的很难从中创建多步骤批处理作业。 给予 包含多个学生记录的csv文件 我们有一个RESTendpoint,该endpoint记录学生在所有科目中的分数,并为每个学生返回结果(通过/失败)。通过/失败逻辑在给定的restendpoint中定义。 待办事项 从csv中读取一批记录,每批进行一次REST调用,根据每个学生