Выбор из раскрывающегося AngularJS в транспортире. - PullRequest
0 голосов
/ 30 июня 2018

Я искал форумы снова и снова - пытался разобраться в том, что говорили люди, но решения, похоже, никогда не подходили под мой случай.

Моя проблема касается выбора элемента из выпадающего списка, который был закодирован в AngularJS на веб-сайте. Я запускаю автоматизированные тесты с использованием Protractor и сервера Selenium. Сейчас я использую разные скрипты, которые я написал на разных сайтах, которые были написаны на AngularJS. Интересно видеть, что я кодирую, заполняю форму автоматически - так круто!

К сожалению, всякий раз, когда я сталкиваюсь с выпадающим списком в моем тесте, я пытаюсь найти решение в течение нескольких часов и никогда не смогу его найти. Итак, я пришел в стек !!

Это код, с которым я работаю, на самом деле это веб-сайт регистрации Jetblue, так что если вы хотите взглянуть, перейдите по ссылке: https://trueblue.jetblue.com/web/trueblue/register/ Проблема начинается на второй странице с выпадающих списков - не знаю, как заполнить один.

Спасибо, FB

    <div class="row has-dropdown form-value error" style="z-index: 108; position: relative;"> <label for="my-info-title"> <span aria-hidden="true">*</span> <span class="visuallyHidden">required</span> Title
<div class="tb-select accountData_title"><span class="tb-select-title error">Select</span><div class="tb-select-dropdown"><ul><li class="selected" title=""><span>Select</span></li><li title="DR"><span> Dr
</span></li><li title="JT"><span> Jetter
</span></li><li title="MISS"><span> Miss
</span></li><li title="MR"><span> Mr
</span></li><li title="MRS"><span> Mrs
</span></li><li title="MS"><span> Ms
</span></li></ul></div><select name="accountData_title" class="my-info-title-select" id="my-info-title" style="display: none;"> <option value="">Select</option> <option value="DR"> Dr
</option>  <option value="MISS"> Miss
</option> <option value="MR"> Mr
</option> <option value="MRS"> Mrs
</option> <option value="MS"> Ms

1 Ответ

0 голосов
/ 01 июля 2018

title: ElementFinder = $('select#my-info-title'); list: ArrayElementFinder = $('select#my-info-title > option');

Сначала выполните title.click() [Это нажимает на выпадающий заголовок]. Затем выберите заголовок, который хотите выбрать.

Например: list.get(1).click(), который выбирает заголовок как DR

Надеюсь, это даст ответ на вашу проблему.

Примечание: решение предоставляется с помощью селекторов CSS и машинописного текста.

Если вышеуказанный метод не работает, попробуйте следующую альтернативную функцию.

var selectDropdownbyNum = function ( element, optionNum ) {
      if (optionNum){
        var options = element.all(by.tagName('option'))   
          .then(function(options){
            options[optionNum].click();
          });
      }
    };

Надеюсь, что вышеуказанные функции помогут вам !!

0506

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...