Robot Framework中如何用XPath的translate()实现大小写不敏感查找
解决方案
直接用translate()函数将placeholder属性值统一转换为小写(或大写)后,与全小写的目标字符串比较,即可实现大小写不敏感匹配。
修改后的Robot测试用例代码如下:
... *** Test Cases *** LoginTest ... sleep 5 click element xpath://input[translate(@placeholder, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') = 'username']
原理说明
translate(@placeholder, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'):把placeholder属性中的所有大写字母转换为对应的小写字母- 转换后的值与全小写的
'username'做相等判断,这样无论原属性值是username、Username还是USERNAME等任意大小写组合,都会匹配成功
如果习惯转成大写判断,也可以写成:
click element xpath://input[translate(@placeholder, 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ') = 'USERNAME']
内容的提问来源于stack exchange,提问作者Narendra Bhagwat
相关产品推荐
相关产品推荐

