我将以下代码作为.erb文件:
<div class="gridster">
<form>
<fieldset>
<legend>Add Repository</legend>
<div class="field">
<label for="gitrepoURL">GitHub URL</label>
<input type="url" name="GithubRepo" id="gitrepoURL" placeholder="http://github.com/<organization>/<repo>" required/>
</div>
<div class="field">
<input type="button" name="Add" id="add" value="Add Repository" class="add" />
</div>
</fieldset>
</div>
在我写的一个黄瓜单元测试案例中:
When /^I update the input field with a github url $/ do
visit '/github/index'
fill_in "field[GithubRepo]", :with => "http://github.com/name1/name2"
end
我明白我使用不正确的dom来访问GithubRepo。我试图在firebug中正确访问GithubRepo字段以填充网址,但是当用黄瓜运行测试用例时,它没有用,它说
When(/^I update the input field with a github url$/) do
pending # express the regexp above with the code you wish you had
end
并停止执行低于此测试用例的测试用例。如果我的理解是错误的,请告诉我。如果我是对的,请告诉我如何访问dom元素,以便我可以使用它来访问其他元素并编写其他测试用例
答案 0 :(得分:4)
我认为你的Cucumber步骤有两个问题:
fill_in
的值不正确 - 应该是名称,ID或标签文字。尝试以下方法:
When /^I update the input field with a github url$/ do
visit '/github/index'
fill_in "GithubRepo", :with => "http://github.com/name1/name2"
end
注意到进行了以下更改:
fill_in
已更改为使用字段的名称。