私は意図したようにPageFactoryを使用し、明示的な待機を使用するクラスのコンストラクタを用意することをお勧めします。スクリプトとページオブジェクトを分離することで、将来の作業がはるかに簡単になります。
public class MyClass {
WebDriverWait wait;
WebDriver driver;
@FindBy(how=How.ID, id="locatorId")
WebElement locator;
// Construct your class here
public MyClass(WebDriver driver){
this.driver = driver;
wait = new WebDriverWait(driver,30);
}
// Call whatever function you want to create
public void MyFunction(){
wait.until(ExpectedConditions.presenceOfElementLocated(locator));
// Perform desired actions that you wanted to do in myClass
}
次に、テストケースでコードを使用してテストを実行します。あなたの例では、待機はページの中に含まれています。
public class MyTestClass {
public static void main (string ... args){
WebDriver driver = new FireFoxDriver();
MyClass myForm = PageFactory.initElements(driver,Myclass.class);
myForm.MyFunction();
}
}
この例では、 `PageFactory.InitElementsを入れ、ここhere
出典
2017-11-08 23:33:47
Ben
見つけることができブックセレンwebdriverを実践ガイドの例に倣った...'のPageObjectクラスのコンストラクタで、その後、 'MyClass myform = new MyClass(ドライバ);'を実行します。 – SiKing