Selenium 如何使用mocha、webdriver io和phantomjs测试工具提示文本?

Selenium 如何使用mocha、webdriver io和phantomjs测试工具提示文本?,selenium,phantomjs,mocha.js,webdriver-io,Selenium,Phantomjs,Mocha.js,Webdriver Io,我正在使用webdriver io测试输入表单,如果输入文本不符合指定的条件,我希望在tab out时测试工具提示文本的外观。下面是一个尝试但没有成功的例子 var webdrivero=require('webdrivero'); var browser=webdrivero.remote({desiredCapabilities:{browserName:'phantomjs'}}); ... 描述('测试工具提示文本',函数()){ 在(函数()之前){ //返回browser.url(站

我正在使用webdriver io测试输入表单,如果输入文本不符合指定的条件,我希望在tab out时测试工具提示文本的外观。下面是一个尝试但没有成功的例子

var webdrivero=require('webdrivero');
var browser=webdrivero.remote({desiredCapabilities:{browserName:'phantomjs'}});
...
描述('测试工具提示文本',函数()){
在(函数()之前){
//返回browser.url(站点);
});
在(函数()之前){
//返回browser.setValue(键,值);
});
它('应该显示工具提示文本',函数(){
getHTML('body')。然后(函数(表单){
form.should.contain('工具提示中的消息')
});
});//它结束了
});// 描述块端
...

此测试将我重定向到原始表单,而不显示工具提示。当我在chrome浏览器中尝试在此输入表单中输入值时,我确实看到了工具提示。我知道在测试中输入的值是正确的,因为我在控制台中记录了输入,在制表符退出后,我看到输入字段样式在HTML中显示为红色。我缺少什么?

您可以读取元素的“title”标记,它只是工具提示。

经过多次尝试,我找到了使用setTimeout捕获工具提示文本的解决方案。这是我的测试:

。。。
它('应该显示工具提示文本',函数(){
getHTML('body')。然后(函数(表单,完成){
form.should.contain('工具提示中的消息');
设置超时(完成,1000);
});
});// 它结束了
...
...

我希望这个解决方案对其他人有帮助

这是一个良好的开端。但是没有办法验证工具提示文本本身吗?我不知道为什么代码部分没有语法高亮显示!