Встала следующая задача: если пользователь авторизирован на сайте, то сделать лог аут. Для решения задачи прочитал вот эту статью, в которой как раз дан неплохой пример реализации через оператор 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>