尝试在步骤定义之间共享信息。
问题是使用pico-container的方式对我不起作用....
我需要“初始/基本”步骤定义的PARENT来进行初始化和设置上下文数据。 然后,另一个步骤定义应重用这些变量。
我无法更改jar中的PARENT类。
也只有一个StepDefinition文件可以扩展PARENT,因为它还有其他无法重复的内容(对于一个文件,我不应该在每个步骤定义中都重新创建webdriver)。
这是伪示例:
class PARENT { //... init selenium webdriver ..
WebDriver driver = new ....;
}
class StepDef1 extends PARENT {
StepDef1(Context ctx) {
ctx.driver = this.driver
}
}
class StepDef2 {
WebDriver driver;
StepDef2(Context ctx) {
this.driver = ctx.driver
}
}
class StepDef3 {
WebDriver driver;
StepDef3(Context ctx) {
this.driver = ctx.driver
}
}
我该如何进行这项工作?
答案 0 :(得分:1)
您需要将Webdriver设置为public,并为其分配null值。这样,您就可以做到。
class PARENT { //... init selenium webdriver ..
public WebDriver driver = null;
}