0

これは、私の質問のテストのフォローアップで、たまにエラーが発生します。ドライバーを初期化します

public class TestSuite {

public static WebDriver driver;

@BeforeClass
public static void setUpClass() {
    driver = new FirefoxDriver();

}


public class FluentDriver extends TestSuite {

public static WebElement fluentWait(final By locator) {
    Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
            .withTimeout(300, TimeUnit.SECONDS)
            .pollingEvery(50, TimeUnit.SECONDS)
            .ignoring(NoSuchElementException.class);

    WebElement element = wait.until(
            new Function<WebDriver, WebElement>() {

                public WebElement apply(WebDriver driver) {
                    return driver.findElement(locator);
                }
            });
    return element;
}

; }

しかし、これは確かにページ上にあるスクリプトを処理していませんが、そのソースにアクセスできません。

    FluentDriver.fluentWait(By.id("id")).click();
    FluentDriver.fluentWait(By.xpath("//a[starts-with(@href,'/problematic_url.html')]")).click();
    FluentDriver.fluentWait(By.className("green_true")).click();

「id」をクリックすると、問題のある URL があるサブメニューが表示されます。Web ページのソース (Ctrl+U) では、URL が常に表示されます。

4

1 に答える 1

0

ドライバーでFirefoxプロファイルを有効にするJavascriptを追加することで、これが機能しました。次に、FluentDriver ソリューションを使用します。ほとんどの場合、機能します。

于 2012-10-17T09:31:19.107 に答える