最近两天,公司有个PC客户端的测试任务,除了最基础的功能测试外,还包括稳定性测试和兼容性测试需求。刚好去年接触过Sikuli这款基于GUI图像识别框架的自动化测试工具,于是便应用于测试工作中,辅助测试任务。初步试用下来,总体效果还算差强人意,也间接助我发现了一个致命级别的大bug(后续会介绍)。
作为一名测试人员,测试过程如果遇到应用程序界面结构庞大,页面设计频繁变动,对页面元素定位比较困难的的情况,又需要进行大量重复操作的测试,我们有什么快速解决问题的方法呢?也许Sikuli可以成为你的选择之一,它可以让你摆脱对控件API的依赖,通过实时检索当前屏幕的图像,获取可操作对象,模拟用户行为,校验真实的屏幕展示结果。
Sikuli可用于web和app的自动化测试中,操作简单,代码容易,但截图过程太过繁琐,所需要的图片内存占用量大,且sikuli的图片识别度较低,需对所要操作的图片进行精准截图。
手里明明有一份学生成绩Excel表格,却还得一一手动把它们输入到教务系统?类似这样的简单重复枯燥操作,其实你都可以一键让电脑自动替你完成。
Pywinauto 是基于 Python 开发的,用于自动化测试的脚本模块,主要操作于 Windows 标准图形界面。它可以允许你很容易的发送鼠标、键盘动作给 Windows 的对话框和控件。 官网地址https://pywinauto.readthedocs.io/en/latest/index.html 中文文档地址https://www.kancloud.cn/gnefnuy/pywinauto_doc/1193035
sikuli 官方 2.1.0 版本 jar 包获取: 小蓝枣的 csdn 资源仓库
大叔在日常工作的时候,经常会遇到一些繁琐重复的操作,情不自禁的会想到自动化。甚至有的时候会想,什么时候能实现自动化编写文章,自动化剪辑视频?
简介 移动APP的UI自动化测试长久以来一直是一个难点,难点在于UI的”变”, 变化导致自动化用例的大量维护。从分层测试的角度,自动化测试应该逐层进行。最大量实现自动化测试的应该是单元测试,最容易实现也最容易在早期发现问题;其次是接口级测试,以验证逻辑为目的进行自动化,由于接口的相对稳定,自动化测试成本相对也可以接受;自动化成本最大的便是UI级自动化测试,然而UI界面是直接反馈给用户的效果展示,适度的尤其是BVT级的自动化测试也是非常必要的。本文通过分析几种自动化框架的异同,使测试人员在选择自动化框架时有所
作者:赵丽娜 简介 移动 APP 的 UI 自动化测试长久以来一直是一个难点,难点在于UI的”变”, 变化导致自动化用例的大量维护。 从分层测试的角度,自动化测试应该逐层进行。 最大量实现自动化测试的
简介 移动APP的UI自动化测试长久以来一直是一个难点,难点在于UI的”变”, 变化导致自动化用例的大量维护。从分层测试的角度,自动化测试应该逐层进行。最大量实现自动化测试的应该是单元测试,最容易实现也最容易在早期发现问题;其次是接口级测试,以验证逻辑为目的进行自动化,由于接口的相对稳定,自动化测试成本相对也可以接受;自动化成本最大的便是UI级自动化测试,然而UI界面是直接反馈给用户的效果展示,适度的尤其是BVT级的自动化测试也是非常必要的。本文通过分析几种自动化框架的异同,使测试人员在选
最近在研究针对windows桌面应用程序的自动化工具,查找了网上相关资料,UI自动化工具很多,但是想同时支持windows桌面应用程序、web端以及APP段的工具少的可怜,以下是一些工具的总结:
导语 在客户端自动化中,如果需要对UI进行操作,控件识别和操作是最基础的能力。在windows标准控件中,我们可以通过FindWindow来找到窗口,FindWindowEx来找到子窗口和按钮,在selenium测试web页面,我们通过find_element_by_xpath、find_element_by_css_selector、find_element_by_id等等来找到页面元素。但是,在大多数应用程序中使用的都是非标准的控件,无法通过FindWindowEx来找到某个按钮,也无法通过某个ID来找
上个星期分享了《基于Sikuli GUI图像识别框架的PC客户端自动化测试实践》,但sikuli看起来怎么都像是上个世纪的界面风格,且功能过于简陋。而同样基于图像识别框架的Airtest,则无疑强大了许多,本次分享的内容是基于Airtest实现Windows应用的自动化测试,内容大纲:
引言:自动化永远是避不开的,反正你入职的岗位要不要用自动化,你必须得会一点,加分项。这一块包括,自动化一些理念和自动化的工具使用。有同学说问题太多难消化,那就每天只推送十题之内。
这些开源工具在自动化测试和手动测试、功能、回归、负载、性能、压力和单元测试、web、移动和桌面测试等领域提供相关的能力支持。
这里介绍一下另外一种解决方案:使用Sikuli进行图片识别,来对Windows弹出框或者其他Windows窗口进行一系列的操作。
最近公司开发了一款基于PC端的桌面应用程序,需要进行自动化测试,避免重复的点工。为此,也在网上找了一些资料,都不符合当前需求,最终决定参考网上资料,使用python语言去实现。
Selenium是一个非常流行的Web自动化测试框架,如今Selenium自动化的需求量很大。但是在测试中并不总是建议使用Selenium测试所有的测试场景。作为Web自动化工具,Selenium主要旨在测试不同的Web应用程序在不同浏览器上执行的正确性,但自动化一切是不合理的。
Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具。Airtest的框架是网易团队自己开发的一个图像识别框架,这个框架的祖宗就是一种新颖的图形脚本语言Sikuli。Sikuli这个框架的原理是这样的,计算机用户不需要一行行的去写代码,而是用屏幕截屏的方式,用截出来的图形摆列组合成神器的程序,这是Airtest的一部分。
介绍到这里会有人问,有了webdriver等ui自动化后为什么还要用图像识别呢?我认为主要有以下这几点:
自动化测试一直是测试领域桂冠上的明珠,几乎所有的测试团队都有建立团队的自动化。测试团队的自动化建设也被认为是团队提效的必经之路,但搭建和使用自动化路但路却并非一帆风顺。搭建自动化但时候有很多框架可以选用,合理但选择适合该团队的框架可以事半功倍,同时选择了框架之后就要受制于框架。使用自动化很多时候因为学习以及维护成本高,让初衷是提效为目的的自动化,成为了加重测试工作量之殇。
如果你热爱漏洞研究、逆向工程或者渗透测试,我强烈推荐你使用 Python 作为编程语言。它包含大量实用的库和工具,本文会列举其中部分精华。 网络 Scapy, Scapy3k: 发送,嗅探,分析和伪造网络数据包。可用作交互式包处理程序或单独作为一个库 pypcap, Pcapy, pylibpcap: 几个不同 libpcap 捆绑的python库 libdnet: 低级网络路由,包括端口查看和以太网帧的转发 dpkt: 快速,轻量数据包创建和分析,面向基本的 TCP/IP 协议 Impacket: 伪
今天的文章来源于dloss/python-pentest-tools,本文中列举了123个Python渗透测试工具,当然不仅于渗透~
今天的文章来源于dloss/python-pentest-tools,本文中列举了123个Python渗透测试工具,当然不仅于渗透~ 下面我们就开始吧~ ———————————————————————— 如果你想参与漏洞研究、逆向工程和渗透,我建议你时候用Python语言。Python已经有很多完善可用的库,我将在这里把他们列出来。 这个清单里的工具大部分都是Python写成的,一部分是现有C库的Python绑定,这些库在Python中都可以简单使用。 一些强力工具(pentest frameworks
【第一行文件10.c的权限以-开头,用来说明这是一个文件;第四行code目录的权限以字母d开头,用来标注code是目录】
对于独立式应用程序,在启动时首先进行版本检查和一些必要的验证,以确保能正确地运行应用程序;然后,保存Excel在应用程序启动前的环境状态,以便在应用程序关闭时恢复Excel原有状态;接下来,创建应用程序用户接口。在关闭时,应用程序删除用户接口并将Excel恢复到该应用程序运行前的原有状态。
当你在处理文件时,可能会遇到以下错误信息:IOError: Unable to open file (File signature not found)。这个错误通常表示你尝试打开一个文件时,无法确定文件的类型。
此存储库包含与CORS配置错误相关的易受攻击代码。你可以在本地机器上配置易受攻击的代码,以实际利用与CORS相关的错误配置问题。
在 Rocky Linux 9 中,如果你想搭建 Web 服务器或者运行其他基于 HTTP 协议的应用程序,你可能需要打开 80 端口。本文将详细介绍如何在 Rocky Linux 9 上打开 80 端口,以确保你的应用程序可以正常运行。
Windows用户总会抱怨WerFault.exe应用程序的保存,本文给您讲解为何会出现这种进行问题以及如何修复?
想知道您的 Android 设备是否可以流式传输来自 Netflix 和 Amazon Prime Video 的高清视频?这是检查 Widevine DRM 支持的方法!
SQLite 是一个开源数据库,具有许多类似于其他关系数据库(如 SQL)的功能。 如果你是应用程序开发人员,你可能还会注意到 SQLite 查询看起来或多或少像 SQL 一样。 在 Android 中选择 SQLite 的原因是其内存占用较低。 Android 开发者喜欢 SQLite 的原因是它不需要设置或配置数据库,并且可以在应用程序中直接调用。
Vue3 已经出来了, Vue3 Devtools 正式版也快出来了,目前我们在用的是 beta 版本,现在我们来看看 Vue3 Devtoolls 有哪些新的功能。
webstorm mac中文版是WebStorm for Mac的最新本,被称为最好用的Web前端开发神器。WebStorm 新版对JavaScript,TypeScript和CSS支持更好,改进了Vue.js的体验,并为Jest集成增加了新功能。
跨域资源共享(CORS)是一种放宽同源策略的机制,它允许浏览器向跨源服务器,发出 XMLHttpRequest 请求,从而克服了 AJAX 只能同源使用的限制,以使不同的网站可以跨域获取数据,目前已经被绝大多数浏览器支持,并被主流网站广泛部署使用。跨域资源共享 CORS 漏洞主要是由于程序员配置不当,对于 Origin 源校验不严格,从而造成跨域问题,攻击者可以利用 CORS 错误配置漏洞,从恶意网站跨域读取受害网站的敏感信息。
今天是你不知道的Cypress系列(4) -- “PO”已死,App Action当立?
在本文中,我将与您分享我在GitHub Pages上发布Angular应用程序时学到的东西。我发现GitHub Pages是发布网站的非常有效且简单的一个平台。因此,在本文中,我将以发布应用程序的相同方式来解释该过程。
随着每次新的操作系统更新,都会有关于电池寿命的抱怨,iOS 16也不例外。由于幕后同步和更新,更新后经常会出现电池快速耗尽的情况,但有时问题可能会持续更长时间。
异常是程序中的一些错误,但并不是所有的错误都是异常,也就是在的程序中,不存在所谓的“异常”,只存在错误并且错误有时候是可以避免的。
据The Hacker News 12月24日消息,Apple 最近修复了 macOS 操作系统中的一个安全漏洞,攻击者可能会利用该漏洞“轻而易举地”绕过“无数 macOS 的基本安全机制”并运行任意代码。
无论你是新手开发者还是希望管理自己的应用程序,下面 20 条基本的系统管理命令都可以帮助您更好地了解您的应用程序。它们还可以帮助解决为什么应用程序可在本地正常工作但不能在远程主机上工作这类的系统故障。这些命令适用于 Linux 开发环境、容器和虚拟机。
既然我们已经演示了应用程序的各个组件作为独立容器运行,那么现在就可以安排它们由类似 Kubernetes 的编排器管理了。Kubernetes 提供了许多缩放、联网、保护和维护您的容器化应用程序的工具,这些工具超出了容器本身的能力。
1. 微软发布了 Visual Studio for Mac 停用的公告。具体政策是,自2024年8月31日起,Visual Studio for Mac 将不会再获得任何支持。届时,Visual Studio for Mac 将只能通过 my.visualstudio.com,为已订阅 Visual Studio 的用户提供旧版安装,但不再提供服务或维护。
调试和分析是查找和修复错误、测量和优化性能,同时确保Node.js应用程序的质量和效率的重要过程。
android studio3.2预览版本已经发布了,下面这些功能在最新的版本已经提供,但可能尚未在测试版本中发布渠道中提供。 什么是新的助理 Android Studio 3.2有一个新的Assistant面板,可以通知您有关Android Studio的最新更改。 如果检测到有新信息要显示,那么当您启动Android Studio时,该面板将打开。您还可以通过选择Help> Android Studio中的新增功能来打开“Assistant”面板 。 Android Jetpack Android
一起学Excel专业开发20:Excel工时报表与分析系统开发(3)——自定义用户界面
收到很多小伙伴的反响,hw面试题很多但是带答案的面试题比较少,在这里红队蓝军整理了一份带部分答案的hw面试题分享给大家。
Android Studio 4.0(2020年5月) 更新啦,此版本包含了各种新功能和改进,还有一些废弃配置。
网络权限在安卓应用程序的运作中起着重要作用,它允许应用程序执行各种任务,如发送和接收数据、访问网络等等。然而,不可忽视的是,网络权限可能会威胁到用户数据安全,这也就是为什么我们需要更多地了解它。
领取专属 10元无门槛券
手把手带您无忧上云