Robotframework 在robot框架中编写条件脚本

Robotframework 在robot框架中编写条件脚本,robotframework,Robotframework,我只是从机器人自动化开始。下面是我陷入困境的场景 我在我的页面上有一个排序依据,一次单击按升序排序,第二次单击按降序排序。 我不知道如何做到这一点 下面是html代码- <div class="sort-plans"> <a class="button--sort asc" ng-click="toggleOrderByPrice()" ng-class="{'asc': orderByPrice, 'desc': !orderByPrice }"><

我只是从机器人自动化开始。下面是我陷入困境的场景

我在我的页面上有一个排序依据,一次单击按升序排序,第二次单击按降序排序。 我不知道如何做到这一点

下面是html代码-

<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}