Всем привет.
В роботе использую xpath в качестве локаторов, но хочется узнать как использовать и откуда доставать другие локаторы.
Dom - если честно, вообще непонятно что указывать. Если в фаербаге открыть вкладку дом, там будет целое полотно различных параметров…
CSS - тут тоже не все гладко. Если скопировать css path для какого-то элемента из фаербага, то получаю строку по типу:
html body.base.user section.wrapper div#tabs.ui-tabs.ui-widget.ui-widget-content.ui-corner-all div#customers.signed.ui-tabs-panel.ui-widget-content.ui-corner-bottom section.edit.hidden-view div.bootstrap-table div.fixed-table-toolbar div.columns.columns-right.btn-group.pull-right button.btn.btn-default
из этой строки, на сколько я понимаю, необходимо что-то выбрать в качестве локатора, но что именно и по какому принципу выбирать - непонятно.
из селениум2библиотеки:
dom Click Element | dom=document.images[56] Matches with arbitrary DOM express
css Click Element | css=div.my_class Matches by CSS selector
в общем, если кто знает, объясните, пожалуйста, как и откуда брать параметры css и dom для использования их в качестве локатора элемента?
а для чего именно писать xpath? он копируется из фаербага в готовом виде и сразу же может быть использован, а вот с dom и css так не получается, использовать сразу
в любом случае, спасибо за инфу буду, смотреть/читать/разбираться/пробовать
Работа с локаторами в роботе ничем не отличается от других инструментов и необходимую информацию Вам привели ниже. Я же дополню, что, если Вы работаете с firefox, то может оказаться полезным это расширение GitHub - joao-carloto/FireRobot: Firefox extension for Robot Framework/Selenium., позволяющее упростить работу по программированию selenium-тестов
я так понимаю, что это что-то вроде minimal xpath?
т.е. любой абсолютный xpath можно преобразовать в более наглядный вариант?
я встречал на некоторых элементах варианты minimal xpath, но не знал, что можно абсолютный преобразовать…
Тут главная суть вовсе не в наглядности, а скорее в надежности.
Абсолютный путь, например “html/body/div[1]/div[3]/div/div[2]/div/div[2]/div/div[1]/div/a[1]” при минимальном изменении верстки, может тупо сломаться, потому что разрабы добавили еще один div или еще одну ссылочку и ваша искомая уже имеет индекс не [1], а [2], или и вовсе находиться по адресу “html/body/div[1]/div[6]/div[3]/div/a[8]” и все… ваши тесты сломались.А чинить локаторы, после каждого чекина со стороны юайщиков… ну ппц же.