AssertionError Null selenium Test

时间:2011-06-04 17:06:08

标签: java testing selenium

您好我使用selenium进行了以下测试,但我不得不运行它出错:

public class TestExemplo extends SeleneseTestNgHelper {
    @Test public void testUntitled() throws Exception {
        selenium.open("http://gmail.com");
        selenium.type("Email", "edipofederle");
        selenium.type("Passwd", "pass");
        selenium.click("signIn");
        selenium.waitForPageToLoad("30000");
        assertTrue(selenium.isTextPresent("You are currently"));
    }
}

java.lang.AssertionError: null
    at com.thoughtworks.selenium.SeleneseTestBase.fail(SeleneseTestBase.java:372)
    at com.thoughtworks.selenium.SeleneseTestBase.assertTrue(SeleneseTestBase.java:377)
    at com.thoughtworks.selenium.SeleneseTestBase.assertTrue(SeleneseTestBase.java:381)
    at com.example.tests.TestExemplo.testUntitled(TestExemplo.java:15)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)

有人可以帮我吗?感谢..

2 个答案:

答案 0 :(得分:1)

可能是在页面加载后,您正在检查的文本是由JavaScript加载的。这意味着在调用assertTrue()时,文本尚未出现。您可以尝试使用waitForCondition(),也可以只使用普通Thread.sleep(),以便文本有可能在assertTrue()运行之前填充。

答案 1 :(得分:0)

问题是你的Selenium驱动程序认为文本不存在,因此返回false。因此,你的断言失败了。

你能检查一下getHtmlSource方法的输出是什么样的吗?可以将其粘贴到此处,以便该文本(或缺席)的存在可以