New Relic выбирает первый доступный раскрывающийся список из меню

Я застрял на этом и надеюсь, что вы можете указать мне в правильном направлении.

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

Проблема, которую я получаю, заключается в том, что некоторые размеры продуктов отсутствуют на складе, и это нарушает мой тест. У меня есть следующий код, который позволяет мне выбрать конкретный продукт, но кто-нибудь знает, как выбрать первый доступный вариант?

Любая помощь будет оценена по достоинству.

Спасибо

      //Example: Selecting an option and retrieving the selected label/value
var By = $driver.By,
selectbox;
// ----------------------------------------------------------------------------- //
// Helper function that returns the first selected option given a select element
function findSelected(select) {
var d = $driver.promise.defer();
select.findElements(By.tagName('option')).then(function (options) {
options.forEach(function(option) {
option.isSelected().then(function(selected) {
if (selected) {
d.fulfill(option);
}
});
});
});
return d.promise;
}
// ----------------------------------------------------------------------------- //
// Load the page
$browser.get("http://www.w3schools.com/html/tryit.asp?filename=tryhtml_select2").then(function(){
  // Focus the iframe
  $browser.switchTo().frame("iframeResult");
  // Click on select
    return $browser.waitForAndFindElement(By.name("cars"), 15000).then(function(elem) {
    selectbox = elem;
    selectbox.click();
  });
}).then(function() {
  // Select an option
    return selectbox.findElement(By.css("option[value='audi']")).click();
})

1 ответ

Я смог обойти это, используя стрелку вниз sendkeys и ввод, если это кому-нибудь поможет.

Другие вопросы по тегам