Selenium IDE - Как записать xpath в плагине Firefox - PullRequest
2 голосов
/ 30 июня 2010

У меня проблемы с xpaths в плагине Firefox. У меня есть три текстовых поля, первое имеет идентификатор = логин, а остальные имеют динамически генерируемые идентификаторы. Первый работает нормально для записи в плагин, // input [@ id = 'login'], но как только я пытаюсь что-то более продвинутое, он не может ничего найти. Прочитав множество сообщений на форуме, я попробовал подключаемый модуль XPather для генерации кодов xpath, но длинные строки, заполненные html / css, также не работают. В некоторых темах люди пишут «xpath = // ...», и я тоже пытался, но безрезультатно.

Благодарен за всю возможную помощь!

// М

Ответы [ 2 ]

3 голосов
/ 15 сентября 2010

Используются два инструмента: Firebug и XPath Checker , оба дополнения Firefox.

В Firebug выберите вкладку HTML, щелкните правой кнопкой мыши наэлемент и выберите «Копировать XPath»

Для XPath Checker, щелкните правой кнопкой мыши элемент на странице и выберите «Просмотр XPath».

Вы можете проверить это, вставив результат в поле назначенияSelenium IDE, а затем нажмите кнопку «Найти».Это говорит о том, каким будет результат Selenium (гораздо быстрее, чем запускать тест снова и снова!)

Я обнаружил, что вам нужно несколько «помассировать» результат, например

Если вы перейдете на главную страницу Google и поищите ссылку «Изображения» в левом верхнем углу, XPath Checker выдаст изображение XPath в виде:

// id ('gbar') / x: nobr /x: a 1

Выдает ошибку:

[ошибка] локатор не найден: // id ('gbar') / x: nobr / x: a 1 , ошибка = ошибка: неверный xpath 2 : // id ('gbar') / x: nobr / x: a 1

Если вы удалите идентификатор, например,

// x: nobr / x: a 1

, вы заметите, что вокруг изображения есть зеленая рамка, показывающая егоIDE правильно его проанализировала.

0 голосов
/ 01 июля 2010

Хорошо, я нашел новую информацию, и она работает с написанием "xpath = /" и автоматически генерируемых кодов из XPather.Несмотря на то, что xpath очень длинные и во многом полагаются на HTML-теги, они остаются неизменными.

Есть ли у кого-нибудь лучшая идея для записи выражений xpath (или выражений css) для ввода информации в следующие три элемента текстового поля:

TEXTBOX 1

  • Firebug: input type = "text" tabindex = "110" name = "6011300f91d9f186d1b7ab1a034827da" id = "input1"
  • Рабочий xpath в Selenium, полученный из XPather: xpath = / html / body [@ID = 'огонь'] / форма [@ ид = 'LoginForm'] / дел / дел / дел [@ ид = 'контейнера'] / дел [@ ид = 'содержание'] / дел [@ ид = 'contentPadding']/ div [1] / fieldset [1] / input [@ id = 'input1']

TEXTBOX 2

  • тип ввода = "пароль "tabindex =" 110 "name =" 0de4766295b7a965fc4969da3df6824ba "
  • xpath = / html / body [@ id = 'fire'] / form [@ id = 'loginForm'] / div / div / div [@id = 'container'] / div [@ id = 'content'] / div [@ id = 'contentPadding'] / div [1] / fieldset [2] / input

TEXTBOX 3

  • тип ввода = "пароль" tabindex = "110" class = "last" name = "6c4e0fcde65e258c3dc7c508a1cc666a"
  • XPath = / html / тела [@ ид = 'огня'] / формы [@ ид = 'LoginForm'] / дела / дела / дела [@ ид = 'контейнера'] / дел [@ ид = 'содержание']/ div [@ id = 'contentPadding'] / div [1] / fieldset [3] / input

// M

...