Получение "Неудачное утверждение, сообщение не передано". как ошибка при запуске тестовых примеров Ruby Selenium - PullRequest
0 голосов
/ 03 января 2012

Я использую селеновый веб-драйвер для написания тестов, и следующий код возвращает сообщение об ошибке «Неудачное утверждение, сообщение не передано».

product_name_error_message =  @driver.find_element(:tag_name => "span", :class => "error").text
assert product_name_error_message == "Product Name must be greater than 3 and less than 255 characters!"

Извините, я новичок в Ruby, и я не смог найти какие-либо решения для этого сообщения об ошибке в Интернете. Я проверил в браузере, этот текст действительно появляется на странице, и с правильным тегом span и классом. Просто селеновый веб-драйвер не может найти этот элемент и выдает эту неубедительную ошибку. Помощь

Ответы [ 2 ]

1 голос
/ 04 января 2012

Webdriver возвращает значения Unicode с веб-страниц.Сравнение обычной строки с юникодом может быть одной из причин, по которой утверждение в вашем коде не выполняется.

Еще одно предположение - замыкание пробелов в текстовом значении элемента.

1 голос
/ 03 января 2012

Попробуйте отобразить, какое значение возвращается после запуска первой строки кода.

Так

product_name_error_message =  @driver.find_element(:tag_name => "span", :class => "error").text
puts product_name_error_message
assert product_name_error_message == "Product Name must be greater than 3 and less than 255 characters!"

Я считаю, что эта переменная в любом случае не содержит этого значения.

Также вы можете объединить все в одну линию -

verify { assert(@driver.find_element(:tag_name => "span", :class => "error").text.include?(Product Name must be greater than 3 and less than 255 characters!"),"The text is present")}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...