Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

sendKeys не отрабатывает, то есть вижу как он ставит, но метод getText возвращает пустую строку


(Yerassyl Turlygazhy) #1

sendKeys не отрабатывает, то есть вижу как он ставит(заполняет), но метод getText возвращает пустую строку.
что я понял он пишет куда то, но только не в тело инпута
код или сайт показать не могу, все с продакшна, здесь хочу спросить: было ли такое у кого нибудь еще???
работаю с textarea

меня не интересует гетТекс, мне нужно чтобы текстАрея взяла сендКейс. Потому что он дальше используется на сайте, и там он тоже экуалс("")
гетТекс я использую только для проверки

перепробовал многое, кликал на него, потом через Actions печатал на клавиатуре, тоже не помогает


(Bolatbek) #2

Было такое.
Я получал с помощью скрипта jQuery:
$(#someid).val();


(Yerassyl Turlygazhy) #3

меня не интересует гетТекс, мне нужно чтобы текстАрея взяла сендКейс. Потому что он дальше используется на сайте, и там он тоже экуалс("")
гетТекс я использую только для проверки
есть идеи?


(Keiga) #4

SendKeys работает правильно. Чтобы получать значение из input полей следует использовать getAttribute("value");


(Yerassyl Turlygazhy) #5

там не инпут поле, а текстАрея, и мне не нужно брать текст (то есть беру только для проверки), нужно что бы в текстАрею попал мой текст, который отправляю через драйвер (в ручную все проходит норм)


(Keiga) #6

Вы же сами пишете “вижу как он ставит(заполняет)”, значит sendKeys работает.

// Заполняем текст textAreaElement.sendKeys("Text"); // Получаем текст textAreaElement.getAttribute("value");


(Yerassyl Turlygazhy) #7

да))
суть этого метода, заполняется текстАрея, а другая страница берет от нее текст
текстАрея через драйвер заполняется, но текст.equals("")
а если эту текстАрею заполнить в ручную, то все норм
еще раз:
мне не нужно брать от туда что то,
сендКейс отрабатывает, но не так как надо (то есть только визуально)
исходный код страницы менять не могу, доступ только к UI framework’у


(Bolatbek) #8

Надо уметь правильно писать вопрос.
Я по тексту вопроса понял, что sendKeys() отрабатывает верно, текст вы видите. Но при попытке получить gettext() - выходит пустышка.

Опять таки - что такого секретного, что нельзя показать кусок кода, показать какие event`ы висят на textarea, возможно - показать видео?


(Keiga) #9

Код теста можно посмотреть?

Интересует этот момент:

Каким образом определяется что руками “норм”, а через sendKeys уже “не норм”.


(Yerassyl Turlygazhy) #10

код теста очень простой
дождаться его
сендКейс,

Каким образом определяется что руками “норм”, а через sendKeys уже “не норм”.
пройдя тест в ручную, смотрю вторую страницу, если там появился текст, значит все норм


(Bolatbek) #11

Вы делаете sendKeys(), переходите на вторую страницу - а там значение пустое?


(Yerassyl Turlygazhy) #12

делаю сендКейс, поля обязательное, если там пусто ругается,
после заполнения делаю сабмит
после открываю страницу где отображаются изменения (а там пусто)


(Yerassyl Turlygazhy) #13

(Yerassyl Turlygazhy) #14


гляньте плиз, там думаю заморочка в онФокусе (хотя не уверен)


(Сергей Блохин) #15

Вы проверяли, как это работает автономно?

<!-- index.html -->
<textarea></textarea>
# webdriver.rb
require 'selenium-webdriver'
driver = Selenium::WebDriver.for :phantomjs
driver.get 'file:///index.html'
element = driver.first :css, 'textarea'
element.send_keys 'foo'
element.attribute 'value' # foo

Работает ли такая конструкция в вашем ЯПе?


(Сергей Блохин) #16

Я надеюсь, вы не на автоматизируете сайт? :slight_smile:


(Yerassyl Turlygazhy) #17

есть текстАрея
пишу туда руками, сабмитаю, иду на след стр все норм
использую верДрайвер, сабмитаю (вижу как пишется текст), иду на след стр НИЧЕГО НЕТ


(Bolatbek) #18

Попробуйте заполнить текст сенд кейсом.
Потом покиньте поле TAB`ом.
Потом делайте сабмит.
Сабмит как делаете? Кликает на кнопку или вызываете submit()?


(5am) #19

тестировщик который так формулирует вопросы, это абзац… простите.

по делу - посмотрите в какой атрибут прописывается вводимое значение, при заполнении поля WebDriver’ом (example: в фф на вкладке DOM)


(Yerassyl Turlygazhy) #20

не судите строго, я новичек
в доме посылает в атрибут value

а как можно напрямую послать на этот атрибут?