2014-02-28 143 views
2

我在頁面上有兩個列表框,當我運行我的硒腳本時,必須在每個列表框中選擇一個值並填寫一些文本字段並提交。提交硒時清除列表框中最後一個選定的值。但是,當我在調試模式下運行相同的測試時,同樣的事情不會發生。腳本在調試模式下運行良好,但在運行時運行方式與簡單運行不同

這裏是我的代碼,

driver.findElement(By.id("Question2")).click(); 
    new Select(driver.findElement(By.id("olrQuestion2"))).selectByVisibleText("What is your dogs name"); // the list box is accessed 
    driver.findElement(By.id("questionTwo5")).click();//the option is selected 
    driver.findElement(By.id("olrAnswer2")).sendKeys("dog");//value is input 
    //driver.findElement(By.id("olrAnswer2Confirmed")).clear(); 
    driver.findElement(By.id("olrAnswer2Confirmed")).sendKeys("dog");//Value is input 
    driver.manage().timeouts().implicitlyWait(30000, TimeUnit.SECONDS); 
    driver.findElement(By.cssSelector("input.submit_input")).click();//Submit is clicked 

在點擊提交按鈕,列表框被清除。

回答

1

使用明確的等待而不是Thread.sleep()Implicit waits

例如,

WebDriverWait等待=新WebDriverWait(驅動程序,30); wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(「input.submit_input」))); (「input.submit_input」))。click();();}。

+0

好吧用明確的等待就好了;當你做迴歸時,它是一種很好的測試方法。 –

相關問題