如何使用 page.find 通过 rspec 测试找到变量
How to find a variable with rspec tests using page.find
我有一个测试用例,我的大多数其他页面至少有一个纯文本字段,可以使用以下方法找到:
page.find("tr", text: "What I filled in").find("a.tick").click
这个页面所有的选项都是下拉选择的,那么怎么找变量呢?
其余语法如下所示:
it "edits person job and redirects to index" do
expect(p = FactoryGirl.create(:person)).to be_valid()
expect(j = FactoryGirl.create(:job)).to be_valid()
visit new_job_path
select p.name, from: "person_job_person_id"
select p.name, from: "person_job_job_id"
click_button "create person job"
page.find("tr", p).find("a.tick").click
end
找不到要点击的p?
如果你想点击p
元素,你可以很容易地用css选择器或xpath:
find(:css, 'the css selector of your p element').click
或
find(:xpath, 'the xpath of your p element').click
例如
find(:css, 'body > div.layout > div > button').click
如果您正在使用 Chrome,您可以通过检查您的元素轻松找到它们,右键单击他的代码并复制 css 选择器 或 xpath.
我有一个测试用例,我的大多数其他页面至少有一个纯文本字段,可以使用以下方法找到:
page.find("tr", text: "What I filled in").find("a.tick").click
这个页面所有的选项都是下拉选择的,那么怎么找变量呢? 其余语法如下所示:
it "edits person job and redirects to index" do
expect(p = FactoryGirl.create(:person)).to be_valid()
expect(j = FactoryGirl.create(:job)).to be_valid()
visit new_job_path
select p.name, from: "person_job_person_id"
select p.name, from: "person_job_job_id"
click_button "create person job"
page.find("tr", p).find("a.tick").click
end
找不到要点击的p?
如果你想点击p
元素,你可以很容易地用css选择器或xpath:
find(:css, 'the css selector of your p element').click
或
find(:xpath, 'the xpath of your p element').click
例如
find(:css, 'body > div.layout > div > button').click
如果您正在使用 Chrome,您可以通过检查您的元素轻松找到它们,右键单击他的代码并复制 css 选择器 或 xpath.