0

URL を継続的に監視して、その可用性を確認する必要があります。シミュレーションにはセレンを使用しました。以下に貼り付けたのはコードです。

driver = new InternetExplorerDriver();
selenium = new WebDriverBackedSelenium(driver, mainUrl);
selenium.setTimeout("90000");
selenium.open(mainUrl);

ただし、selenium.timeoutURL が 90000 ミリ秒以内に開かれなくても機能しません。どうすればこれを修正できますか?

4

3 に答える 3

0

Selenium javadocによると、例は次のようになります。

driver = new InternetExplorerDriver();
driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
selenium.open(mainUrl);
于 2013-08-09T08:59:06.960 に答える
-1

Thread.sleep()を使用してみてください:

 final String sUrl = "http://www.google.ca/index.html";

// Instantiate the Internet Explorer browser.
WebDriver oWebDriver = new InternetExplorerDriver();

// Open the main google webpage.
oWebDriver.get(sUrl);


try
{
  Thread.sleep(5000);
}
catch(InterruptedException ex)
{
  System.out.println(ex.getMessage());
}

可用性を確認したい場合は、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;              }     ;

タイムアウトとポーリング間隔をオンザフライで構成できるWaitインターフェースの実装。各FluentWaitインスタンスは、条件を待機する最大時間と、条件をチェックする頻度を定義します。さらに、ユーザーは、ページ上の要素を検索するときのNoSuchElementExceptionsなど、待機中に特定のタイプの例外を無視するように待機を構成できます。

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

于 2012-10-07T09:32:17.243 に答える