0

挿入を自動化する必要があります。私のビューには、異なるフィールドを持つ 3 つのタブがあります。各タブのフィールドに入力することでテストが実行され、最初のタブに戻ってフォームが送信されます。webdriver が 3 番目のフィールドに入力し、最初のフィールドに戻ってデータを送信できるようにすると、一部のフィールドが空白になります。これらの分野のいくつかで、私はこれを使用しました:

if(!isElementPresent(driver,By.xpath("//div[@id='tabView:frmGrid:depto']/div[2]/span"))){
    waitForElement(By.xpath("//div[@id='tabView:frmGrid:depto']/div[2]/span"));
}

これらのメソッドは次のとおりです。

private boolean isElementPresent(WebDriver driver,By by){  
 driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);  
 try {  
    driver.findElement(by);  
    return true;  
 }  
 catch(Exception e)  
 {  
    return false;  
 }  
 finally  
 {  
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);  
  } }

public WebElement waitForElement(By by) {
    WebElement result = null;
    long maxTime = 6 * 1000; 
    long timeSlice = 250;
    long elapsedTime = 0;

    do {
        try{
            Thread.sleep(timeSlice);
            elapsedTime += timeSlice;
            result = driver.findElement(by);
        } catch(Exception e) {
        }
    } while(result == null && elapsedTime < maxTime);

    return result;
}

Primefaces コンポーネントが存在するフィールドでも、テキストが「入力」されており、タブに戻ると...空白です..!しかし、不思議なことに、それらのすべてではありません。しかし、いつも同じもの。テキスト フィールドとドロップダウン リスト。同様の問題は見たことがありません。誰かが理由を知っていますか?

ありがとう!

4

0 に答える 0