2013-02-18 5 views
1

У меня есть ошибка [error] Element //div[@id='newslist_config']//button[@type='button'] not found, когда я использую автоматический запуск для запуска теста на селен, но если я нажму на команду и выберете Execute this command Тест пройдет. Не могли бы вы рассказать мне, почему селен не может найти этот элемент?error Элемент // ..... не найден

Мой Селен тест

<tr> 
    <td>click</td> 
    <td>//div[@id='newslist_config']//button[@type='button']</td> 
    <td></td> 
</tr> 

HTML, является

<div id="newslist_config" class="section-box span8"> 
<div class="accordion-group"> 
<div class="accordion-heading"> 
<h3>News-List Configuration</h3> 
<a class="btn btn-danger close_newslist_config" data-dismiss="modal" href="#">remove widget</a> 
<button class="btn btn-info collapse-btn" type="button" href="#collapse_newslist" data-parent="#newslist_config" data-toggle="collapse"> 
<span class="edit-btn-txt"> 
<span class="collapse-btn-txt"> 
</button> 
</div> 
<div id="collapse_newslist" class="collapse collapse-box"> 
</div> 
</div> 
+0

Как насчет '// div [@ id = 'accordion-heading']/descendant :: input [@ type = 'button']'? – Arran

ответ

0

Вы могли бы вместо того, чтобы попробовать: //div[@id='accordion-heading']/button[@type='button'] XPath Это более прямой путь; если это не сработает, я бы предложил попробовать щелкнуть один из содержащихся интервалов, поскольку иногда, из-за стилизации, щелчок по диапазону элементов достигает более согласованных результатов. Иногда я сталкиваюсь с этой проблемой при работе с WebDriver в KendoUI.

+0

Я использую // div [@ id = 'newslist_config']/div [@ class = 'accordion-group']/div [@ class = 'accordion-heading']/button [@ type = 'button'] но он все еще не работает, когда я запускаю «текущий тестовый случай». Но если вы работаете, когда я нажимаю правой кнопкой мыши на команде и выбираю «Выполнить эту команду. –

+1

Это исправлено с помощью паузы 999 после команды щелчка :) –

+0

Если она работает только тогда, когда вы выполняете команду напрямую (или с паузой), вы, скорее всего, делаете что-то неправильно до или после этого xpath. Возможно, стоит посмотреть на окружающие области вашего кода, поскольку сон невелики! – Nashibukasan

0

подход:

1.Derive СМЧ Selector от данного DOM.

CSS = # newslist_config .collapse-BTN

2.Perform щелчок

driver.findElement (By.cssSelector ("# newslist_config .collapse-BTN")) нажмите().

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