RobotFrameWork:如何在函数中使用函数?

时间:2019-02-11 12:45:09

标签: robotframework

因此RFW中有一个很好的关键字:

表格单元格应包含

但是现在它应该对照正则表达式检查表文本。但它似乎无法正常工作,因为它说, 找不到文字

*** Variables
${pattern2}       ^[0-9]{1}[0-9]{1}

 Table Cell Should Contain    xpath=//div[@id='components_block']/table    2    6   ${pattern2} 

这不起作用:我猜:

Table Cell Should Contain    xpath=//div[@id='components_block']/table    2    6   regexp:^[0-9]{1}[0-9]{1}

2 个答案:

答案 0 :(得分:2)

遗憾的是,不可以,在Robot Framework中,您不能链接关键字-要将一个的输出直接用作另一个的输入。您必须为此设置中间/临时变量。

对于这种情况,您想查看表格单元格是否具有与特定正则表达式匹配的文本。由于关键字Table Cell Should Contain在查找的参数中不支持regexp,而仅支持普通字符串,因此您不能使用它。
将此验证分为两个步骤-首先在单元格中获取文本(在temp变量中),然后查看它是否与带有Should Match Regexp关键字的正则表达式匹配:

*** Variables ***
${pattern2}       ^[0-9]{1}[0-9]{1}

*** Testcases ***
A case
    ${temp variable}=    Get Text     xpath=locator_that_will_return_the_specific_cell
    # alternatively, you can use this keyword - if the table is an actual <table> element in the html
    # ${temp variable}=    Get Text     xpath=locator_that_will_return_the_table   2    5
    # now having the text in the cell, see does it match the regexp
    Should Match Regexp    ${temp variable}    ${pattern2}

“ locator_that_will_return_the_specific_cell”和“ locator_that_will_return_the_table”的值是什么?没有HTML样本也没有其他人。

答案 1 :(得分:0)

我发现我将匹配/命中直接定位到表格位置,如下所示:xptah = // tr [1] / td [4]

然后我可以这样做:

 ${gettext}   Get Text  xpath=//tr[1]/td[4]
    Should Match Regexp  ${gettext}  ^[0-9]{1}[.]{1}[0-9]{1}[0-9]{1}