【转载】Katalon如何获取隐藏元素的文本内容?
Katalon Studio中如何获取隐藏元素的文本内容?
(How to read text from hidden element in Katalon Studio?)
今天在用Katalon写自动化测试脚本时遇到一个问题,在这记录一下:
有下面这样的元素,其中被CSS定义为隐藏状态了:
由于Selenium WebDriver只会与可见的元素交互,我在Katalon Studio中用WebUi.getText方法去获取元素的Text文本(元素名为: ‘Page_AccountInfo/t_Account_LogOutName’):
WebUI.verifyMatch('TMS自动化测试-UI', WebUI.getText(findTestObject('Page_AccountInfo/t_Account_LogOutName')), false)
结果只获取到空字符 ’ ',从而导致测试出错:
在网上兜了一圈,发现可以使用Selenium获取元素属性方法:element.attribute(‘attributeName’),通过textContent,innerText,innerHTML等属性获取到想要的文本内容。Katalon 基于Selenium来,应该也是一样的。于是乎:
在Katalon中,把上面语句的WebUI.getText改成WebUI.getAttribute,用’innerText’属性获取文本:
WebUI.verifyMatch('TMS自动化测试-UI', WebUI.getAttribute(findTestObject('Page_AccountInfo/t_Account_PersonName'), 'innerText'), false)
结果:Pass
2. 用’innerHTML’属性获取文本:
WebUI.verifyMatch('TMS自动化测试-UI', WebUI.getAttribute(findTestObject('Page_AccountInfo/t_Account_PersonName'), 'innerHTML'), false)
结果:Pass
3. 用’textContent’属性获取文本:
WebUI.verifyMatch('TMS自动化测试-UI', WebUI.getAttribute(findTestObject('Page_AccountInfo/t_Account_PersonName'), 'textContent'), false)
结果:Pass
用println把3个方法统一打印出来的效果,3种方法在Chrome上都支持:
好了,问题搞定! 😃
需要注意的是(网上查的,没有实际验证过):
innerHTML会返回元素所有HTML标签:
– 例如 <div>Hello <p> World! </p> </div> 用InnerHTML会得到 Hello <p>World! </p>
textContent只会返回文本内容(会包含多余的符号,如空格,换行等),而不会包含HTML标签:
– textContent是W3C 兼容的文字内容属性,但是IE 不支持。
innerText只会返回文本内容( ),而不会包含HTML标签:
– innerText不是W3C DOM的指定内容,FireFox不支持。
话说这Katalon Studio 很多高级好用的功能都要升级到企业版才能享受了啊 😦
本文链接:https://blog.csdn.net/qq_42566199/article/details/109679902
————————————————
版权声明:本文为CSDN博主「凡尘殊客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42566199/article/details/109679902

浙公网安备 33010602011771号