在我的Capybara测试中,我想测试用户的签名。不幸的是提交按钮
it 'shows an error message for wrong credentials' do
visit "/"
expect(page).to have_content("Sign In")
click_link "Sign In"
fill_in "Email", with: "wrong_email"
fill_in "Password", with: "wrong_password"
click_button "Sign In"
expect(page).to have_content("Password and Email do not match!")
end
未点击。这是我的水豚测试:
<?PHP
function doOutputList($TreeArray, $deep=0)
{
$padding = str_repeat(' ', $deep*3);
echo $padding . "<ul>\n";
foreach($TreeArray as $arr)
{
echo $padding . " <li>\n";
if(is_array($arr))
{
doOutputList($arr, $deep+1);
}
else
{
echo $padding .' '. $arr;
}
echo $padding . " </li>\n";
}
echo $padding . "</ul>\n";
}
doOutputList($array);
?>
我没有收到错误消息,但在页面上找不到内容。在实时页面上的测试用例之后显示我期望的错误消息。
答案 0 :(得分:0)
我在@RAJ的帮助下解决了我的问题。我的页面有两个带有相同文本的按钮(“登录”),并且单击了转到登录表单的按钮。不是实际登录用户的按钮。
要解决此问题,我在提交按钮中添加了ID并替换了
/**
* @param {Number} - number of times to prompt
* @return {many_prompts~inner} - the returned function
*/
function many_prompts(count){
/**
* My inner function
*
* @param {object} prompt Some parameter
*/
var inner = function(prompt){
for(var i=0;i<count;i++) alert(prompt}
};
return inner;
}
使用:
click_button 'Sign In'
解决了这个问题。