我刚刚开始使用Watir为我的web应用程序编写一些简单的测试。
我要做的第一件事是在OS上用SafariWatir填充一个类型为" email“的电子邮件输入元素的登录表单。
这是行不通的:
browser.text_field(:id, "email").set('my@email.com')跟踪:
/Library/Ruby/Gems/1.8/gems/safariwatir-0.4.0/lib/safariwatir/scripter.rb:661:in `execute': Unable to locate TextField, using :id and "email" (Watir::Exception::UnknownObjectException)
from /Library/Ruby/Gems/1.8/gems/safariwatir-0.4.0/lib/safariwatir/scripter.rb:303:in `focus'
from /Library/Ruby/Gems/1.8/gems/safariwatir-0.4.0/lib/safariwatir.rb:525:in `set'
from test.rb:10我假设元素不匹配是因为不同的type属性值。文档中没有对这类元素进行任何说明。有什么想法吗?
谢谢!
更新:根据用户表示正在测试pinganalytics的评论添加(重新格式化) HTML示例
<form action="http://pingalytics.com/" method="post" accept-charset="utf-8">
<p>
<label for="email">Email</label>
<input type="email" name="email" value="" id="email" autofocus="" />
</p>
<p>
<label for="password">Password</label>
<input type="password" name="password" value="" id="password" />
</p>
<input type="submit" name="login" value="Log in with Pingdom" class="primary" />
<p>
<a href="https://www.pingdom.com/signup/">
Sign up
</a>
, or
<a href="https://pp.pingdom.com/index.php/login" title="Reset your Pingdom password">
recover your password
</a>
.
</p>
</form>发布于 2012-05-03 02:16:40
从HTML5开始,输入元素的“电子邮件”类型是新的。Safariwatir是一个比HTML5更早的项目。它最近没有看到太多的工作,在搜索潜在的'text_field‘元素时,它不太可能会寻找这种类型。
Watir 3.0或Watir-webdriver将是一个更安全的选择,因为许多工作已经投入其中,以使它们能够正确地支持HTML5。
此外,由于Webdriver最近刚刚添加了对Safari (see here for instructions) )的支持,它现在是safariwatir的一个可行的替代方案(我高度期望它不会看到进一步的工作。)Safari支持仍然是一个很小的DYI,因为你必须构建自己的safari扩展,而且它只适用于Mac,但如果我们看到有人开始发布可以从在线图库下载的标准safari扩展,这种情况可能会改变
https://stackoverflow.com/questions/10352677
复制相似问题