如何重用另一个步骤定义类Appium / Cucumber / Java中的方法

时间:2017-03-28 16:15:26

标签: java android cucumber appium

尝试在另一个类中重用一个方法,初始化类如下:

public class SettingsStepDefs {
public Scenario scenario;

@Autowired
public AndroidBase androidBase;
public GenericStepDefs genericStepDefs;


@Before
public void before(Scenario scenario) {
    this.scenario = scenario;
    genericStepDefs = new GenericStepDefs();

然后使用方法

genericStepDefs.iTapDone();

但是我在上面的行上得到了Null指针异常。

iTapDone()中的代码是有效的,如果我复制该行并在SettingsStepDefs上使用它,它就可以工作。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

您需要在步骤之间共享GenericStepDefs的实例。由于变量genericStepDefs未设置,因此您将获得NullPointerException。

您使用注释@Autowired似乎正在使用Spring。研究与Spring for Cucumber共享状态。这是通过为Cucumber-JVM设置Spring来完成的。依赖

<dependency>
    <groupId>info.cukes</groupId>
    <artifactId>cucumber-spring</artifactId>
    <version>1.2.5</version>
</dependency>

是必需的。