如何使用 mocha、webdriver-io 和 phantomjs 测试工具提示文本?
How to test tooltip text with mocha, webdriver-io and phantomjs?
我正在使用 webdriver-io 来测试输入表单,如果输入文本不符合指定条件,我想测试在跳出时工具提示文本的外观。下面是一个试过没有成功的
var webdriverio = require('webdriverio');
var browser = webdriverio.remote({desiredCapabilities:{browserName: 'phantomjs'} });
...
describe('Test tooltip text', function(){
before(function(){
//return browser.url(site);
});
before(function(){
// return browser.setValue(key, value);
});
it('should display a tooltip text', function(){
broswer.getHTML('body').then(function(form){
form.should.contain('message in tooltip')
});
});// it block ends
});// describe block ends
...
此测试将我重定向到没有工具提示的原始表单。当我尝试在 chrome 浏览器中在此输入表单中输入值时,我确实看到了工具提示。我知道在测试中输入的值是正确的,因为我在控制台记录了输入并在跳出后,我看到输入字段样式在 HTML 中显示为红色。我错过了什么?
您可以阅读元素的 "title" 标签,它只是工具提示。
经过多次尝试,我找到了使用 setTimeout 捕获工具提示文本的解决方案。这是我的测试:
...
it('should display a tooltip text', function(){
broswer.getHTML('body').then(function(form, done){
form.should.contain('message in tooltip');
setTimeout(done, 1000);
});
});// it block ends
...
...
希望这个解决方案对其他人有帮助!
我正在使用 webdriver-io 来测试输入表单,如果输入文本不符合指定条件,我想测试在跳出时工具提示文本的外观。下面是一个试过没有成功的
var webdriverio = require('webdriverio');
var browser = webdriverio.remote({desiredCapabilities:{browserName: 'phantomjs'} });
...
describe('Test tooltip text', function(){
before(function(){
//return browser.url(site);
});
before(function(){
// return browser.setValue(key, value);
});
it('should display a tooltip text', function(){
broswer.getHTML('body').then(function(form){
form.should.contain('message in tooltip')
});
});// it block ends
});// describe block ends
...
此测试将我重定向到没有工具提示的原始表单。当我尝试在 chrome 浏览器中在此输入表单中输入值时,我确实看到了工具提示。我知道在测试中输入的值是正确的,因为我在控制台记录了输入并在跳出后,我看到输入字段样式在 HTML 中显示为红色。我错过了什么?
您可以阅读元素的 "title" 标签,它只是工具提示。
经过多次尝试,我找到了使用 setTimeout 捕获工具提示文本的解决方案。这是我的测试:
...
it('should display a tooltip text', function(){
broswer.getHTML('body').then(function(form, done){
form.should.contain('message in tooltip');
setTimeout(done, 1000);
});
});// it block ends
...
...
希望这个解决方案对其他人有帮助!