3

とにかくライトボックス(Ajax)を使用してキャプチャ/記録する方法はありますか

Selenium IDE

4

1 に答える 1

2

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():

これがお役に立てば幸いです

于 2012-10-11T15:46:47.107 に答える