Камрады!
Среда: Firefox, Selenium WebDriver, TestNG
Такая вот задача - выбрать из выпадющего Drop Box определенную строчку (byValue или byVisibleText)
Вроде как метод полно, но вот в чем проблема - код FE не влючает в себя опции select, а основан на div, span....
<div class="option ui-select-choices-row-inner" data-selectable="" uis-transclude-append="">
<span class="ng-binding ng-scope" ng-bind-html="function.name | highlight: $select.search">pdu vertical</span>
</div>
Capture.JPG 13,79К
0 Количество загрузок:
и xpath определен для этих 2-х объектов (Function and Model) как:
public static final By ELEVATION_DEVICE_FUNCTION = By.xpath("//div[contains(@ng-model,'deviceModel.function')]");
public static final By ELEVATION_DEVICE_MODEL = By.xpath("//div[contains(@ng-model,'deviceModelFE.deviceModel')]");
Код выглядит вот так:
@Step(description = "Select function and model")
public void selectFunctionAndModel(String pduFunction, String pduModel) {
driver.findElement(ElevationElements.ELEVATION_DEVICE_FUNCTION).click(); //нажать на комбо
WebElement elementFunctionFromList = driver.findElement(ElevationElements.ELEVATION_DEVICE_FUNCTION);
Select elementFunction = new Select(elementFunctionFromList);
elementFunction.selectByVisibleText(pduFunction); //выбрать элемент
}
или для глобальной функции для универсального использования метода
@Step(description = "select element from drop down list by value")
public void selectElementFromDropBox(WebDriver driver, By elementComboBox, String value) {
waitForElementToBeVisible(elementComboBox);
Select elementFromList = new Select(driver.findElement(elementComboBox));
elementFromList.selectByVisibleText(value);
}
Всё выглядит довольно неплохо, но вся загвоздка в ошибке исполнения:
[18:30:28.888] ** STEP: Select Function And Model [Select function and model] [18:30:28.888] ** STEP: Wait For Element To Be Visible org.openqa.selenium.support.ui.UnexpectedTagNameException: Element should have been "select" but was "div" Build info: version: '3.4.0', revision: 'unknown', time: 'unknown' System info: host: 'ISRTLVM609', ip: '135.70.231.187', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_151' Driver info: driver.version: unknown
как победить эту ситуацию???

