2017-06-07 5 views
0

なぜ私のwebdriverメソッドは、要素が表示されるまで '最大タイムアウト'まで待つのですか?なぜ私のwebdriverメソッドは要素が表示されるまで 'Max timeout'まで待つのですか?

マイ方法:

public boolean WaitUntilWebElementIsVisible(WebElement element) { 
    try { 
     WebDriverWait tempWait = new WebDriverWait(driver, 30); 
     tempWait.pollingEvery(100, TimeUnit.MILLISECONDS); 
     tempWait.until(ExpectedConditions.visibilityOf(element)); 
     System.out.println("WebElement is visible using locator: " + element.toString()); 
     return true; 
    } catch (Exception e) { 
     System.out.println("WebElement is NOT visible, using locator: " + element.toString() + " ,Exception: " + e.getMessage()); 
     Assert.fail("Method failed: WaitUntilWebElementIsVisible"); 
     //Assert.fail("WebElement is NOT visible, using locator: " + element.toString()); 
     return false; 
    } 
} 

TestNGの呼び出し:

@Test(priority = 27) 
public void confirm_BillingAddress_Header_IsVisible_BillingAndPaymentDetails_Section() throws Exception { 
    //Verify whether the panel title: 'BILLING ADDRESS:' is visible 
    Thread.sleep(1000); 
    basePage.WaitUntilWebElementIsVisible(checkoutPage.subheader_BillingAddress); 
    Assert.assertEquals(checkoutPage.subheader_BillingAddress.getText(), "BILLING ADDRESS:"); 
} 

号の実施例(試験中にヘッダが容易30秒前に表示される):

enter image description here
+0

これは、Webドライバ待機のためではない可能性があります。ドライバ取得メソッドを使用したURL起動である前のステップになることがあります。完全にロードされるまで待機します。その後、ヘッダーの表示を確認することがあります。タイムアウト例外が出ますか? – Murthi

+0

どのようなエラーが表示されますか?例外トレースを共有できますか? – Mahipal

答えて

0

暗黙のウェイターを使用していますか?明示的ウェイターを暗黙のウェイターなしで使用することをお勧めします。

+0

コメントありがとう、私は明示的な待ちを使用する – Gbru

0

checkoutPage.subheader_BillingAddressはそれが30秒待つという意味ではありません30秒

の最大と 見えるようにするために実際にあなたのコードをお待ちしております、実行
を完了したが、それは

を意味し、

要素が30秒前に表示された場合は実行を完了します

要素が表示されるまでに30秒以上かかる場合、コードは例外をスローします

+0

コメントのためのthnaks私はこの – Gbru

+0

を知っているので、あなたの質問は何ですか? –

+0

質問に列挙されているように...はい最大タイムアウトは30秒ですが、なぜ30秒前にタイムアウト例外がスローされ、30秒待たずに例外がスローされます。 – Gbru

関連する問題