#ruby-on-rails #cucumber
#ruby-on-rails #cucumber
Вопрос:
я новичок в ruby on rails и cucumber. на самом деле я пытался сравнить заголовок страницы с текстом, который я ожидаю, но не знаю, как получить текст в ruby. в selenium мы можем использовать функцию getText, например
assertEquals("ID: 1351018000", selenium.getText("//div[@id='articleInfo']/ul[1]/li[1]"));
можете ли вы помочь в ruby?
Ответ №1:
в вашем макете у вас может быть что-то вроде этого :
<title> <%= @title %></title>
и везде в вашем приложении вы можете указать заголовок, используя переменную @title. Таким образом, вам не нужно будет искать заголовок. Как только вы укажете заголовок, вы можете сравнить его с тестовой строкой.
я надеюсь, что это поможет вам.
Комментарии:
1. я хочу утверждать, что на странице отображается тот же текст, вот почему я пытаюсь получить текст с помощью xpath. не могли бы вы сказать мне, как я могу использовать приведенную выше команду в cucumber с ruby-on-rails
Ответ №2:
response.to_s.match(/<title>(.*?)</title>/)[1] will give u title of the page
Комментарии:
1. спасибо за ваше время, но как я могу использовать это в приведенной выше команде. я имею в виду, что есть какой-либо способ получить текст с использованием xpath и сравнить с известным результатом в ruby.
2. В вашем случае вы должны передать xpath заголовка на вашей странице в метод getText().
3. Я пытаюсь это сделать, но выдает ошибку. assert_equal «Список комментариев», find(:xpath,’//div[@id=’pageContainer’]/div[2]/h2′).getText(). и ошибка — C:/Workspace/cucumber-project/features/step_definitions/comment_steps.rb:135 : ошибка sy ntax, неожиданное ‘)’, ожидающий kEND … d=’pageContainer’]/div[2]/h2′).text ^ (синтаксическая ошибка)