我正在用铅脚实习生框架编写功能测试用例。测试用例:输入表单字段并单击将打开引导模式的按钮。我所要做的就是验证模态中元素的显示属性。
但是,当我试图通过id 'viewBtn‘查找元素时,它找不到它并抛出: NoSuchElement:[POST http://localhost:4444/wd/hub/session/e23a975b60188479d599d2 NoSuchElement/{http://localhost:4444/wd/hub/session/e23a975b60188479d599d2“the”:“id”,"value":"viewBtn tBtn "} ]没有这样的元素:无法定位元素:{“方法”:“id”,“选择器”:“viewBtn”}
define(function (require){
var registerSuite = require('intern!object');
var assert = require('intern/chai!assert');
registerSuite({
name:'Test Page',
'Continue':function(){
return this.remote
.get(require.toUrl('http://sdfsdfs'))
.setFindTimeout(5000)
.findById('to')
.click()
.type('john')
.end()
.findById('from')
.click()
.type('man')
.end()
.findById('message')
.click()
.type('hello')
.end()
.findByCssSelector("[name=formName]").findByClassName('btn')
.click()
.end()
.setFindTimeout(5000)
.findById('viewBtn')
.isDisplayed()
.then(function(text){
assert.equal(text,'true','Not Displayed');
})
}
});
});
当id出现在元素中时,为什么会抛出错误。另外,在每个查找方法之后,我都调用了方法。?
发布于 2017-06-26 14:40:53
看起来您可能没有在正确的上下文中进行搜索。在下面的片段中,在两个查找和end之间只有一个findById)。这意味着调用findById('viewButton')时的上下文是名为"formName“的元素(因此findById仅在name="formName”元素内/下进行搜索),因为只有findByClassName调用被终止:
.findByCssSelector("[name=formName]").findByClassName('btn')
.click()
.end()
.setFindTimeout(5000)
.findById('viewButton')要搜索整个文档(假设这就是目的),请调用end(2)来结束这两个发现。
另外,注意setFindTimeout是持久化的,所以除非您要更改值,否则只需要调用它一次。
https://stackoverflow.com/questions/44733341
复制相似问题