とにかくライトボックス(Ajax)を使用してキャプチャ/記録する方法はありますか
Selenium IDE
?
Selenium IDEがライトボックス(Ajax)を期待どおりの形式でキャプチャ/記録するかどうかはわかりません。見る
Selenium IDEは、ライトボックスが表示される原因となるクリックの事実をキャプチャできます。ただし、サーバーからすべてのAJAXを取得するために必要な時間を登録することは困難です。QAセレンの自動化(Javaでの書き込み)である私は、もう少し別のアプローチを好みます。webDriverWait条件を使用できます。
WebDriverWait wait = new WebDriverWait(yourWebDriver, 5);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//xpath_to_element")));
ここで説明されているように
fluentWait
または、メカニズムを呼び出すことができます。
public WebElement fluentWait(final By locator){
Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
.withTimeout(30, TimeUnit.SECONDS)
.pollingEvery(5, TimeUnit.SECONDS)
.ignoring(NoSuchElementException.class);
WebElement foo = wait.until(
new Function<WebDriver, WebElement>() {
public WebElement apply(WebDriver driver) {
return driver.findElement(locator);
}
}
);
return foo; } ;
この流暢な待機メソッドは、操作可能なwebElementを見つけたものを返します。 利用方法:
String xPathElement ="...blablab.....";
WebElement found = fluentWait(By.xpath(xPathElement));
found.click();
//found.getText().trim():
これがお役に立てば幸いです