Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Katalon Studio通过识别图片处理浏览器文件下载弹出框

Katalon Studio通过识别图片处理浏览器文件下载弹出框

作者头像
Altumn
发布于 2019-10-21 09:35:21
发布于 2019-10-21 09:35:21
3K1
举报

写在前面

俗话说的好啊!兄弟!有酒可以一起喝,架,我们可以一起打,但是你给我提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视图操作步骤代码:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试testclass 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
博主,我想请问一下,打开文件,进行截图,是用的什么方法可以截取到新打开窗口的文件的?我用了下take screenshot截不到新打开窗口的图片
博主,我想请问一下,打开文件,进行截图,是用的什么方法可以截取到新打开窗口的文件的?我用了下take screenshot截不到新打开窗口的图片
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
Katalon Studio通过识别图片中的文本框输入内容
https://www.testclass.cn/katalon_studio_image_discern.html
Altumn
2019/10/21
3.3K0
Katalon Studio一款免费的自动化测试工具
自动化测试是软件测试领域一直比较火热的话题。这些年来,大家都在追求简洁、易用、稳定的方向。有一些工具能够有助于创建简单易行的脚本,但是使用起来却很麻烦。而其他相对简单一些的工具,在测试过程中又总会出现一些问题。所以在选择使用何种测试工具的时候,我们总是得此失彼。一款好的自动化测试工具可以解决以上基本问题,更何况这款工具功能强大开源免费。那么,你何乐而不为呢?
Altumn
2019/10/21
4.1K0
Katalon Studio一款免费的自动化测试工具
Katalon Studio元素抓取功能Spy Web介绍
Katalon Studio提供了Web Object Spy功能,该功能可以主动抓取元素及其属性。同时,内置的验证和Highlight显示功能可以进一步验证元素定位的准确性。用户使用Web Object Spy可以随心所欲的抓取应用程序界面中的任何元素及其属性,并且保存到元素对象库中。备注:博主使用Katalon Studio当前最新版本:5.5.0
Altumn
2019/10/21
2.4K0
Katalon Studio元素抓取功能Spy Web介绍
对话框、模态框和弹出框看起来很相似,它们有何不同?
Web 平台概念有时可能完全不同,但有时看起来又非常相似。语义、行为和特征可能都很难区分。由于一个新的 popover 属性正在被提出,所以这篇文章将探讨对话框(dialogs)、弹出窗口(popovers)、叠加层(overlays)和揭示小部件(disclosure widgets)之间的区别。 我们还将了解元素为 modal 时的含义。所有相关的概念看起来都非常相似,至少在我看来是这样的,那就让我们开始吧!
茶无味的一天
2023/04/22
4.7K0
对话框、模态框和弹出框看起来很相似,它们有何不同?
Katalon Studio控制浏览器静默模式运行
浏览器静默模式执行测试,也叫“无头浏览器执行测试”,就是测试网页时不显示系统GUI执行界面。
Altumn
2019/10/21
1.9K0
Katalon Studio控制浏览器静默模式运行
Katalon Studio录制回放功能使用介绍
Katalon Studio提供了Record & Playback功能让自动化测试变得十分简单,该功能和UFT(QTP)的录制回放功能大同小异。这项功能可以让编码能力比较弱的同学做起自动化测试来得心应手。Record & Playback功能可以快速创建和运行测试脚本。同样,对于经验丰富的自动化测试人员来说,该功能可以快速生成测试用例的内容。本篇文章主要介绍UI自动化测试关于Katalon Studio的Record & Playback功能的使用。备注:博主使用Katalon Studio当前最新版本:5.5.0
Altumn
2019/10/21
1.5K0
Katalon Studio录制回放功能使用介绍
初识Katalon Studio自动化测试工具
实施自动化测试之前,我们总会调研哪些工具易用,免费,容易和其他工具或者框架集成。做 Web 自动化测试我们经常选择Selenium,因为它开源免费,支持不同的开发语言,还有录制功能,从一定程度上减少了测试人员开发脚本的成本;做App自动化测试我们通常选择 Appium,它也是开源免费,同时支持 Android 和 IOS 两大操作系统,支持不同的语言开发脚本,同时能测试原生和混合应用。但这两种工具需要结合其他的测试框架来管理我们的测试案例,比如Jnuit、unittes、NUnit 等,这就要求测试人员有较高的编码技能。
软测小生
2019/07/05
4.6K0
初识Katalon Studio自动化测试工具
Python+Selenium笔记(九):操作警告和弹出框
#之前发的 driver.switch_to_alert() 这句虽然可以运行通过,但是会弹出警告信息(这种写法3.x不建议使用)  改成 driver.switch_to.alert就不会了。 (一) 前言 开发人员使用JavaScript 警告或者模态对话框来提示校验错误信息、报警信息、执行操作后的返回信息,甚至用来接收输入值等。 (二) Alert类 Selenium WebDriver 通过Alert 类来操控 JavaScript 警告。 (三) Alert功能及方法 功能/属性 简
free赖权华
2018/04/27
3.9K0
Python+Selenium笔记(九):操作警告和弹出框
用python操作浏览器的三种方式
第一种:selenium导入浏览器驱动,用get方法打开浏览器,例如: import time from selenium import webdriver def mac():     driver = webdriver.Firefox()     driver.implicitly_wait(5)     driver.get("http://huazhu.gag.com/mis/main.do") 第二种:通过导入python的标准库webbrowser打开浏览器,例如: >>> import webbrowser >>> webbrowser.open("C:\\Program Files\\Internet Explorer\\iexplore.exe") True >>> webbrowser.open("C:\\Program Files\\Internet Explorer\\iexplore.exe") True  第三种:使用Splinter模块模块 一、Splinter的安装 Splinter的使用必修依靠Cython、lxml、selenium这三个软件。所以,安装前请提前安装 Cython、lxml、selenium。以下给出链接地址: 1)http://download.csdn.net/detail/feisan/4301293 2)http://code.google.com/p/pythonxy/wiki/AdditionalPlugins#Installation_no 3)http://pypi.python.org/pypi/selenium/2.25.0#downloads 4)http://splinter.cobrateam.info/ 二、Splinter的使用   这里,我给出自动登录126邮箱的案例。难点是要找到页面的账户、密码、登录的页面元素,这里需要查看126邮箱登录页面的源码,才能找到相关控件的id.   例如:输入密码,密码的文本控件id是pwdInput.可以使用browser.find_by_id()方法定位到密码的文本框, 接着使用fill()方法,填写密码。至于模拟点击按钮,也是要先找到按钮控件的id,然后使用click()方法。 #coding=utf-8   import time   from splinter import Browser  def splinter(url):   browser = Browser()      #login 126 email websize    browser.visit(url)       #wait web element loading   time.sleep(5)      #fill in account and password   browser.find_by_id('idInput').fill('xxxxxx')  browser.find_by_id('pwdInput').fill('xxxxx')      #click the button of login    browser.find_by_id('loginBtn').click()       time.sleep(8)       #close the window of brower       browser.quit()   if __name__ == '__main__':       websize3 ='http://www.126.com'       splinter(websize3)  WebDriver简介 selenium从2.0开始集成了webdriver的API,提供了更简单,更简洁的编程接口。selenium webdriver的目标是提供一个设计良好的面向对象的API,提供了更好的支持进行web-app测试。从这篇博客开始,将学习使用如何使用python调用webdriver框架对浏览器进行一系列的操作 打开浏览器 在selenium+python自动化测试(一)–环境搭建中,运行了一个测试脚本,脚本内容如下: from selenium import webdriver import time driver = webdriver.Chrome() driver.get("http://www.baidu.com") print(driver.title) driver.find_element_by_id("kw").send_keys("s
py3study
2020/01/06
8.5K0
用python操作浏览器的三种方式
《手把手教你》系列练习篇之8-python+ selenium自动化测试 -压台篇(详细教程)
  本文是练习篇的最后一篇文章,虽然练习篇的文章到此就要和大家说拜拜了,但是我们的学习之路才刚刚开始。不要停下你的脚步,大步朝前走吧!比你优秀的人还在走着,我们有什么理由停下自己的脚步了,生命不止,学习亦是如此。好了,宏哥的毒鸡汤好
北京-宏哥
2019/12/10
1.7K0
《手把手教你》系列练习篇之8-python+ selenium自动化测试 -压台篇(详细教程)
Selenium4+Python3系列(七) - Iframe、Select控件、交互式弹出框、执行JS、Cookie操作
二次管控: 先定位select框,再定位select里的选项,通过Select对象进行强转,来调用select控件中的Api来达到操作的目的。
软件测试君
2022/12/05
8.9K0
Selenium4+Python3系列(七) - Iframe、Select控件、交互式弹出框、执行JS、Cookie操作
selenium最大化浏览器-Web UI自动化测试之Selenium工具篇
  注意:3.0 版本下所有浏览器除了需要安装 框架 以外,还需要安装对应的驱动程序
宜轩
2022/12/26
2K0
selenium自动化测试报告_selenium自动化测试断言
注意:driver.close() ,当前关闭的是主窗口,只有完成页面切换才可以关闭当前新的页面
全栈程序员站长
2022/11/15
2.6K0
selenium自动化测试报告_selenium自动化测试断言
爬虫遇到头疼的验证码?Python实战讲解弹窗处理和验证码识别
在我们写爬虫的过程中,目标网站常见的干扰手段就是设置验证码等,本就将基于Selenium实战讲解如何处理弹窗和验证码,爬取的目标网站为某仪器预约平台
刘早起
2020/07/29
2.3K0
爬虫遇到头疼的验证码?Python实战讲解弹窗处理和验证码识别
Selenium操作Frame中的页面元素
在Web应用中经常会遇到网页中嵌套多个Frame框架的情况。这种情况下,如果直接去定位嵌套在Frame页面中的元素就会抛出NoSuchElementException异常。所以在操作嵌套在Frame框架上页面元素前,需要将页面焦点切换到Frame中。Selenium提供的switch_to.frame()方法可以实现Frame之间的跳转。
Altumn
2019/10/21
2.7K0
Selenium操作Frame中的页面元素
jQuery开发技巧
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
奋飛
2019/08/15
9650
Python之Selenium模拟浏览器
模拟浏览器功能,自动执行网页中的js代码,实现动态加载。使请求更加真实(好像是真的浏览器在请求)
鱼找水需要时间
2023/02/16
1.6K0
Python之Selenium模拟浏览器
Selenium WebDriver脚本Java代码示例
本篇文章将介绍如下内容: WebDriver代码 Selenium定位UI元素 Selenium常用命令 Get命令 --Get Commands 导航(跳转)命令-Navigate commands Close和Quite关闭和退出浏览器窗口 切换内嵌框架Frame 切换到弹出框
软测小生
2019/09/04
5.6K0
Selenium WebDriver脚本Java代码示例
你的浏览器,何必是浏览器
工欲善其事,必先利其器,作为大学生或者从业人员,如果能熟练地使用各种工具来提高自己的工作学习效率必然是一件好事!!!
小孙同学
2022/01/17
3.1K0
你的浏览器,何必是浏览器
JavaWeb——ServletContext对象的使用及文件下载案例实战
ServletContext代表整个web应用,可以和程序的容器(服务器)来通信,功能如下:
Winter_world
2020/09/25
5770
JavaWeb——ServletContext对象的使用及文件下载案例实战
推荐阅读
相关推荐
Katalon Studio通过识别图片中的文本框输入内容
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档