如何使用page.find使用rspec测试查找变量
我有一个测试用例,我的大多数其他页面至少有一个只是直文的字段,可以使用以下方法找到:
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 。