Функциональные тесты с Intern.js: getVisibleText () не работает на dijits - PullRequest
0 голосов
/ 07 мая 2018

Мы используем dojo 1.13 с intern 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, нажатия клавиши табуляции и последующего выбора виджета, getVisibleText возвращает пустую строку

1 Ответ

0 голосов
/ 09 мая 2018

WebDriver getVisibleText не предназначен для получения текстового содержимого элемента ввода, который является ядром ввода текста Dijits. Это работает для заполнителей, потому что Dijit не использует атрибут HTML5 placeholder на входах, фактически добавляет span с текстом заполнителя к виджету.

Чтобы получить текст input, вам нужно вызвать getProperty('value') для самого элемента input.

...