именно это я и хочу сдеать:)
Но стрелки не определены как отделый элемент со своим xpath
Это внутренний "table" для общего элемента Input и попытка просто сделсть Click()
всего лишь фокусирует на общем элементе...
27 сентября 2018 - 08:38
именно это я и хочу сдеать:)
Но стрелки не определены как отделый элемент со своим xpath
Это внутренний "table" для общего элемента Input и попытка просто сделсть Click()
всего лишь фокусирует на общем элементе...
17 сентября 2018 - 09:51
Конструкция WebElement.getText()
WebElement.getAttribute("value")
у меня не прокатывает и сыпет ошибками типа:
400 incorrect JSON status mapping for scale element reference [object null]....
Вообще, трансформация WEbElement --> String очень хрупкая конструкция, на выходе которой очень часто получаются flaky тесты.
15 сентября 2018 - 19:02
Сомневаюсь, что вы бы у нас долго продержались:)
Randomize выбора всех возможных элементов системы после постороения Builder на каждый - это концептуальная фишка нашего
нового начальства...
Сотни тестов, которое я написал ранее по вашей схеме идут в разрез с новой идеологией,
поэтому всё новое хотят делать именно так, поэтому изголяться приходится по-черному....
09 сентября 2018 - 17:39
Представь себе 3 фильтра
Filter 1 Filter2 Filter 3
All All All
Rack1 Device1 Power
Rack2 Device2 Managment
Rack3 Device3 Data
... ..... ....
И какая матрица возможностей получится?
09 сентября 2018 - 15:14
Spock, легитимный вопрос...
Отвечаю: Принцип домино построения нашего продукта подразумевает открытие меню и его под-меню
на несколько уровней вниз. Постороение похоже на матаматический граф, при этом под-меню логически не всегда связаны между собой
(только в случает кросс линков).
Например, Rack --> Device --> Sub-device --> Virtual Sub-device --> Controller --> Model....
Пожтому выбор элемента из считанного списка (строит FE angular) открывает разные (!) дополнительные опции
А посему, пробегаясь по листу я каждый раз могу проверить еще что-то дополнительное....
Надеюсь, понятно изложил
По вопросу выше, я частично решил проблему, использовав конструкцию: get(index).click()
@Step(description = "filter all Racks Cables select and assertion") public void assertAllCablesInRacks(List<WebElement> elementsInRackFilter) { List<WebElement> rackElements = getAllElementsRackFilter(CablingElements.RACK_FILTER_LIST, CablingElements.RACK_FILTER_SELECTED); int sizeOfList = elementsInRackFilter.size(); for (int i=1; i<sizeOfList;i++){ try { rackElements.get(i).click(); } catch (StaleElementReferenceException e){ System.out.println("<------------- The element reference of [object Null] -------------> "); } assertFilterCables(); clickRackFilter(); rackElements = getAllElementsRackFilter(CablingElements.RACK_FILTER_LIST, CablingElements.RACK_FILTER_SELECTED); } }
Пробема, которую я до сих пор не победил - это универсальность этого метода для нескольких DROPBOX на одно1 стринице
Например, для случая 2-х таких элементов, метод прекрасно срабатывает для первого DropBox (пробегает поочередно все нужные мне элементы списка с assertion)
и стопорится уже в начале выбора второго DropBox (по тому же методу) именно на той же самой строчке get(i).click();
Индексы пробега у обоих DropBox похожи:
public static String RACK_FILTER_SELECTED = "//span[@formation-id='rack-title-%d']"; public static String RACK_TYPE_SELECTED = "//span[@formation-id='rack-type-%d']";
Метод один и тот же для обоих, List считывается и заполняется элементами.
@Step(description = "get all elements from the list") public List<WebElement> getAllElementsRackFilter(By xpathList, String xpathFilter) { List<WebElement> rackFilterList = new ArrayList<>(); List<WebElement> rackFilterElements = driver.findElements(xpathList); for (int i=0; i<rackFilterElements.size(); i++) { String xpathRackFilter = String.format(xpathFilter, i); By xpathRack = By.xpath(xpathRackFilter); WebElement listElement = driver.findElement(xpathRack); rackFilterList.add(listElement); } return rackFilterList; }
но вот близнец не хочет выбрать и кликать на элемент
Может нужно очищать cache или обгулять списки и листы после первого использования?
Community Forum Software by IP.Board Русификация от IBResource
Лицензия зарегистрирована на: Software-Testing.Ru