我正在测试一个表单字段,我允许用户编辑他们的电话号码。他们可以单击编辑按钮并开始编辑他们的新号码。但是,如果他们单击取消(而不是保存),表单将丢弃更改并显示原始电话号码。
test('I cancel editing phone number', function(assert){
visit('/onboarding/vehicle-approval');
click(editButton);
fillIn('.edit-phone-field input', '9991234567');
click(cancelButton);
andThen(function() {
assert.equal(currentURL(), '/onboarding/vehicle-approval');
assert.equal(find('.edit-phone-field input').val(), user[0].phoneNumber);
});
});
我的测试在Chrome中传递,但在Safari和PhantomJS中失败。断言失败:assert.equal(find('.edit-phone-field input').val(), user[0].phoneNumber);
因为我们希望该值是旧电话号码,但新电话号码(9991234567
)是我们实际得到的。
我已经尝试了其他一些答案,例如将phantomJS更新为2.0,但到目前为止,它们都没有对我有效。
为什么我的测试会在Chrome上传递,但在其他浏览器上失败?