我们正在使用dojo 1.13和实习生v3。 在我们的一项功能测试中,我们正在执行以下操作:
.findByClassName('functionalTestWidget')
.click()
.sleep(1000)
// check placeholder
.getVisibleText()
.then(function (text) {
assert.strictEqual(text, 'Type here'); // SUCCESS
})
.pressKeys('01/10/2010')
// press tab to get out of the control
.pressKeys('\uE004')
.sleep(1000)
.end()
.findByClassName('functionalTestWidget')
.click()
.sleep(1000)
.getVisibleText()
.then(function (text) {
assert.strictEqual(text, '01/10/2010'); // FAILS : text is ''
})
虽然它可以读取占位符,但在键入someting,按Tab键然后重新选择小部件后,getVisibleText将返回一个空字符串
答案 0 :(得分:0)
WebDriver的getVisibleText
并不打算获取输入元素的文本内容,这是文本输入Dijits的核心。它适用于占位符,因为Dijit在输入中不使用HTML5 placeholder
属性,它实际上会向窗口小部件添加带有占位符文本的span
。
要获取input
的文字,您需要在getProperty('value')
元素本身上致电input
。