t.me/atinfo_chat Telegram группа по автоматизации тестирования

И снова о локаторах(((


(Julia87) #1

Всем привет)

Снова возник вопрос о написании локаторах(  Есть табличка со списком ,в ней последний столбец реализован в виде чекбокса-для возможности выбора элемента. Когда Selenium IDE воспроизводит нажатие на этот  checkbox, записывается следующее выражение-

<tr>
    <td>click</td>
    <td>id=CaseId_3786</td>
    <td></td>
</tr>

но при повторном прогоне уже этот элемент не находит((((Вот как выглядит код элемента-

<td align="center" class="t-last">

<input type="checkbox" id="CaseId_3786" onclick="javascript:SwitchOffCycleNew(3786)">

</td>

Если кликнуть на нем правой кнопкой мыши,в списке возможных действий можно выбрать-

<tr>
    <td>verifyElementPresent</td>
    <td>css=td.t-last</td>
    <td></td>
</tr>

но при прогоне-программа не находит  его(

Заранее спасибо)


(Taras) #2

может таблица в фрейме , киньте кода поверх таблици больше хтмл-ного

по идеи By.id ("CaseId_3786") должно сработать без проблем


(Ch00k) #3

Подозреваю что CaseId_3786 каждый раз новый.


(Ch00k) #4

Попробуйте XPath

//td[@class='t-last']/input[@type='checkbox']

(Julia87) #5

//td[@class='t-last']/input[@type='checkbox']----так не находит(  CaseId-для каждого элемента свой и он не изменяется-то есть если мне нужно найти запись с CaseId_3786 то нужно искать по этому номеру-3786

вот код как формируется первая строка таблицы:

<tbody>

<tr class="t-master-row">

<td class="t-hierarchy-cell">

<a class="t-icon t-plus" href="#"></a>

</td>

<td>

<a href="/SR3786/AnnualOffCycleIllustration">3786</a>

</td>

<td>Client Green2160</td>

<td>Portfolio SpringBB</td>

<td>New Jersey National Assurance Company</td>

<td>16362340</td>

<td>UL</td>

<td align="center">

<img alt="True" src="/App_Themes/Default/images/true.png"></td>

<td align="center" class="t-last">

<input type="checkbox" id="CaseId_3786" onclick="javascript:SwitchOffCycleNew(3786)"></td>

</tr>

 

 


(Julia87) #6

Я вобще уже ничего не пойму в чем проблема(((очистила кеш и куки, и оставила так как было вчера -

verifyTable------------------css=#grdOffCycleRequestsCaseSearchMasterResultData > table.1.8

verifyElementPresent---------------------css=td.t-last

click------------id=CaseId_3786

первые разы проходит нормально,потом же начинае писать-что все,элемент не найден??????????????


(maxura) #7

А после последующих прогонов DOM не изменяется? Или может нужно подождать элемент пока он появится в DOM? Если иcпользуется именно ИДЕ то может в каком то месте теста, нужно поставить waitForElementPresent?


(falke5) #8

я так понял что вам нужно выбрать чекбокс напротив надписи с определённым id если да то попробуйте кликнуть следующий xpath

xpath=//a[contains(text()'3786')]/../input


(Julia87) #9

Спасибо всем за советы) Пока приходится периодически очищать кеш и куки чтоб работало нормально)мож со временем что то придумаю)