写在前面
俗话说的好啊!兄弟!有酒可以一起喝,架,我们可以一起打,但是你给我提IE,对不起我们不认识! 哈哈,从这句话就可以看出IE浏览器的UI自动化的实施是多繁琐了吧? 最近博主在实施UI自动化项目,而且这个项目是一个历史悠久的系统,使用的就是IE8浏览器。 所以,在做到有关文件导出和下载的测试案例时,就遇到了问题。
解决问题
IE浏览器本身弹出的下载弹出框无法处理,因为是浏览器本身的弹出框,所以这不是一个Alert,也不是一个JS弹出框。那么这个问题怎么处理呢? 解决问题的基本思路: 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通过识别图片的方式处理浏览器文件下载弹出框实施成功。
Manual视图
附上Manual视图操作步骤:
Script视图
附上Script视图操作步骤代码: