我在硒其中重複做完美的測試用例,然後將其出口到JAVA/JUnit4/webdriver的:在Java中的assertEquals工作在硒但不是在JAVA
public void emailInvalid() throws Exception {
driver.get(baseUrl + "/test/contacts.html");
driver.findElement(By.name("companyName")).clear();
driver.findElement(By.name("companyName")).sendKeys("testcomp");
driver.findElement(By.name("phone")).clear();
driver.findElement(By.name("phone")).sendKeys("45454545");
driver.findElement(By.name("email")).clear();
driver.findElement(By.name("email")).sendKeys("test.ee");
driver.findElement(By.name("message")).clear();
driver.findElement(By.name("message")).sendKeys("qwerty");
driver.findElement(By.cssSelector("button.submit")).click();
assertEquals("Not valid email.", driver.findElement(By.cssSelector("span.error.notValidEmail")).getText());
}
測試失敗,因爲的assertEquals不能得到的它尋找的文本。該錯誤消息是
org.junit.ComparisonFailure:預期:< [不是有效的電子郵件]>卻被:< []>
檢查只涉及到這樣一個選擇的元素存在,它已預期的文本瞬間,因爲它出現了,是不是以後生成的文本。此外,確保該文確實位於此元素,而不是在任何子元素 – Gadget
@Gadget它的元素,我想這是因爲硒點擊提交時使用clickandWait但在Java它只需點擊和它不加載足夠快assertEqual變空了!我嘗試了下面的mike88代碼,但它只是超時。 –
我認爲你的意思是它可以與Selenium IDE一起工作,但是一旦你將它移植到Selenium WebDriver/Java後就不起作用。你可能想澄清你的問題中的這些細節。 – JeffC