我正在尝试测试输入表单。我想检查一些客户端验证。我不了解内部情况,我也不想知道。所以对我来说这是一个黑盒子。
我想要实现的步骤:
这是我到目前为止的硒脚本:
<tr><td>focus</td> <td>id=name</td> <td></td> </tr>
<tr><td>type</td> <td>id=name</td> <td></td> </tr>
<tr><td>focus</td> <td>id=email</td> <td></td> </tr>
<tr><td>verifyVisible</td> <td>css=div.field-error.errorname</td> <td></td> </tr>
这可以使用Selenium IDE,但仅在浏览器窗口本身具有焦点时才有效。如果Selenium IDE窗口处于焦点,则测试失败。
我还使用webdriver对其进行了建模。这总是失败。
session.focus("id=name");
session.type("id=name","");
session.focus("id=email");
verifyTrue(session.isVisible("css=div.field-error.errorname"));
当测试失败时,总是因为css=div.field-error.errorname
没有插入到DOM中。所以验证脚本没有以某种方式触发。
如何设法测试?如何确保浏览器窗口具有焦点,以便脚本在现实世界中表现如何?
答案 0 :(得分:0)
尝试以下代码:
session.click("id=name");
session.sendKeys("id=name","");
session.click("id=email");
//wait for 3 seconds; if this works, you can use dynamic wait here
Thread.sleep(3000);
verifyTrue(session.isVisible("css=div.field-error.errorname"));
您使用的是Selenium RC API,而不是Webdriver API,最好使用Webdriver API。