2016-08-05 5 views
-1

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

«@sign_in» является объектом класса, в котором я определил все элементы знак в «стол» содержит все элементы называют

table.hashes.each do |link| 
expect(@sign_in.send(link[:Login_elements])).to be_truthy , "link[:Login_elements]) is not present" 
end 
+0

Какой выход вы получаете? Какой результат вы хотите получить? –

+0

Для неудачного сценария я получаю «Невозможно найти css», вывод, который я хочу, это «ссылка [: Login_elements]) нет». Выполняется только тогда, когда математическое ожидание не выполняется. –

+0

См. Руководство [минимальное, проверяемое и полное] (http://stackoverflow.com/help/mcve). Вы не можете ожидать, что люди решат вашу проблему, если вы не покажете шаги, которые вы сделали до сих пор, включая весь соответствующий код. –

ответ

0

Методы вы звоните через send возвращает элемент или поднять исключение, если элемент отсутствует на странице, которая не будет работать с be_truthy. Вместо этого вам нужно использовать boolean has_xxx? методы site-prism обеспечивают (или вы можете использовать подшивку raise_error с блоком кода)

table.hashes.each do |link| 
    expect(@sign_in.send("has_#{link[:Login_elements]}?")).to be_truthy , "link[:Login_elements]) is not present" 
end