Камрады!
Среда: 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
как победить эту ситуацию???