Katalon Studio通过识别图片处理浏览器文件下载弹出框
哈哈,从这句话就可以看出IE浏览器的UI自动化的实施是多繁琐了吧?
最近博主在实施UI自动化项目,而且这个项目是一个历史悠久的系统,使用的就是IE8浏览器。
所以,在做到有关文件导出和下载的测试案例时,就遇到了问题。
解决问题的基本思路:
1.能不能当作Alert处理?-------处理失败!
2.首先考虑能不能通过浏览器设置去掉这个弹出框?
-------博主没找到设置方法,网上大多数是XP系统的设置方法!
3.能不能模拟鼠标操作实现点击?------元素定位不到!鼠标模拟也无法实现!
4.能不能通过模拟键盘输入实现点击?------元素定位不到!鼠键盘模拟也无法实现!
5.是不是需要先跳转窗体焦点才能定位到元素?
driver.switch_to_default_content()-------定位焦点未报错,但是元素定位同样是失败!
......
在经过各种尝试了以后,最终失败告终。就在博主准备放弃这条案例的时候,突然发现Katalon Studio竟然有一种神级的功能:可以通过图片是别的方式定位元素!这简直是一个惊奇的发现,之前从来没用过。当然在实现的步骤中还需要结合一些小技巧。说干就干,看一下应该如何实现呢?
1.手动截图需要处理的部分,命名,选择路径,存储到Katalon Studio对象存储库,博主截了两个需要用到的图:
image_export:
image_export_open:
存储图片到项目路径下,博主选择元素存储路径下的文件夹:
Katalon Studio中新建和图片对应的元素,起个名字你随意:
选择新建的图片元素,设置属性,只要选择图片的路径,然后勾选使用相对路径即可:
2.点击应用下载按钮(弹出下载提示的上一步),加个方法等待图片image_export出现,然后再点击图片image_export_open;至此,Katalon Studio通过识别图片的方式处理浏览器文件下载弹出框实施成功。
WebUI.click(findTestObject('Object Repository/xxxxxxxxx/btn_confirm_export')) WebUI.waitForImagePresent(findTestObject('Page_Counter/xxxxxxxxx/image_export'), 20) WebUI.clickImage(findTestObject('Page_Counter/xxxxxxxxxxxxxxxx/image_export_open')) WebUI.takeScreenshot('保存导出截图' + '.png')
文章评论(9)
ClickImage是可以的,但可以针对输入框的吗,您给出的只是可以找到对象和点击对象的关键字,请问有可以通过这种方式输入值吗?
已找到解决方法
还有个方法:
WebUI.typeOnImage(findTestObject(null), '')
嗯,我就是用的这个
自动化测试学习交流群:670250199
手机测试,可以用这种方式吗?
可以。
你可以可以试试这个:https://www.testclass.cn/airtest_project_test.html
这个在试了,感觉也不太好用