2013-08-05 4 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? 

Рубин не распознает имя r(g545i56094) элемента. Я дважды проверял имя элемента, и это правильно. Во всех предыдущих тестовых примерах, которые используют этот код с различными именами элементов, имя элемента распознается и тестовые скрипты работают нормально.

Почему Ruby задыхается от данного имени элемента?

ответ

1

У меня никогда не было рубинового дросселя по имени элемента. Если элемент находится в пределах iframe, вы должны сначала идентифицировать кадр, а затем объект в кадре.

У меня также возникли проблемы, когда в конце имен или идентификаторов возникало конечное пробелы при идентификации объектов, и им пришлось использовать частичные строки для их идентификации.

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

Спасибо за вашу помощь, но я попробовал код "если browser.radio (: имя =>/г (g545i56094) /,: значение => "# {ГПМ}").? Существует"; еще Ruby не нашел элемент с именем r (g545i56094), в результате чего появилась такая же ошибка. – dcwilson042

+0

@ dcwilson042 Вы проверили, находится ли переключатель в кадре, например: 'browser.frame (: how => 'what'). Radio (: name =>/r (g545i56094) /,: value =>" # {ГПМ} "). существует? 'Если объект находится внутри фрейма, вы _must_ включаете кадр в целевой путь, ему нужно знать контекст того, где находится элемент на странице – Allen