当用户没有使用webdriverio,mocha和phantomjs在字段中输入任何内容时,我正在测试工具提示的外观。以下是测试代码:
// failing test
describe ('Test appearance of a tooltip upon entering nothing', function(){
before(function(){
return browser.url(site);
});
before(function(){
return browser.setValue('#id_field1', '', 'tab')// mimicking users entering nothing
});
it('should notify users via a tooltip "Enter a valid lotno"', function(){
return browser.getHTML('body')
.then(function(form, done){
return form.should.contain('Enter a valid lotno');
setTimeout(done, 1000);
});
}); // it block ends here
});// describe block ends for tooltip tests
这不显示工具提示文本。
我有另一个测试,如果用户输入的值不正确,它应该显示一个工具提示文本,这可以正常工作。以下是通过测试:
// passing test
describe ('Test appearance of a tooltip upon entering non numbers', function(){
before(function(){
return browser.url(site);
});
before(function(){
return browser.setValue('#id_field1', 'JKJK', 'tab')// mimicking users entering non numbers
});
it('should notify users via a tooltip "Numbers only please"', function(){
return browser.getHTML('body')
.then(function(form, done){
return form.should.contain('Numbers only please');
setTimeout(done, 1000);
});
}); // it block ends here
});// describe block ends for tooltip tests
如何测试用户输入任何内容并显示工具提示?当我直接在站点中测试这些步骤时,两个工具提示都按预期显示。
答案 0 :(得分:5)
我会尝试以下方法:
before(function(){
return browser.setValue('#id_field1', ['', 'Tab']);
});
显然,setValue的使用支持发送值数组:https://github.com/webdriverio/webdriverio/issues/84。或者,您可以使用keys命令。 http://webdriver.io/api/protocol/keys.html