Встала следующая задача: если пользователь авторизирован на сайте, то сделать лог аут. Для решения задачи прочитал вот эту статью, в которой как раз дан неплохой пример реализации через оператор IF (для этого используется внешнее расширение). Все вроде сделал правильно, но при попыке запустить тест вываливается следующая ошибка:
[info] Executing: |storeEval | if (selenium.isElementPresent('link=New Account') == false) {nextMove='LogOut')} | nextMove |
[error] Threw an exception: missing ; before statement
Сам тест:
<tr><td>open</td>
<td>http://site.com/</td>
<td></td></tr>
<tr><td>storeExpression</td>
<td>http://site.com/</td>
<td>mainPage</td></tr>
<tr><td>waitForPageToLoad</td>
<td></td>
<td>6000</td></tr>
<tr><td>assertLocation</td>
<td>${mainPage}</td>
<td></td></tr>
<tr><td>assertTitle</td>
<td>Site Name</td>
<td></td></tr>
<!--Ищем элемент link=New Account и принимаем решение о следующем шаге-->
<tr><td>storeEval</td>
<td>if (selenium.isElementPresent('link=New Account') == false) {nextMove='LogOut')}</td>
<td>nextMove</td></tr>
<tr><td>echo</td>
<td>${nextMove}</td>
<td></td></tr>
<!--Двигаемся согласно результату в nextMove-->
<tr><td>gotolabel</td>
<td>${nextMove}</td>
<td></td></tr>
<!--Отрабатываем положительный результат теста-->
<tr><td>label</td>
<td>LogOut</td>
<td></td></tr>
<tr><td>clickAndWait</td>
<td>id=fp_logout</td>
<td></td></tr>
<tr><td>assertTitle</td>
<td>Site Name</td>
<td></td></tr>
<tr><td>click</td>
<td>css=div.link.login > span.link-text</td>
<td></td></tr>
<tr><td>type</td>
<td>id=fp_username</td>
<td>user</td></tr>
<tr><td>type</td>
<td>id=fp_password</td>
<td>123456</td></tr>
<tr><td>clickAndWait</td>
<td>id=fp_login</td>
<td></td></tr>
<tr><td>waitForPageToLoad</td>
<td></td>
<td>6000</td></tr>
<tr><td>assertTextPresent</td>
<td></td>
<td>user</td></tr>
<tr><td>assertTextPresent</td>
<td></td>
<td>link=/user/</td></tr>
<tr><td>assertTextPresent</td>
<td></td>
<td>My Sites</td></tr>
<tr><td>assertTextPresent</td>
<td></td>
<td>link=/user/edit-profile/</td></tr>
<tr><td>assertTextPresent</td>
<td></td>
<td>Profile</td></tr>
<tr><td>assertTextPresent</td>
<td></td>
<td>link=/user/fav/</td></tr>
<tr><td>assertTextPresent</td>
<td></td>
<td>Favorites</td></tr>
<tr><td>assertTextPresent</td>
<td></td>
<td>link=/user/feedback</td></tr>
<tr><td>assertTextPresent</td>
<td></td>
<td>Feedback</td></tr>
<tr><td>assertElementPresent</td>
<td>identifier=fp_logout</td>
<td></td></tr>
</tbody></table>
</body>
</html>


