为什么我的测试无法找到单选按钮?

时间:2013-08-05 20:55:26

标签: ruby element

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

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会阻塞这个特定的元素名称?

1 个答案:

答案 0 :(得分:1)

我从未在元素名称上遇到红宝石。 如果元素在iframe中,则必须先识别框架,然后识别框架内的对象。

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

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