А где вы в этом коде увидели проверки?
нет?
Угу. Один индус тоже написал
"some_text".equals(element.getText())
и искренне думал, что это ассерт.
Попробовал добавить Thread.sleep(5000) в этом тесте:
@Test(priority = 3)
public void checkProvidersTest() throws Exception {
driver.findElement(By.xpath("//div[2]/div/div[1]/div[1]/a")).click();
driver.findElement(By.xpath("//p[1]/a")).click();
Assert.assertTrue(isElementPresent(By.xpath("//div[2]/div/div/table")));
driver.findElement(By.xpath("//tr[2]/td[2]")).click();
Thread.sleep(5000);
Assert.assertTrue(isElementPresent(By.xpath("//div/div[3]/div[4]/div/div[3]/div/div[2]/div/div/table")));
}
Но все равно на втором Assert-е выдает эксепшин.
А кусок кода страницы можно посмотреть? Очень любопытно посмотреть на все эти безликие div
и tr
Там gwt - его “нахрапом” не возьмешь.
Как-то вот так:
<div style="position: absolute; left: 0px; width: 100%; top: 0px; min-width: 20px; min-height: 20px; overflow: hidden;">
<div style="position: absolute; left: 0px; width: 100%; bottom: 0px; min-width: 20px; min-height: 20px; overflow: hidden;">
<div style="position: absolute; left: 0px; width: 100%; overflow: hidden; top: 47px; height: 303px;">
<div class="GOSHEXWDON" style="position: relative; overflow: hidden; height: 100%;">
<div style="position: absolute; z-index: -32767; top: -20ex; width: 10em; height: 10ex; visibility: hidden;" aria-hidden="true"/>
<div style="position: absolute; overflow: hidden; left: 0px; top: 0px; right: -17px; bottom: -17px;">
<div style="position: absolute; overflow: scroll; left: 0px; top: 0px; right: 0px; bottom: 0px;">
<div class="GOSHEXWDJG" style="position: relative; min-width: 20px; min-height: 20px; display: block;">
<div style="visibility: hidden; position: absolute; height: 100%; width: 100%; overflow: scroll; z-index: -1;">
<div style="visibility: hidden; position: absolute; height: 100%; width: 100%; overflow: scroll; z-index: -1;">
<table class="table-condensed table-bordered table-striped" cellspacing="0" style="table-layout: fixed; width: 100%;">
<colgroup>
<tbody>
<tr class="GOSHEXWDLE" __gwt_subrow="0" __gwt_row="0">
<tr class="GOSHEXWDKF GOSHEXWDMF" __gwt_subrow="0" __gwt_row="1">
<tr class="GOSHEXWDLE GOSHEXWDCF" __gwt_subrow="0" __gwt_row="2">
<td class="GOSHEXWDKE GOSHEXWDME GOSHEXWDNE GOSHEXWDDF">
<td class="GOSHEXWDKE GOSHEXWDME GOSHEXWDDF">
<div __gwt_cell="cell-gwt-uid-421" style="outline-style:none;">EasyPay</div>
</td>
<td class="GOSHEXWDKE GOSHEXWDME GOSHEXWDDF">
<td class="GOSHEXWDKE GOSHEXWDME GOSHEXWDHF GOSHEXWDDF">
</tr>
<tr class="GOSHEXWDKF" __gwt_subrow="0" __gwt_row="3">
<tr class="GOSHEXWDLE" __gwt_subrow="0" __gwt_row="4">
<tr class="GOSHEXWDKF" __gwt_subrow="0" __gwt_row="5">
<tr class="GOSHEXWDLE" __gwt_subrow="0" __gwt_row="6">
<tr class="GOSHEXWDKF" __gwt_subrow="0" __gwt_row="7">
<tr class="GOSHEXWDLE" __gwt_subrow="0" __gwt_row="8">
<tr class="GOSHEXWDKF" __gwt_subrow="0" __gwt_row="9">
</tbody>
</table>
</div>
</div>
</div>
<div style="position: absolute; overflow: hidden; right: 0px; bottom: 0px; width: 0px; height: 0px;">
<div style="position: absolute; overflow: hidden; left: 0px; top: 0px; right: 0px; bottom: 0px; display: none;">
<div style="position: absolute; overflow: hidden; top: 0px; right: 0px; bottom: 0px; width: 17px; display: none;">
Что-то спасет?
Опыт в автоматизации.
А что это за ресурс? Может все-таки стоит подумать над целесообразностью?
Это понятно. А в моем случае, вариантов больше нет. Может напишете, хоть в какую сторону смотреть?
Слишком много этих “сторон” на вашем текущем уровне.
“Нельзя так просто взять… и написать стабильные тесты для GWT+IE”
Но что бы не флеймить, покажу “тропинку” - scLocator - Google Search
Спасибо!
Еще такой вопрос:
если я проставлю статические id, и буду по ним искать.Столкнусь ли я с такими же проблемами?
Уух! представляю, на сколько эти тесты офигенные в поддержке.
наверно при устройстве на новую работу, надо просить показывать часть кода автотестов работадателя
Где-то перестанет падать, где-то нет. Все “пофиксить” таким способом не получится.
Советую применить google для поиска, почему могут быть такие ошибки.
Но вообще часто можно понять по названию exception’а или stack trace. У вас огромные проблемы с локаторами. Нужно понимать, в какой момент времени какой элемент видим, а какой - нет.
Мой тебе совет - перед тем как использовать xpath почитай как его ПРАВИЛЬНО использовать.
Ибо эта “простыня” вызывает лишь слезы на глазах =)
Окей =)
Stalereference Exeption падает из-за того,что элемент больше не привязан к DOM. Нужно дождаться елемента, а потом уже на него кликать. В Selenium.Support (Если не ошиблась с названием библиотеки) есть класс ExpectedConditions. И кстати для Java там больше вариантов, чем для C#.