0

运行测试脚本以选择单选按钮时,出现以下错误并停止测试:

C:/Ruby200/lib/ruby/gems/2.0.0/gems/watir-webdriver-0.6.4/lib/watir-webdriver/elements/element.rb:490:in
`assert_exists': unable to locate element, using {:name
=>"r(g544i56094)", :value=>"17617", :tag_name=>"input", :type=>"radio"} (Watir::Exception::UnknownObjectException) from
C:/Ruby200/lib/ruby/gems/2.0.0/gems/watir-webdriver-0.6.4/lib/watir-webdriver/elements/element.rb:118:in
`click' from code-test5.rb:709:in `<main>'

我一直在使用并且适用于脚本中所有其他测试用例的代码如下:

if browser.radio(:name => "r(g545i56094)", :value => "#{pmg}").exists?

Ruby 无法识别元素名称r(g545i56094)。我仔细检查了元素名称,它是正确的。在所有使用此代码和各种元素名称的先前测试用例中,元素名称被识别并且测试脚本正常运行。

为什么 Ruby 会因为这个特定的元素名称而窒息?

4

1 回答 1

1

我从来没有在元素名称上遇到过红宝石窒息。如果元素在 iframe 内,则必须首先识别框架,然后再识别框架内的对象。

在识别对象时,我还遇到了名称或 ID 末尾有尾随空格的问题,并且必须使用部分字符串来识别它们,就像这样。

if browser.radio(:name => /r(g545i56094)/, :value => "#{pmg}").exists?
于 2013-08-06T14:14:39.150 回答