Как автоматизировать выпадающие списки Reactjs с помощью Watir - PullRequest
0 голосов
/ 28 ноября 2018

В настоящее время я работаю с веб-приложениемactjs, в котором есть много раскрывающихся списков по всему приложению. Нормальный подход раскрывающегося списка (выбор) не работает, поскольку варианты выбора динамически загружаются из компонента реагирующего раскрывающегося списка, но на данный моментЯ попытался разобраться с помощью нажатия клавиши следующим образом:

@browser.text_field(name: "countries").set("Germany");sleep1
@browser.text_field(name: "countries").send_keys :enter

Я пишу в текстовое поле и жду, пока не появится ожидаемый текст, затем нажмите клавишу.

Ниже приведен HTML, я знаю, что это никак не поможет:

<div class="Select-input" style="display: inline-block;"><input name="countries" data-test-id="countries" autocomplete="0" aria-activedescendant="react-select-7--value" aria-expanded="false" aria-haspopup="false" aria-owns="" role="combobox" value="" style="box-sizing: content-box; width: 5px;"><div style="position: absolute; top: 0px; left: 0px; visibility: hidden; height: 0px; overflow: scroll; white-space: pre; font-size: 16px; font-family: &quot;Open Sans&quot;, sans-serif; font-weight: 400; font-style: normal; letter-spacing: normal; text-transform: none;"></div></div>

Однако я считаю, что это не лучшее решение, любые предложения или решения были бы очень полезны.

1 Ответ

0 голосов
/ 28 ноября 2018

Вам нужно передать ключ ввода при этой опции, а не в текстовом поле.Может быть что-то вроде этого.

 @browser.text_field(name: "countries").set("Germany");sleep1
 @browser.element(text: "Germany").send_keys :enter

Вам не нужно передавать клавишу ввода, чтобы быть более точным, вы можете вместо этого нажать кнопку.

 @browser.text_field(name: "countries").set("Germany");sleep1
 @browser.element(text: "Germany").click
...