2014-02-15 4 views
1

Когда мы используем команду selenium в то время, команда не находит и атрибут не получает? См. Ниже команду.Команда Selenium

<table> 
    <tr><td>open</td><td>http://www.wikipedia.org/</td><td></td></tr> 
    <tr><td>verifyAttribute</td><td>css=input#searchInput</td><td>(Search Input)</td></tr> 
    <tr><td>assertAttribute</td><td>css=input#searchInput</td><td>(Search Input)</td></tr> 
    <tr><td>verifyAttribute</td><td>css=input#searchInput</td><td>language</td></tr> 
    <tr><td>verifyAttribute</td><td>xpath=//div[2]@class central-featured</td><td>central-featured</td></tr> 
    <tr><td>verifyAttribute</td><td>xpath=//div[2]@class central-featured</td><td>search1</td></tr> 
    <tr><td>assertAttribute</td><td>xpath=//div[2]@class central-featured</td><td>central-featured</td></tr> 
</table> 

Я использую Selenium IDE 2.5.0 в Mozilla Firefox и Ubuntu.

+0

Можете ли вы показать HTML вы тестируете это против? – t0mppa

+0

@ t0mppa, когда мы сохраняем эту команду, или мы пишем текст в формате таблицы, тогда мы можем видеть HTML, и мы также можем изменить его и отразить для прямого в IDE – Tehsil

ответ

1

Xpath //div[2]@class central-featured недействителен. Попробуйте изменить его на //div[@class='central-featured']/@class, если вы хотите выбрать класс. Вы также можете использовать функцию assertElementPresent вместо выбора атрибута, если цель состоит в том, чтобы проверить, существует ли элемент, например: <tr><td>assertElementPresent</td><td>xpath=//div[@class='central-featured']</td><td></td></tr> Намного проще.

+0

спасибо dyr ... Это работает ... в моем скрипте несколько классов неправильно .... – Tehsil

0

Xpath, который вы использовали в Invalid.

Вы можете использовать XPath следующим образом и через это вы можете плавники XPath любого объекта - просто нужно изучить понятие:

Google

Здесь, как мы можем видеть, что мы хотим, чтобы искать Google Search просто писать его в консоли XPath Таким образом, чтобы найти кнопку поиска Google, мы должны написать XPath как этот

//span[@id='gbqfsa'] 

После того, как мы попали ввести это принесет

[gbqfsa "> Google Search],

Это показывает, что для Google XPath Search Button правильно написано

Теперь предположим, что мы хотим найти кнопку поиска Google, если мы просто знакомым, что атрибуты ID начать с gbqfs

, то мы должны использовать функцию начинается-с, как это

//span[starts-with(@id,'gbqfs')] 

и один раз, когда мы попали войти на консоль она будет отражать две кнопки один является Google Searchand Второй один я повезёт

[ 
gbqfsa">​Google Search​​ 
, 
​I'm Feeling Lucky​​ 
] 

Так, чтобы узнать Google Search однозначно мы должны завершить идентификатор атрибута для gbqfsa

“//span[starts-with(@id,'gbqfsa')] 

и нажмите, чтобы войти, и теперь он будет отражать только

[ 
​Google Search​​ 
], 

это доказывает, что мы написали правильный XPath для поиска Google

Таким же образом мы можем использовать Содержит функцию, чтобы найти кнопку поиска Google, как этот здесь я взял ФС из gbqfsa //span[contains(@id,'fsa')]

хита войти и, надеюсь, он будет возвращать

[ 
​Google Search​​ 
], 

если есть несколько атрибутов, которые мы можем использовать: //span[contains(@id,'fsa') and contains(@class, 'xyz')] нажмите, введите, и, надеюсь, он вернется

В Образование Источник: Sumit Mittal Blog

+1

thanx Sumit для вас ценят полезную помощь. он работает правильно ... – Tehsil

+0

Ваше приветствие Tehsil - можете ли вы проголосовать за мой ответ или выбрать по мере необходимости. – Sumitbit2005

0

Вы можете использовать CSSSelector, как показано ниже

webDriver.findElements(By.cssSelector("div.central-featured")) // for more than 1 elements with same class 

webDriver.findElement(By.cssSelector("div.central-featured")) // for 1 element 
1
  1. Используйте XPaths в этом случае.
  2. Использование Google Chrome встроенный в средстве разработки для этого
  3. Наведите курсор на элемент
  4. Нажмите Ctrl + Shift + C
  5. Нажмите элемент
  6. Это щелкнул элемент кода подсвечивается в кратко- окно на нижней
  7. Щелкните правой кнопкой мыши на выделенном коде
  8. Выберите Копировать> Копировать XPath

Здесь вы скопировали xPath для этого конкретного элемента. Это показано на рисунке:

Click to see how to copy xPath

Смежные вопросы