как получить заголовок страницы в ruby

#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 ^ (синтаксическая ошибка)