我想验证网页中的文字是否存在2次或'n'次。我使用了“ Page Should Contain ”关键字,但在识别单次出现时会显示“Pass”。我不想验证使用定位器。
Ex:我想验证使用机器人框架在当前网页中提供“成功”文本3次
任何输入/建议都会有所帮助。
答案 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%确定来源和结构,否则请不要这样做。使用定位器。