2013-08-05 121 views
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會扼殺這個特定的元素名稱?

回答

1

我從來沒有對元素名稱的紅寶石嗆。 如果該元素位於iframe中,則必須先標識該幀,然後標識該幀中的對象。

我還遇到過在標識對象時在名稱或標識符末尾有空白的問題,並且必須使用部分字符串來標識它們,如下所示。

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

感謝您的幫助,但我試過代碼 「如果browser.radio(:名稱=>/R(g545i56094)/,:值=> 」#{} PMG「)。?是否存在」;仍然Ruby找不到名爲r(g545i56094)的元素,導致出現相同的錯誤。 – dcwilson042

+0

@ dcwilson042您是否檢查過單選按鈕是否在如下框架內:'browser.frame(:how =>'what')。radio(:name =>/r(g545i56094)/,:value =>「 #{} PMG「)。存在? '如果一個對象位於一個框架內,你必須將該框架包含在目標路徑中,它需要知道該元素在頁面上的上下文 – Allen

相關問題