首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于Sikuli GUI图像识别框架的PC客户端自动化测试实践

刚好去年接触过Sikuli这款基于GUI图像识别框架的自动化测试工具,于是便应用于测试工作中,辅助测试任务。初步试用下来,总体效果还算差强人意,也间接助我发现了一个致命级别的大bug(后续会介绍)。...一、GUI图像识别框架元祖:Sikuli Sikuli 创始于 2009 年,是麻省理工学院用户界面设计小组的一个开源研究项目。...它以图像检索技术为基础,提供了一套基于 Jython 的脚本语言以及集成开发环境。使用者可利用屏幕截图直接 引用 GUI 元素进行编程,完成交互操作。...IDE主界面基本使用 Sikuli1.x版本官方文档:http://doc.sikuli.org/ 左侧为常用函数,包括查找、鼠标动作、键盘动作等 点击元素的图片可以调节识别的偏移度、匹配的精度 sikuli...、色彩都会对识别造成影响,定位不能百分百准确地识别到元素; ② 只能定位当前正在操作的窗口界面; ③ 若流程过长,则会造成脚本过于臃肿; ④ 图片存在相似度,会对识别造成影响,需要手动一一调整图片的精度

2.9K20

Python: 屏幕取色器(识别屏幕上不同位置的颜色)

文章背景:工作中,有时候需要判断图片中不同位置的颜色。有些颜色不太容易区分,所以想通过Python编写代码,通过屏幕取点,获取某个位置的颜色值。...代码逻辑: (1)文末参考资料[2]的csv文件(记为颜色表)中给出了865种颜色的英文名称和对应的RGB数值,在此基础上,笔者添加了相应的中文名称,如下表所示。...(2)通过鼠标在屏幕上取点,获取指定位置的RGB数值,然后与颜色表中各行的RGB数值进行匹配,返回RGB数值最接近的颜色信息。...,Windows上以RGB图像的形式返回。...buttonCapture.wait_window(w.top) # 截图结束,恢复主窗口,并删除临时的全屏幕截图文件 root.state('normal') os.remove

5.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Sikuli 基于图形识别的自动化测试技术

    也许Sikuli可以成为你的选择之一,它可以让你摆脱对控件API的依赖,通过实时检索当前屏幕的图像,获取可操作对象,模拟用户行为,校验真实的屏幕展示结果。 什么是Sikuli?...Sikuli自动化测试,是将屏幕上展示的内容,通过图像识别,用来定位到元素的位置,并进行操作GUI组件,最后也可以通过识别图片中的内容来判断操作是否成功。...它提供了一个简单但强大的API,用来查找屏幕上的图片,以及使用鼠标和键盘的基本用户输入。...图片的分辨率色彩和尺寸等对程序执行结果影响很大,一台设备上执行成功的脚本可能一直到另一台设备上不能成功,需要重新截图。...而且只能检测当前桌面上显示的内容,后台进程无法操作,pc端的所有用户操作并没有完全支持,sikuli本身还不完善,还在开发升级阶段。

    1.1K20

    图像识别在测试中的应用

    在具体讲解之前,先介绍一下图像识别在测试中能够想到的引用场景: 测试过程中,通过对待测软件进行屏幕截图,采用图像识别算法识别截图中是否包含预定义的可操作控件,如果存在,则触发控制指令,也就达到了图像识别引导测试过程的目的...- 测试结果的验证,通过对待测软件的界面进行截图操作,利用图像识别技术将截图与期望的结果进行匹配,从而自动获取测试结果。- 通过图像识别对比来进行性能测试,比如app测试中常见的响应时间的测试。...一、原理 Sikuli脚本是由jython通过图像识别的方式来模拟键盘和鼠标事件,从而实现ui层面的自动化测试。...Sikuli脚本的核心是一个java库 ,主要由两部分组成(见上图): java.awt.Robot部分主要是将键盘和鼠标事件传送给指定的位置,具体的位置是由c++引擎(基于opencv模块)通过脚本中的目标图片去屏幕上搜索并定位...5、可以识别类似flash这样不能通过识别控件来进行自动化测试的项目。 缺点: 1、屏幕不能有遮挡,因为sikuli需要在当前桌面识别对应的目标并进行操作,如果桌面有遮挡就会导致对应的元素找不到。

    86720

    自定义网站在 iPhone 上的“添加至主屏幕”的图标

    iPhone 5发布了,虽然有些让人失望,但是 iPhone 的地位还是无可厚非的。随着移动设备的大军进入,各位站长是否有考虑过开发自己网站的 APP 呢?...当然不是谁都有这技术的...这样,Safari 的一个叫“添加至主屏幕”的功能就引起了我的注意,我们可以通过它伪装出一个 APP 来。...但是大家是否有发现,“添加至主屏幕”后,那个图标是你网站的缩略图,不怎么好看。那么如何自定义网站“添加至主屏幕”的图标呢?...至于“图标阴影”,是 iOS 设备中统一为所有桌面元素增加的,所以不作为图标单独处理的样式。...由于在视觉上统一最重要的是形状的统一,所以“圆角”是必须的,但是对于“高光”苹果没有做出特别的强调,所以苹果设置当中把“高光”作为可选项,就产生了 apple-touch-icon 和 apple-touch-icon-precomposed

    1.2K30

    电脑屏幕监控软件中图像识别算法的优势与应用价值

    在电脑屏幕监控软件中,图像识别算法就像是一个电脑版的侦探,用着最先进的计算机视觉技术,自动监视和分析屏幕上的图像内容。...下面就为大家简单的介绍一下图像识别算法在电脑屏幕监控软件中优势与实用性。图像识别算法在电脑屏幕监控软件中具有以下优势:实时监测:图像识别算法能够实时监测电脑屏幕上的内容,无需用户手动干预。...这意味着它可以实时检测和分析屏幕上的图像、文本、图标、视频等信息,及时发现任何异常行为或不当内容。自动化识别:图像识别算法可以自动识别屏幕上的特定元素或图案。...图像识别算法在电脑屏幕监控软件中的实用性如下:网络安全:通过图像识别算法,监控软件可以实时监测用户屏幕上的活动,及时发现和阻止恶意软件、网络攻击或其他安全威胁。...数据分析:图像识别算法可以帮助对屏幕上的数据进行分析和统计,从而得到更深入的见解,支持决策制定和优化业务流程。

    27970

    RK3399上的视频监控和图像识别

    1、视频监控 上次博主在 imx6ull 板子上做了韦东山老师的视频监控项目,并且写了两篇文章,如下: 手把手教你视频监控之 MJPG-Streamer 方案 视频监控之 ffmpeg + nginx...+ rtmp/httpflv 这次博主买了讯为 RK3399 板子,RK3399 比 imx6ull 强很多,因此博主趁着周末又花几小时操作了一遍,看看视频编解码能力 RK3399 有多强。...imx6ull 从 USB 摄像头采集数据,编码后放到 nginx 服务器,拉流端再拉流,需要 40 秒,RK3399只需要 8 秒,因此 RK3399 的视频编解码能力是 imx6ull 的五倍!...2、图像识别和目标检测 图像分类:http://mpvideo.qpic.cn/0bc3xaabeaaa7eahqli3f5rfbogdck4aaeqa.f10002.mp4?...Android 系统的开发板。

    2K20

    基于图像识别的自动化

    根源是是因为 sikuli 是基于图片像素级对比的,而在实践中,像素级对比往往存在很多缺陷,图片文件必须与屏幕上的呈现完全一致才能匹配上,实践中必须手动调低匹配度才能匹配到元素,但又不能太低,太低则会匹配多个元素...几种像素级匹配不适用的场景: 图像稍有缩放,无法匹配 图像稍有变形,无法匹配 图像有细微改动,匹配率降低 图2:Sikuli 手动调节匹配度 另外,虽然 sikuli 虽然是开源项目,但由于对 Java...二、 模板匹配 模板匹配(matchTemplate)是一种最具代表性的图像识别方法。...在大图(待识别图像 T) 滑动小图(模板 I) 进行匹配,滑动的意思是每次从左向右或者从上向下移动 1 个像素,最终找到最佳匹配。...在一群牛中找到了一只羊的"最佳匹配" 三、 特征识别 人眼在识别物体时,会根据图像的局部特征来判断整体,比如图像的边缘轮廓、角、斑点等等。

    8.1K70

    基于图像识别框架Airtest的Windows项目自动化测试实践

    写在前面 上个星期分享了《基于Sikuli GUI图像识别框架的PC客户端自动化测试实践》,但sikuli看起来怎么都像是上个世纪的界面风格,且功能过于简陋。...编写测试代码 设计测试用例 运行效果 查看测试报告 总结与思考 一、Airtest框架介绍 1.Airtest介绍 Airtest是网易出品的一款基于图像识别和Poco控件识别的一款UI自动化测试工具...这个框架设计来源于新颖的图形脚本语言Sikuli,关于Sikuli框架可见上一篇分享《基于Sikuli GUI图像识别框架的PC客户端自动化测试实践》。...和Sikuli框架的原理一样,用户不需要一行行的去写代码,而是用屏幕截屏的方式,用截出来的图形摆列组合成神器的程序,这是Airtest的一部分。...:是一个跨平台的、基于图像识别的UI自动化测试框架,适用于游戏和App,支持平台有Windows、 Android和iOS; Poco:是一款基于UI控件识别的自动化测试框架,目前支持Unity3D/cocos2dx

    1.8K20

    UI自动化工具,你知道有几个?

    但由于控件的定位依赖于图像匹配,所以得事先保存好控件的截图,然后在操作时自动截取屏幕,利用图像匹配找到控件在屏幕的像素位置,再将鼠标自动移至控件处点击。...Pyautogui侧重于鼠标、键盘、截图等功能,且是基于图像匹配进行定位的,而Pywinauto侧重于对C/S系统的操作,虽然也有键盘和鼠标的模拟操作,但核心上还是软件上的操作更多。...Airtest Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具。...Airtest的框架是网易团队自己开发的一个图像识别框架,这个框架的祖宗就是一种新颖的图形脚本语言Sikuli。...Sikuli这个框架的原理是这样的,计算机用户不需要一行行的去写代码,而是用屏幕截屏的方式,用截出来的图形摆列组合成神器的程序,这是Airtest的一部分。

    9.8K21

    sikuli python java_自动化测试之sikuli调研

    调研结果 Sikuli可用于web和app的自动化测试中,操作简单,代码容易,但截图过程太过繁琐,所需要的图片内存占用量大,且sikuli的图片识别度较低,需对所要操作的图片进行精准截图。...什么是Sikuli MIT的研究人员设计了一种新颖的图形脚本语言Sikuli,计算机用户只须有最基本的编程技能(比如会写print”hello world”),他不需要去写出一行行代码,而是用屏幕截图的方式...的C++引擎用于在屏幕内搜索制定的图片。...,因为图片的识别会因为分辨率、背景颜色,图片大小的变化而变化; ü Selenium运行起来较为缓慢,而sikuli代码运行起来能很快识别出要点击和添加的内容; ü Selenium中有很多元素无法获得...); ü 在有上传文件、图片等操作的自动化测试中,用sikuli的图片识别技术更为方便; ü 用sikuli来编写代码时,所截到的图片应该避免雷同,且尽量缩小范围,便于执行点击、填写等操作时,由于范围过大而定位错误

    1.7K10

    转:图像识别算法在电脑屏幕监控软件中的优势与实用性

    在电脑屏幕监控软件中,图像识别算法就像是一个电脑版的侦探,用着最先进的计算机视觉技术,自动监视和分析屏幕上的图像内容。...下面就为大家简单的介绍一下图像识别算法在电脑屏幕监控软件中优势与实用性。图像识别算法在电脑屏幕监控软件中具有以下优势:实时监测:图像识别算法能够实时监测电脑屏幕上的内容,无需用户手动干预。...这意味着它可以实时检测和分析屏幕上的图像、文本、图标、视频等信息,及时发现任何异常行为或不当内容。自动化识别:图像识别算法可以自动识别屏幕上的特定元素或图案。...图像识别算法在电脑屏幕监控软件中的实用性如下:网络安全:通过图像识别算法,监控软件可以实时监测用户屏幕上的活动,及时发现和阻止恶意软件、网络攻击或其他安全威胁。...数据分析:图像识别算法可以帮助对屏幕上的数据进行分析和统计,从而得到更深入的见解,支持决策制定和优化业务流程。

    20240

    把机器变成人!WeTest云测GDOC现场分享精选

    数据上可以明显看出,android 碎片化主要体现在机型上,细分下去还关乎系统版本、手机品牌(定制rom)、分辨率等好几个维度。...,PyWinAuto等,做过Android平台的,你可能知道Robotium,Appium等,还有基于图像识别的工具Sikuli,做过的同学都知道UI自动化有一个天敌——UI变化!...这部分核心技术目前是保密的,小助手只能透露到核心技术是使用了自主研发的智能UI识别技术和自动学习算法。...安装失败、拉起失败、Crash、ANR、画面类的问题,如黑屏和白屏这样的可以考虑通过图像识别来自动化检测,但是对于一些主观性很强的画面问题目前看只能通过人来看测试过程中的截图来识别。...对于手游基本都是用录制屏幕的方式,这种方法成本比较低,但是坐标的方法限制也很多,首先脚本需要人工录制,屏幕分辨率会影响,而且只能测试一些很固定的流程,流程变化了需要重录,如果流程中有些随机因素,那后面的测试就全部乱掉

    79530

    13 | PyTorch全连接网络识别飞机、全连接在图像分类上的缺陷

    ,[1,0]或者[0,1],我们希望的是如果一张图是鸟,那么鸟的概率比飞机高就可以了,而不是绞尽脑汁研究怎么把这张图的概率优化到识别“它一定是一只鸟”。.../ total)outs:Accuracy: 0.676 然而,我们的得到的验证集准确率竟然只有67.6%,这有问题啊xdm,这明显过拟合了,在我们的训练集上那么低的损失,在验证集上的准确率只有这么一丢丢...,都有高达370w的参数,如果图像再大点我们的电脑就直接崩溃了。...在第一个问题的基础上,第二个问题就是不具有平移不变性。...考虑我们对图像做的预处理,我们把它的三个通道都摊平了,并且塞到了一个一维向量中,那么我们的模型只能学到一个顺序排列的数组的特性,但是图片实际上并不是这样的是不是,一个图像像素跟他上下左右的像素都有关系。

    65121

    如何用Sikuli自动录入成绩?

    Windows上,有AutoHotkey;macOS上,有AppleScript。...但是它们都是单平台工具,而且都需要学习专用的操作语言(虽然并不复杂),这样你的技能就会被局限在某一种操作系统上,不能通用。 今天我推荐给你的这一种编程环境,叫做Sikuli。 ?...我们到终端里,切换到下载目录,执行以下语句: java -jar sikulixsetup-1.1.1.jar 屏幕上会显示一大堆文字提示,然后出现以下对话框。 ?...应用的名称怎么设置呢? 很简单,在macOS下面,把鼠标移动到屏幕下方Dock上面的对应图标上,看到的提示就是应用的正式名称。照着写就可以。 ? 其中出现了3条sleep()语句。...还是那句话,用这么强悍的自动化脚本工具来输入个考试成绩,简直是委屈了它。 其实,Sikuli具有基本图标识别和像素级定位操作能力,被广泛应用于软件测试、桌面监控等领域。

    1.8K20

    移动APP自动化测试框架对比

    Cucumber中的所有语句使用Ruby定义。 优点: 有大型社区支持。列表项简单,类似英语表述的测试语句支持在屏幕上的所有动作,如滑动,缩放,旋转,敲击等。...一些有趣的自动化测试框架 1、Sikuli 图形化编程技术 http://www.sikuli.org/  Sikuli是由MIT的研究团队发布的新型图形化编程技术。...它以图像检索技术为基础,提供了一套基于Python的脚本语言以及集成开发环境。使用者可利用屏幕截图直接引用GUI元素进行编程,完成交互操作。Sikuli的脚本编写遵循 Python语法规范。...Sikuli将GUI对象的屏幕截图作为函数的参数直接引用,整个代码的语义清晰明了,可读性极强。脚本执行过程中,利用图像检索算法分析匹配当前屏幕中对应的控件,并对其应用相应的鼠标或键盘操作。...(2)依赖屏幕截图,使得 1)在不同平台,不同分辨率,不同操作系统上需要维护一套图形源文件,不利于跨平台移植; 2)若出现程序逻辑外的界面遮挡,则影响程序执行。

    4.1K20

    移动APP自动化测试框架对比

    Cucumber中的所有语句使用Ruby定义。 优点: 有大型社区支持。列表项 简单,类似英语表述的测试语句支持在屏幕上的所有动作,如滑动,缩放,旋转,敲击等。...一些有趣的自动化测试框架 1. Sikuli 图形化编程技术 http://www.sikuli.org/ Sikuli 是由 MIT 的研究团队发布的新型图形化编程技术。...它以图像检索技术为基础,提供了一套基于Python 的脚本语言以及集成开发环境。使用者可利用屏幕截图直接引用 GUI 元素进行编程,完成交互操作。Sikuli的脚本编写遵循 Python语法规范。...Sikuli将 GUI 对象的屏幕截图作为函数的参数直接引用,整个代码的语义清晰明了,可读性极强。脚本执行过程中,利用图像检索算法分析匹配当前屏幕中对应的控件,并对其应用相应的鼠标或键盘操作。...2、依赖屏幕截图,使得1)在不同平台,不同分辨率,不同操作系统上需要维护一套图形源文件,不利于跨平台移植;2)若出现程序逻辑外的界面遮挡,则影响程序执行。

    5.8K101

    【腾讯 TMQ 】移动 APP 自动化测试框架对比

    Cucumber中的所有语句使用Ruby定义。 优点: 有大型社区支持。 列表项 简单,类似英语表述的测试语句 支持在屏幕上的所有动作,如滑动,缩放,旋转,敲击等。...它以图像检索技术为基础,提供了一套基于 Python 的脚本语言以及集成开发环境。使用者可利用屏幕截图直接引用 GUI 元素进行编程,完成交互操作。...它的脚本是这样式的: Sikuli将 GUI 对象的屏幕截图作为函数的参数直接引用,整个代码的语义清晰明了,可读性极强。...脚本执行过程中,利用图像检索算法分析匹配当前屏幕中对应的控件,并对其应用相应的鼠标或键盘操作。这种方式使得我们在脚本编写时,既无需关心繁琐的应用程序相关 API 亦不用获取 Web 内容对象。...依赖屏幕截图,使得1)在不同平台,不同分辨率,不同操作系统上需要维护一套图形源文件,不利于跨平台移植;2)若出现程序逻辑外的界面遮挡,则影响程序执行。

    6.6K11

    桌面自动化终极利器开源了,牛逼!

    大家好,我是爱撸码的开源大叔! 大叔在日常工作的时候,经常会遇到一些繁琐重复的操作,情不自禁的会想到自动化。甚至有的时候会想,什么时候能实现自动化编写文章,自动化剪辑视频?...简介 SikuliX,号称上帝之眼,可以通过 OpenCV 图像识别技术,来定位图像和键盘、鼠标来操作GUI(图形化用户界面),实现桌面类应用自动化。...它可以使用图片来作为脚本的识别点/触发点,来进行操作,这算得上一种非常神器的方案! 目前支持系统包括 Windows、Mac 和一些 Linux/Unix。...SikuliX 原名是 Sikuli,现在改名为 SikuliX,可能是因为旧作者停止维护了,由新团队来维护。...2、安装SikuliX 前往 https://launchpad.net/sikuli/+download 下载对应的 jar 安装包,目前最新稳定版本是2.0.5。

    1.5K50

    Airtest的探索使用

    Airtest的简介 Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具。...Airtest的框架是网易团队自己开发的一个图像识别框架,这个框架的祖宗就是一种新颖的图形脚本语言Sikuli。...Sikuli这个框架的原理是这样的,计算机用户不需要一行行的去写代码,而是用屏幕截屏的方式,用截出来的图形摆列组合成神器的程序,这是Airtest的一部分。...市面上常见的UI自动化测试工具以及优缺点 以上主流工具的优点跟缺点: 相较于以上工具来说,Airtest有以下优点和缺点: 所以其实基于图像识别的Airtest更适合用于游戏测试多一点。...:图片名 msg:屏幕截图的简短描述 quality:图像质量,范围为[1,99]的整数 12).唤醒并解锁设备 wake('设备') 13).返回目标设备的主屏幕 home('设备') 14).设备屏幕上执行点击

    1.6K30
    领券