【问题标题】:Functional Tests with Intern.js: getVisibleText() does not work on dijits使用 Intern.js 进行功能测试:getVisibleText() 不适用于 dijits
【发布时间】:2018-05-07 07:12:03
【问题描述】:

我们正在使用 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 ''
                      })

虽然它可以读取占位符,但在键入某些内容、按 Tab 键然后重新选择小部件后,getVisibleText 返回一个空字符串

【问题讨论】:

  • 您使用的是哪种类型的 dijit?
  • 对于这个特定的例子是 DateTimeTextBox,但它与 ValidationTextBox、FilteringSelect 等的行为相同。

标签: dojo intern


【解决方案1】:

WebDriver 的getVisibleText 并非旨在获取输入元素的文本内容,它是文本输入Dijits 的核心。它适用于占位符,因为 Dijit 没有在输入中使用 HTML5 placeholder 属性,它实际上将带有占位符文本的 span 添加到小部件。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-09
    • 1970-01-01
    • 2019-07-05
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多