카피 바라 : 페이지 제목을 테스트하는 방법은 무엇입니까?
Steak, Capybara 및 RSpec을 사용하는 Rails 3 애플리케이션에서 페이지 제목을 어떻게 테스트합니까?
카피 바라 2.1.0 버전부터 세션에 제목을 다루는 방법이 있습니다. 당신은
page.title
page.has_title? "my title"
page.has_no_title? "my not found title"
따라서 다음과 같이 제목을 테스트 할 수 있습니다.
expect(page).to have_title "my_title"
github.com/jnicklas/capybara/issues/863 에 따르면 다음은 capybara 2.0 에서도 작동합니다 .
expect(first('title').native.text).to eq "my title"
이것은 Rails 3.1.10, Capybara 2.0.2 및 Rspec 2.12에서 작동하며 부분 콘텐츠 일치를 허용합니다.
find('title').native.text.should have_content("Status of your account::")
title
원하는 텍스트가 포함되어 있는지 확인하기 위해 요소 를 검색 할 수 있어야합니다 .
page.should have_xpath("//title", :text => "My Title")
내 사양 도우미에 이것을 추가했습니다.
class Capybara::Session
def must_have_title(title="")
find('title').native.text.must_have_content(title)
end
end
그런 다음 다음을 사용할 수 있습니다.
it 'should have the right title' do
page.must_have_title('Expected Title')
end
RSpec을 사용하면 각 페이지의 제목을 훨씬 쉽게 테스트 할 수 있습니다.
require 'spec_helper'
describe PagesController do
render_views
describe "GET 'home'" do
before(:each) do
get 'home'
@base_title = "Ruby on Rails"
end
it "should have the correct title " do
response.should have_selector("title",
:content => @base_title + " | Home")
end
end
end
Rspec 및 Capybara 2.1에서 페이지 제목을 테스트하려면 다음을 사용할 수 있습니다.
expect(page).to have_title 'Title text'
또 다른 옵션은
expect(page).to have_css 'title', text: 'Title text', visible: false
Capybara 2.1부터 기본값은Capybara.ignore_hidden_elements = true
이고 제목 요소가 표시되지 않기 때문에visible: false
표시되지 않는 페이지 요소를 포함하는 검색 옵션이 필요합니다 .
당신은 단지를 설정할 필요 subject
로 page
하고 페이지의에 대한 기대 쓰기 title
방법 :
subject{ page }
its(:title){ should eq 'welcome to my website!' }
문맥:
require 'spec_helper'
describe 'static welcome pages' do
subject { page }
describe 'visit /welcome' do
before { visit '/welcome' }
its(:title){ should eq 'welcome to my website!'}
end
end
it { should have_selector "title", text: full_title("Your title here") }
참고 URL : https://stackoverflow.com/questions/5129423/capybara-how-to-test-the-title-of-a-page
'IT Share you' 카테고리의 다른 글
투명한 그라디언트를 만드는 방법? (0) | 2020.11.07 |
---|---|
SQLParameter는 SQL 주입을 어떻게 방지합니까? (0) | 2020.11.07 |
Mac OS X의 Git 및 Umlaut 문제 (0) | 2020.11.07 |
git은 현재 브랜치를 어떻게 가져올 수 있습니까? (0) | 2020.11.07 |
Python에 argc 인수가 있습니까? (0) | 2020.11.07 |