Код Middle Selenium и WebDriver обновлено

Разбор строки локатора в стратегию By

Условие

Во фреймворке локаторы пишут строками с префиксом. Напишите parse_locator(s), возвращающую список [стратегия, значение], где стратегия это строковое значение By в Selenium:

  • id= → "id", name= → "name", css= → "css selector", xpath= → "xpath", link= → "link text", testid= → "css selector" со значением [data-testid="<значение>"];
  • без известного префикса: если строка начинается с / или (, это "xpath", иначе "css selector" со строкой целиком.

Префикс отделяется по первому =. Пробелы по краям всей строки убрать.

Примеры

parse_locator("id=email") // ["id", "email"]
parse_locator("css=form button[type=submit]") // ["css selector", "form button[type=submit]"]
parse_locator("xpath=//a[@href=\"/cart\"]") // ["xpath", "//a[@href=\"/cart\"]"]

Как подойти

Подсказки: 1
  1. Отделите голову по первому «=» и проверьте, известный ли это префикс.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.

Термины по теме