Перейти к содержимому

Фотография

Проблемы при открывании и закрывании выпадающего окна


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 Lace

Lace

    Новый участник

  • Members
  • Pip
  • 48 сообщений

Отправлено 10 декабря 2012 - 12:48

Суть проблемы такова:
Есть кнопка - View my accounts - которая открывает собственно список аккаунтов. команда Click переодически не срабатывает то на втором, то на третьем этапе. Не работает и команда "закрыть список счетов" Hide my accounts
Выдает ошибку [error] Element //div[@id='main']//span/a[@id='hide_acc'] not found

[info] Executing: |clickAndWait | //div[@id='main']//span/a[@id='view_acc'] | View my accounts |
[info] Executing: |waitForElementPresent | //div[@id='accounts_list'] | |
[info] Executing: |click | //div[@id='main']//span/a[@id='hide_acc'] | Hide my accounts |
[error] Element //div[@id='main']//span/a[@id='hide_acc'] not found


Локаторы прописаны правильно, так как если нажать на саму команду в селениуме, то все прекрасно открывается и закрывается. Да и сам тест проходит через раз - т.е. один раз все открывает и закрывает без ошибок, в другой сбивается на одном из повторений. Я вижу, что проблема в том, что Selenium пытается нажать на кнопку раньше, чем она появляется, но как это исправить?
Пробовала и WaitForPageToLoad и ClickAndWait и как сейчас - WaitToElementPresent - результаты одинаковые

<tr>
<td>click</td>
<td>//div[@id='main']//span/a[@id='view_acc']</td>
<td>View my accounts</td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//div[@id='accounts_list']</td>
<td></td>
</tr>
<tr>
<td>storeText</td>
<td>//div[@id='accounts_list']/table/tbody/tr[1]/td/a/span</td>
<td>LinkText</td>
</tr>
<tr>
<td>echo</td>
<td>${LinkText}</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>//div[@id='accounts_list']/table/tbody/tr[1]/td/a</td>
<td></td>
</tr>
<tr>
<td>assertTextPresent</td>
<td>${LinkText}</td>
<td></td>
</tr>
<tr>
<td>goBack</td>
<td></td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//div[@id='main']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//div[@id='main']//span/a[@id='view_acc']</td>
<td>View my accounts</td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//div[@id='accounts_list']</td>
<td></td>
</tr>
<tr>
<td>storeText</td>
<td>//div[@id='accounts_list']/table/tbody/tr[2]/td[1]/a/span</td>
<td>LinkText2</td>
</tr>
<tr>
<td>echo</td>
<td>${LinkText2}</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>//div[@id='accounts_list']/table/tbody/tr[2]/td/a</td>
<td></td>
</tr>
<tr>
<td>assertTextPresent</td>
<td>${LinkText2}</td>
<td></td>
</tr>
<tr>
<td>goBack</td>
<td></td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//div[@id='main']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//div[@id='main']//span/a[@id='view_acc']</td>
<td>View my accounts</td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//div[@id='accounts_list']</td>
<td></td>
</tr>
<tr>
<td>storeText</td>
<td>//div[@id='accounts_list']/table/tbody/tr[3]/td[1]/a/span</td>
<td>LinkText3</td>
</tr>
<tr>
<td>echo</td>
<td>${LinkText3}</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>//div[@id='accounts_list']/table/tbody/tr[3]/td/a</td>
<td></td>
</tr>
<tr>
<td>assertTextPresent</td>
<td>${LinkText3}</td>
<td></td>
</tr>
<tr>
<td>goBack</td>
<td></td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//div[@id='main']</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>//div[@id='main']//span/a[@id='view_acc']</td>
<td>View my accounts</td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//div[@id='accounts_list']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//div[@id='main']//span/a[@id='hide_acc']</td>
<td>Hide my accounts</td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//div[@id='main']</td>
<td></td>
</tr>


  • 0

#2 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 10 декабря 2012 - 13:10

_________
<td>waitForElementPresent</td>
<td>//div[@id='accounts_list']</td>
_________
<td>click</td>
<td>//div[@id='main']//span/a[@id='hide_acc']</td>
___________

т.е. вы ждете один элемент, а кликаете на другой
Поставьте waitForElementPresent //div[@id='main']//span/a[@id='hide_acc']
  • 0

#3 Lace

Lace

    Новый участник

  • Members
  • Pip
  • 48 сообщений

Отправлено 10 декабря 2012 - 13:30

_________
<td>waitForElementPresent</td>
<td>//div[@id='accounts_list']</td>
_________
<td>click</td>
<td>//div[@id='main']//span/a[@id='hide_acc']</td>
___________

т.е. вы ждете один элемент, а кликаете на другой
Поставьте waitForElementPresent //div[@id='main']//span/a[@id='hide_acc']


Логично :)
Спасибо, заработало...
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных