selenium - 如何在 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
谢谢!
解决方案
我想做与描述的问题相同的事情。我找到了一个解决方案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 上测试。
推荐阅读
- python-3.x - 如何在 Windows 7 上安装 turicreate?
- r - 如何让 ggplot2 显示翻转条形图中的计数?
- neo4j - 将雪花与 neo4j 一起使用
- python - 如何创建非中心学生的 T 分布以及与分布一起使用的先验?
- amazon-web-services - 如何使用 github 操作部署具有多个 packages.json 的无服务器单声道存储库?
- xaml - 如何在 Hololens 上获取 XAML UWP 2D 窗口的 3D 姿势
- python - Pandas 对具有几乎相同值的行求和
- python - NumPy ndarray 真的是可变的吗?
- java - `RollbackException: Error while committing the transaction` 尝试使用 Spring JPA 和 MySQL 保存对象时
- android - 应用程序生命周期 Android