2015-06-09 3 views
3

Я пытаюсь утверждать, что кнопка на нашей странице отключена. Ниже HTML является то, что я работаю с на данный момент:Как подключить вложенные xpaths для Selenium webdriver? т.е. Ярлык и отдельная кнопка в строке

<div data-persona-noeditable="" style="display: block;"> 
    <div class="c-potential-tooltip persona-name pull-left" data-potential-tooltip=""> 
     <div data-name-persona="" class="marg5" data-original-title="" title="">autoTestMapped</div> 
    </div> 
    <button class="btn btn-small pull-left marg5" data-copy-persona="">Copy</button> 
    <button class="btn btn-small pull-left marg5" data-edit-persona="" style="display: inline-block;">Edit</button> 
    <button class="btn btn-small pull-left marg5" data-persona-deactivate="" disabled="" style="display: inline-block;">Deactivate</button> 
    <button class="btn btn-small pull-left marg5" data-persona-activate="" style="display: none;">Activate</button> 
    <i class="fa fa-times pull-down" data-persona-delete="" style="display: none;"></i> 
</div> 

Я пытаюсь проверить, если кнопка Деактивировать отключена или нет, но я хочу, чтобы связать его вместе с именем метки в строке, autoTestMapped.

Это гнездо в первом div, и мне трудно понять, как получить Selenium, чтобы посмотреть на оба из них, чтобы подтвердить, что кнопка идет с этим конкретным пользователем.

Я пробовал различные вариации:

Assert.assertFalse("deactivate button is disabled for autoTestMapped", driver.findElement(By.xpath("//*div[contains(text(), 'autoTestMapped')]")).isEnabled()); 

в том числе с использованием | для подключения двух отдельных XPath, но ничего не работает. Я могу жестко установить местоположение xpath, но это не является статичным, поскольку недавно созданный пользователь может заставить список перемещаться вверх или вниз.

Любая помощь по этому вопросу была бы чрезвычайно оценена.

ответ

1

following-sibling будет полезно здесь:

//div[contains(@class, "persona-name") and div = "autoTestMapped"]/following-sibling::button[. = "Deactivate"] 
+0

Спасибо! Это сработало отлично. – automationk

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