Robotframework 在robot框架中编写条件脚本
我只是从机器人自动化开始。下面是我陷入困境的场景 我在我的页面上有一个排序依据,一次单击按升序排序,第二次单击按降序排序。 我不知道如何做到这一点 下面是html代码-Robotframework 在robot框架中编写条件脚本,robotframework,Robotframework,我只是从机器人自动化开始。下面是我陷入困境的场景 我在我的页面上有一个排序依据,一次单击按升序排序,第二次单击按降序排序。 我不知道如何做到这一点 下面是html代码- <div class="sort-plans"> <a class="button--sort asc" ng-click="toggleOrderByPrice()" ng-class="{'asc': orderByPrice, 'desc': !orderByPrice }"><
<div class="sort-plans">
<a class="button--sort asc" ng-click="toggleOrderByPrice()" ng-class="{'asc': orderByPrice, 'desc': !orderByPrice }"><strong>Sort by</strong> Price</a>
</div>
点击后,我可以在课堂上看到以下变化-
${LOC_ShopPlanTab_sortByPriceAsc} xpath = //a[@class='button--sort asc']
${LOC_ShopPlanTab_sortByPriceDesc} xpath = //a[@class='button--sort desc']
如何将这些信息放在一起以确定排序是否有效?一旦对列进行了排序,要验证排序,请从该列中获取值,并验证它们是否彼此大于或等于、小于或等于 简单的逻辑是: 单击对列进行排序的元素 检查class元素以查看它是否包含值asc或desc。 无论包含哪一个,从该列中至少获取2个价格值,最好是第一行中的一个,再往下几行中的一个。 您可能需要执行一些数据清理正则表达式,以将值转换为整数或数字格式,删除美元符号、逗号等。 根据排序标志asc或desc,对数字进行比较。若为asc,则验证第一行中的值是否小于或等于第二行中的值。若为desc,则验证第一行中的值是否大于或等于第二行中的值。 这是一个用于检查降序排序的示例。第一行检查列是否按降序排序,然后从结果集中的第1、第2、第3行获取3个值,将它们转换为整数,然后进行比较
Wait Until Element Is Visible css=th.right.sortdsc > a.ajax-table
${Val1} Get Text css=td.right
${Val2} Get Text //table[@id='resultsTable']/tbody/tr[2]/td[4]
${Val3} Get Text //table[@id='resultsTable']/tbody/tr[3]/td[4]
${V1} String Convert To Integer ${Val1}
${V2} String Convert To Integer ${Val2}
${V3} String Convert To Integer ${Val3}
Should Be True ${V1} >= ${V2}
Should Be True ${V2} >= ${V3}
Klendhu这是一个非常好的解决方案-它实际上检查行中的值,这比类更可靠。
Wait Until Element Is Visible css=th.right.sortdsc > a.ajax-table
${Val1} Get Text css=td.right
${Val2} Get Text //table[@id='resultsTable']/tbody/tr[2]/td[4]
${Val3} Get Text //table[@id='resultsTable']/tbody/tr[3]/td[4]
${V1} String Convert To Integer ${Val1}
${V2} String Convert To Integer ${Val2}
${V3} String Convert To Integer ${Val3}
Should Be True ${V1} >= ${V2}
Should Be True ${V2} >= ${V3}