最近两天,公司有个PC客户端的测试任务,除了最基础的功能测试外,还包括稳定性测试和兼容性测试需求。刚好去年接触过Sikuli这款基于GUI图像识别框架的自动化测试工具,于是便应用于测试工作中,辅助测试任务。初步试用下来,总体效果还算差强人意,也间接助我发现了一个致命级别的大bug(后续会介绍)。
Sikuli可用于web和app的自动化测试中,操作简单,代码容易,但截图过程太过繁琐,所需要的图片内存占用量大,且sikuli的图片识别度较低,需对所要操作的图片进行精准截图。
作为一名测试人员,测试过程如果遇到应用程序界面结构庞大,页面设计频繁变动,对页面元素定位比较困难的的情况,又需要进行大量重复操作的测试,我们有什么快速解决问题的方法呢?也许Sikuli可以成为你的选择之一,它可以让你摆脱对控件API的依赖,通过实时检索当前屏幕的图像,获取可操作对象,模拟用户行为,校验真实的屏幕展示结果。
这里介绍一下另外一种解决方案:使用Sikuli进行图片识别,来对Windows弹出框或者其他Windows窗口进行一系列的操作。
sikuli 官方 2.1.0 版本 jar 包获取: 小蓝枣的 csdn 资源仓库
手里明明有一份学生成绩Excel表格,却还得一一手动把它们输入到教务系统?类似这样的简单重复枯燥操作,其实你都可以一键让电脑自动替你完成。
导语 在客户端自动化中,如果需要对UI进行操作,控件识别和操作是最基础的能力。在windows标准控件中,我们可以通过FindWindow来找到窗口,FindWindowEx来找到子窗口和按钮,在selenium测试web页面,我们通过find_element_by_xpath、find_element_by_css_selector、find_element_by_id等等来找到页面元素。但是,在大多数应用程序中使用的都是非标准的控件,无法通过FindWindowEx来找到某个按钮,也无法通过某个ID来找
介绍到这里会有人问,有了webdriver等ui自动化后为什么还要用图像识别呢?我认为主要有以下这几点:
大叔在日常工作的时候,经常会遇到一些繁琐重复的操作,情不自禁的会想到自动化。甚至有的时候会想,什么时候能实现自动化编写文章,自动化剪辑视频?
上个星期分享了《基于Sikuli GUI图像识别框架的PC客户端自动化测试实践》,但sikuli看起来怎么都像是上个世纪的界面风格,且功能过于简陋。而同样基于图像识别框架的Airtest,则无疑强大了许多,本次分享的内容是基于Airtest实现Windows应用的自动化测试,内容大纲:
简介 移动APP的UI自动化测试长久以来一直是一个难点,难点在于UI的”变”, 变化导致自动化用例的大量维护。从分层测试的角度,自动化测试应该逐层进行。最大量实现自动化测试的应该是单元测试,最容易实现也最容易在早期发现问题;其次是接口级测试,以验证逻辑为目的进行自动化,由于接口的相对稳定,自动化测试成本相对也可以接受;自动化成本最大的便是UI级自动化测试,然而UI界面是直接反馈给用户的效果展示,适度的尤其是BVT级的自动化测试也是非常必要的。本文通过分析几种自动化框架的异同,使测试人员在选择自动化框架时有所
简介 移动APP的UI自动化测试长久以来一直是一个难点,难点在于UI的”变”, 变化导致自动化用例的大量维护。从分层测试的角度,自动化测试应该逐层进行。最大量实现自动化测试的应该是单元测试,最容易实现也最容易在早期发现问题;其次是接口级测试,以验证逻辑为目的进行自动化,由于接口的相对稳定,自动化测试成本相对也可以接受;自动化成本最大的便是UI级自动化测试,然而UI界面是直接反馈给用户的效果展示,适度的尤其是BVT级的自动化测试也是非常必要的。本文通过分析几种自动化框架的异同,使测试人员在选
作者:赵丽娜 简介 移动 APP 的 UI 自动化测试长久以来一直是一个难点,难点在于UI的”变”, 变化导致自动化用例的大量维护。 从分层测试的角度,自动化测试应该逐层进行。 最大量实现自动化测试的
这些开源工具在自动化测试和手动测试、功能、回归、负载、性能、压力和单元测试、web、移动和桌面测试等领域提供相关的能力支持。
引言:自动化永远是避不开的,反正你入职的岗位要不要用自动化,你必须得会一点,加分项。这一块包括,自动化一些理念和自动化的工具使用。有同学说问题太多难消化,那就每天只推送十题之内。
最近公司开发了一款基于PC端的桌面应用程序,需要进行自动化测试,避免重复的点工。为此,也在网上找了一些资料,都不符合当前需求,最终决定参考网上资料,使用python语言去实现。
【第一行文件10.c的权限以-开头,用来说明这是一个文件;第四行code目录的权限以字母d开头,用来标注code是目录】
最近在研究针对windows桌面应用程序的自动化工具,查找了网上相关资料,UI自动化工具很多,但是想同时支持windows桌面应用程序、web端以及APP段的工具少的可怜,以下是一些工具的总结:
Pywinauto 是基于 Python 开发的,用于自动化测试的脚本模块,主要操作于 Windows 标准图形界面。它可以允许你很容易的发送鼠标、键盘动作给 Windows 的对话框和控件。 官网地址https://pywinauto.readthedocs.io/en/latest/index.html 中文文档地址https://www.kancloud.cn/gnefnuy/pywinauto_doc/1193035
自动化测试一直是测试领域桂冠上的明珠,几乎所有的测试团队都有建立团队的自动化。测试团队的自动化建设也被认为是团队提效的必经之路,但搭建和使用自动化路但路却并非一帆风顺。搭建自动化但时候有很多框架可以选用,合理但选择适合该团队的框架可以事半功倍,同时选择了框架之后就要受制于框架。使用自动化很多时候因为学习以及维护成本高,让初衷是提效为目的的自动化,成为了加重测试工作量之殇。
翻译:疯狂的技术宅 原文:https://www.edureka.co/blog/10-reasons-to-learn-selenium/
答应各位的GDOC现场分享终于整理成文了。特地精选了最重要、干货的部分呈现给大家。
传统的UI自动化框架(UIAutomator、Espresso、appium等),或多或少在这些方法做的不够完美。
早上看了一下微信公众号后台。我上一篇微信公众号什么时间发的?看完我自己都吓了一跳——4月15日!
断言成功代表用例成功,断言失败代表用例失败。存结果,是因为如果这个用例失败了,还想看下接口当中到底给你返回的数据是什么,失败在哪里。
Selenium是一个非常流行的Web自动化测试框架,如今Selenium自动化的需求量很大。但是在测试中并不总是建议使用Selenium测试所有的测试场景。作为Web自动化工具,Selenium主要旨在测试不同的Web应用程序在不同浏览器上执行的正确性,但自动化一切是不合理的。
Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具。Airtest的框架是网易团队自己开发的一个图像识别框架,这个框架的祖宗就是一种新颖的图形脚本语言Sikuli。Sikuli这个框架的原理是这样的,计算机用户不需要一行行的去写代码,而是用屏幕截屏的方式,用截出来的图形摆列组合成神器的程序,这是Airtest的一部分。
如果你热爱漏洞研究、逆向工程或者渗透测试,我强烈推荐你使用 Python 作为编程语言。它包含大量实用的库和工具,本文会列举其中部分精华。 网络 Scapy, Scapy3k: 发送,嗅探,分析和伪造网络数据包。可用作交互式包处理程序或单独作为一个库 pypcap, Pcapy, pylibpcap: 几个不同 libpcap 捆绑的python库 libdnet: 低级网络路由,包括端口查看和以太网帧的转发 dpkt: 快速,轻量数据包创建和分析,面向基本的 TCP/IP 协议 Impacket: 伪
如果你对漏洞挖掘、逆向工程分析或渗透测试感兴趣的话,我第一个要推荐给你的就是Python编程语言。Python不仅语法简单上手容易,而且它还有大量功能强大的库和程序可供我们使用。在这篇文章中,我们会给大家介绍其中的部分工具。 注:本文罗列出来的工具绝大部分都是采用Python编写的,其中有一小部分还使用了C语言库。 Network(网络) l Scapy :一款强大的交互式数据报分析工具,可用作发送、嗅探、解析和伪造网络数据包。 l pypcap 、 Pcapy 和 pylibpcap :配合l
今天是本学期《数据库系统原理》的最后一课。学生们完成了数据分析项目,依次上台做展示。
在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等。所以宏哥打算按上传文件的分类对其进行一下讲解和分享。
今天的文章来源于dloss/python-pentest-tools,本文中列举了123个Python渗透测试工具,当然不仅于渗透~
今天的文章来源于dloss/python-pentest-tools,本文中列举了123个Python渗透测试工具,当然不仅于渗透~ 下面我们就开始吧~ ———————————————————————— 如果你想参与漏洞研究、逆向工程和渗透,我建议你时候用Python语言。Python已经有很多完善可用的库,我将在这里把他们列出来。 这个清单里的工具大部分都是Python写成的,一部分是现有C库的Python绑定,这些库在Python中都可以简单使用。 一些强力工具(pentest frameworks
导读 山雨欲来风满楼,最近微信小程序相关开发文章吹遍大江南北,亦有摧枯拉朽万象更新之势。问小程序形为何物,直教IT众生怡情悦性高潮迭起。作为一名有着远大理想“包袱”与互联网变革 “使命感”的测试工程师,我再也按耐不住内心中的渴望与好奇,代表测试行业各大门派肩负起了迎接时代变革的挑战。话说经历了围观查看、溜边打探等种种过程,终于在隔壁老王那里弄到了测试体验资格,开始了一场对小程序的自动化亲密接触。 上篇---小程序初探 上手的小程序是微信官方的测试Demo,类似Android Api Demos一样,官方小程
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
写作之难,在于把网状的思考,用树状的语法结构,转换成线性字符串。(“The Web, the Tree, and the String”)。
sql注入工具:sqlmap DNS安全监测:DNSRecon 暴力破解测试工具:patator XSS漏洞利用工具:XSSer
Python是一门简单易学,功能强大的编程语言。它具有高效的高层次数据结构,简单但有效的方式支持面向对象编程,语法优雅,动态类型,解释执行。使之成为多数平台上很多领域的脚本和快速应用开发的理想语言。它的设计理念强调代码的可读性, 跟C ++或Java等语言比可以用更少的代码实现同样的概念。Python能清晰地实现小型和大型程序。
搭建UI自动化框架时,使用的是PO设计模式,也就是把每一个页面所需要操作的元素和步骤封装在一个页面类中。然后使用Selenium+unitest搭建四层框架实现数据、脚本、业务逻辑分离(关键字驱动)。其中四层框架包括基础层、业务逻辑层、数据层、测试用例层。
在整理过程中,我会尽量去官网找到官方对该工具的描述,包括中文和英文,保证原汁原味。
一个测试工程师走进一家酒吧,要了一杯啤酒; 一个测试工程师走进一家酒吧,要了一杯咖啡; 一个测试工程师走进一家酒吧,要了 0.7 杯啤酒; 一个测试工程师走进
30.公司用到第三方服务,出问题,沟通第三方,第三方不承认,这时候日志不显示错误,应怎么处理
最近服务器内存总是被消耗完,下面是我进行优化的第一步。不知道以前为何没事,总之现在加载这么多资源能正常运行。 # Example: # LoadModule foo_module modules/mod_foo.so # LoadModule auth_basic_module modules/mod_auth_basic.so #LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule authn_file_modul
就是很多很多的数据,按照无限极分类结构排序。每一个数组的所有数据都是顶级分类及其其下数据
rocketmq-client-4.5.2-sources.jar!/org/apache/rocketmq/client/consumer/DefaultMQPushConsumer.java
最近想要了解一下 webpack 的 plugin 怎么写,于是各种文章就会告诉你想要写一个 plugin 那么你首先需要了解一下 Compilation、compiler 对象,然后 plugin 插件其实是一个含有 apply 方法的 class,而 apply 方法的参数就是 compiler 对象,compiler 对象里有各种钩子,这些钩子分别会在 webpack 的运行过程中触发,而实现这些钩子的核心是 tapable ,这个 tapable 还算好理解,可以把它看做是一个更高级的 发布-订阅。然后我想实现以下 done 这个 hook 的功能,你就会发现这个 hook 的参数是 stats 对象,所以问题来了,我想要去实现 一个 plugin,那么是真的要搞清这些对象了。
CREATE TABLE pre_common_admincp_cmenu ( `id` SMALLINT(6) UNSIGNED NOT NULL AUTO_INCREMENT, `title` VARCHAR(255) NOT NULL COMMENT '菜单名称', `url` VARCHAR(255) NOT NULL COMMENT '菜单地址', `sort` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '菜单类型,备用', `displa
当数据的值为NULL的时候,可能出现各种意想不到的效果,让人防不胜防,我们来看看NULL导致的各种神坑,如何避免?比较运算符中使用NULL
领取专属 10元无门槛券
手把手带您无忧上云