Коллеги, доброго четверга!
Решаю простую задачу: взять имя пользователя в личном кабинете и сравнить с тем, что отображается на произвольной странице в соответствующем поле.
Значения получаю - команда echo свидетельствует об этом. Вот табличная структура совокупности команд:
open | /o-firme/
type | name=UserLogin[login] | (имя пользователя)
type | name=UserLogin[password] | (пароль)
clickAndWait | name=submit
open | (адрес)
storeText | //*[@id='viewprofile']/p[1]/span | a
echo | ${a}
open | (адрес)
storeText | //*[@id='cc-user']/div/b | b
echo | ${b}
storeEval | (${a}==${b})? true:false | result
assertEval | ${result} | true
Завал происходит на строке:
storeEval | (${a}==${b})? true:false | result
Сообщение в логах:
[error] Threw an exception: \u0410\u043B\u0435\u043A\u0441\u0435\u0439 is not defined
Алексей - это имя пользователя, которое отображается в личном кабинете.
UserLogin == почта пользователя.
Echo переменных a и b выводит сообщение о том, что имя подтягивается…
@arturk
Попробовал. судя по сообщению об ошибке, теперь переменная “а” вовсе не определяется. Хотя echo показывает, что значение в нее помещается:
Threw an exception: a is not defined
@st_eremin
В пошаговке Selenium они сравниваются сразу после того, как переменная b получает свое значение. При этом используется команда storeEval, которая, кстати, почему-то не поддерживается:
Я не помню синтаксиса джавы и уж тем более никогда не учил таблицы IDE, но может стоит как-то определить переменные a b перед присваиванием… или сравнивать как-то