首页 > 解决方案 > 如何在 verifyElementPresent 中使用条件语句

问题描述

我想使用 verifyElementPresent 跳过我的 Selenium 测试脚本中的一段代码。我在旧的 Firefox 扩展中成功地使用了类似的东西,但我不知道如何让它在 Chrome Kantu 版本中工作。

我已经尝试过 ${!statusOK}==true 和 ${!lastCommandOK}==true 并且我发现它们都很挑剔。我无法获得与任何一个一致的测试用例,我不知道为什么。我在 FireFox 浏览器扩展中使用了 storeElementPresent 并且它始终如一地工作,但是该命令在 Kantu 中不可用。

下面的链接概述了我尝试使用 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

谢谢!

标签: seleniumkantu

解决方案


我想做与描述的问题相同的事情。我找到了一个解决方案Selenium IDE,但它不使用该verify element present命令。由于这个问题没有其他解决方案,我将发布一种我发现可以提供帮助的方法。

您应该使用以下命令而不是verify element present命令:命令:store xpath count 目标:<locator of object to find>,示例:xpath=\\a[id='logout'] 值:number

因此,检查元素是否存在的整个代码如下所示:

Command: store xpath count
Target: <locator of object to find>
Value: number
Command: if, Target: ${number} == 1
Command: click, Target: <locator> 

... Any commands you want to execute

Command: end
Rest of code outside of if

哪里<locator>可以是 xpath,css 选择器。示例:xpath=\\a[id='logout'] 在 Firefox Selenium IDE 上的最新版本 3.17.0 上测试。


推荐阅读