如何验证文本在网页上存在'n'次

时间:2017-03-31 07:32:54

标签: robotframework

我想验证网页中的文字是否存在2次或'n'次。我使用了“ Page Should Contain ”关键字,但在识别单次出现时会显示“Pass”。我不想验证使用定位器。

Ex:我想验证使用机器人框架在当前网页中提供“成功”文本3次

任何输入/建议都会有所帮助。

2 个答案:

答案 0 :(得分:0)

太糟糕了,你不想使用定位器,因为robotframework只有一个关键字:

Xpath Should Match X Times  //*[contains(., "Success")]  2

警告是定位器不应该以{{1​​}}为前缀 - 只是直接表达。

顺便说一句,库关键字xpath=完全相同。

如果你想查找页面中字符串的出现次数 - 很简单:

Page Should Contain

然后对结果进行任何检查,例如

${count}=  Get Matching Xpath Count  //*[contains(., "Success")]

答案 1 :(得分:0)

我认为不使用定位器的问题听起来很有趣(这个要求背后的基本原理还不清楚),所以另一个解决方案 - 自己看看源代码:

${source}=    Page Source     # you have the whole html of the page here
${matches}=   Get Regexp Matches    ${source}   >.*\b(Success)\b.*<
${count}=     Get Length    ${matches}

第一个获取源,第二个获取目标字符串的所有非重叠(单独)出现,当它(希望)在标记内时。第三行返回计数。

免责声明 - 除非您100%确定来源和结构,否则请不要这样做。使用定位器。