как мне щелкнуть и выбрать один за другим все элементы в раскрывающемся списке параметров с помощью машинописного текста Protractor

Мне нужна помощь в создании кода транспортира машинописного текста / javascript для этого? для веб-автоматизации

вот код сайта:

<select class="form-control mainpage1" ng-options="infomation details opt1" ng-model="listVM.selectedInfo" ng-change="listVM.selectedInfoChanged()" ng-disabled="!listVM.finishLoad" style="">
<option label="dLicense Status" value="object:1002" selected="selected">License Status</option>
<option label="dLicense Category" value="object:1003">License Category</option>
<option label="ExpiryDate" value="object:1004">Expiry Date</option>
<option label="DOB" value="object:1005">Birthday</option>
<option label="License Number" value="object:1006">License Number</option>
<option label="Nationality" value="object:1007">Nationality</option>
<option label="Weight" value="object:1008">Weight</option>
<option label="Height" value="object:1009">Height</option></select>

мне нужно щелкнуть один вариант1, затем, после выбора варианта1, снова выбрать и щелкнуть вариант2 и т. д.

я пробовал следующий код:

browser.actions().mouseMove(element(by.cssContainingText('[value="object:1003"]','License Status'))).click().perform()
browser.actions().mouseMove(element(by.cssContainingText('[value="object:1004"]','License Category'))).click().perform()  

возникает ошибка:

Failed: No element found using locator: by.cssContainingText("[value="object:1003"]", "License Status")

person SeanRay    schedule 30.01.2019    source источник


Ответы (2)


Обновлено с использованием css и tagName вместо xpath.

Я не тестировал это, но вы сможете выбрать каждый вариант, создав массив всех элементов option в этом раскрывающемся списке, а затем запустив для него foreach.

element(by.css('.form-control mainpage1'))
  .all(by.tagName('option'))
  .forEach((option) => {
    option.click();
  });
person DublinDev    schedule 30.01.2019
comment
xpath не будет работать, мне нужно протестировать его в нескольких браузерах, Chrome, Edge, Opera и т. д. Поэтому xpath не рекомендуется, не могли бы вы предоставить помимо решения xpath - person SeanRay; 31.01.2019
comment
Я обновил свой ответ на основе вашего требования xpath. Сообщите мне, если у вас все еще есть проблемы - person DublinDev; 31.01.2019

Игрушка пробовала это ?:

Сначала щелкните раскрывающийся список, чтобы отобразились параметры:

var dropdown = element(by.model('listVM.selectedInfo');

dropdown.click();
element(by.cssContainingText('option', 'License Status')).click();
element(by.cssContainingText('option', 'License Category')).click();

Конечно, вам придется каждый раз щелкать раскрывающийся список, чтобы отобразился список.

Надеюсь, поможет. Ваше здоровье.

person Joaquin Casco    schedule 05.02.2019