Rails Automation с использованием Capybara Selenium - xpath - PullRequest
0 голосов
/ 27 октября 2011

Я работаю над автоматизацией функционального тестирования рельсов с помощью капибары и селена. Нам нужно широко использовать xpath, и я очень новичок в xpath.

  1. Отличается ли xpath, используемый cpaybara, от общего xpath?
  2. Как мы можем отладить ошибку с помощью xpath, есть ли такой инструмент, как firebug, чтобы убедиться, что xpath правильный? работать).

Прямо сейчас я застрял со следующей ошибкой,

Failure/Error: find(:xpath, '//div[@class="comment"]/div/div/div/ul/li/a[@title="Delete"]').click

Любая помощь высоко ценится ...

Edit: Отредактировал синтаксическую ошибку из приведенного выше кода.

Ответы [ 2 ]

2 голосов
/ 27 октября 2011

В качестве альтернативы вы можете попробовать функцию содержимого в последнем якоре

//div[@class="comment"]/div/div/div/ul/li/a[contains(text(), "Delete"]

Чтобы проверить XPath, проверьте XPath Visualizer

http://www.huttar.net/dimitre/XPV/TopXML-XPV.html

Подробнее на этот вопрос SO

0 голосов
/ 27 ноября 2018
  1. Отличается ли xpath, используемый cpaybara, от общего xpath?

    Ответ: xpath будет обычным, но не всемвремя истинно, потому что некоторые фреймворки не поддерживают методы xpath, например

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

    //div[@id='some_id']/label/text()
    

    Но селен не поддерживает поиск элемента с помощьюtextnode выше xpath не будет работать.

  2. Как мы можем отладить ошибку с помощью xpath, есть ли такой инструмент, как firebug, чтобы убедиться, что xpath верен?

    Ответ: В браузере Chrome v70 используйте следующие шаги для оценки и проверки xpath:

    • Откройте консоль Chrome, нажав клавишу F12
    • нажмите Ctrl + F , откроется текстовое поле для поиска данных, убедитесь, что на консоли выбрана вкладка Element
    • Теперь начните писатьВы настроили xpath здесь или вы можете вставить скопированный xpath здесь, чтобы проверить, есть ли элемент, яt выделить найденный элемент, а также показывает количество.См. Изображение ниже:

enter image description here

  • Чтобы найти автоматически сгенерированный xpath

    1. Щелкните правой кнопкой мыши по нужному элементу> осмотрите

      enter image description here

    2. Выделите соответствующий элемент,выберите его и щелкните правой кнопкой мыши.Ниже показана опция:

      enter image description here

    3. выберите копию xpath, вы получите автоматически сгенерированный xpath, вы можете оценитьтак же, как упомянуто выше, чтобы убедиться, что это правильно

...