Как использовать условные операторы с verifyElementPresent - PullRequest
3 голосов
/ 12 апреля 2019

Я хотел бы использовать verifyElementPresent, чтобы пропустить часть кода в моем тестовом сценарии Selenium. Я успешно использовал что-то подобное в старом расширении Firefox, но не могу понять, как заставить его работать в версии Chrome Kantu.

Я пробовал оба $ {! StatusOK} == true и $ {! LastCommandOK} == true, и я обнаружил, что они оба привередливы. Я не могу получить последовательный тестовый пример ни с одним из них, и я не уверен, почему. Я использовал storeElementPresent в расширении браузера FireFox, и он работал согласованно, но эта команда недоступна в Kantu.

Приведенная ниже ссылка описывает сценарий EXACT, для которого я пытаюсь использовать verifyElementPresent, но он не работает для меня. Кто-нибудь знает другой способ сделать это?

https://a9t9.com/kantu/docs/selenium-ide/assertelementpresent-verifyelementpresent

{
   "Command": "verifyElementPresent",
   "Target": "//table[@id='phHeader']/tbody/tr/td[3]/div/div/div/span[2]",
   "Value": ""
},
{
   "Command": "gotoIf",
   "Target": "${!statusOK} == true",
   "Value": "logOut"
},
{
   "Command": "gotoIf",
   "Target": "${!statusOK} == false",
   "Value": "logIn"
},

Я ожидаю, что когда элемент будет присутствовать, он перейдет к метке «logOut» кода.

Пожалуйста, посмотрите изображение моего Kantu-плеера, чтобы точно определить, где он неисправен: https://imgur.com/ckzp1Aa

Спасибо!

1 Ответ

1 голос
/ 12 апреля 2019

Единственное решение, которое я могу найти, это вручную установить! StatusOK в значение true перед каждым оператором проверки.Похоже, что он застрял на предыдущем сбое.Это объясняет, почему при каждом запуске он вел себя так по-разному.Я надеюсь, что моя борьба и возможное объяснение помогут кому-то еще!Я все еще ищу советы о том, как заставить эти скрипты работать лучше, поэтому дайте мне знать, если у вас есть какие-то хорошие трюки!

https://a9t9.com/kantu/docs#!statusOK

! StatusOK (чтение / запись)- содержит статус выполнения макроса.При возникновении ошибки! StatusOK устанавливается в ЛОЖЬ.Используйте для! ErrorIgnore значение true, чтобы выполнение макроса продолжалось после ошибки.Только тогда! StatusOK будет полезен.В противном случае макрос останавливается на ошибке в любом случае.! statusOK похож на! LastCommandOK, но не сбрасывается успешной командой.Если в результате ошибки! StatusOK установлено значение «false», оно остается «ложным», даже если следующие команды будут выполнены успешно.Но вы можете использовать магазин |правда |! StatusOK, чтобы вручную сбросить его.

...