我在硒其中重复做完美的测试用例,然后将其出口到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