使用Intern.js进行功能测试:getVisibleText()不适用于dijits

时间:2018-05-07 07:12:03

标签: dojo intern

我们正在使用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将返回一个空字符串

1 个答案:

答案 0 :(得分:0)

WebDriver的getVisibleText并不打算获取输入元素的文本内容,这是文本输入Dijits的核心。它适用于占位符,因为Dijit在输入中不使用HTML5 placeholder属性,它实际上会向窗口小部件添加带有占位符文本的span

要获取input的文字,您需要在getProperty('value')元素本身上致电input