一、GUI图像识别框架元祖:Sikuli Sikuli 创始于 2009 年,是麻省理工学院用户界面设计小组的一个开源研究项目。...三、Sikuli安装 Sikuli 支持跨平台运行,可以运行在Mac OS X、Windows 和 Linux 系统下。...键,按键名要大写 type(Key.ENTER) myApp.close() # 关闭APP 七、Sikuli 优势及局限 1.优势 ① 学习成本低,只需掌握简单的python语法就能快速上手...; ③ 在不同的PC系统版本上运行,以检测程序的兼容性; 对于web自动化、APP自动化主要用该端特定的自动化框架,如selenium、appium,sikuli作为辅助、可以和selenium...虽然说这个bug是sikuli测出来的bug有些牵强(本身自动化测试也不是用来发现bug的),但sikuli绝对是出了很大一份力。只要能合理地利用,任何不起眼的工具都可以发挥它的价值!
调研结果 Sikuli可用于web和app的自动化测试中,操作简单,代码容易,但截图过程太过繁琐,所需要的图片内存占用量大,且sikuli的图片识别度较低,需对所要操作的图片进行精准截图。...不然会报错:libs to export not found on above classpath: /sikulixlibs/mac/libs642. l 选择第二个 l 启动后会有have fun的提示...,如xpath和操作windows系统等,但sikuli都可以通过识别图片从而进行操作。...); ü 在有上传文件、图片等操作的自动化测试中,用sikuli的图片识别技术更为方便; ü 用sikuli来编写代码时,所截到的图片应该避免雷同,且尽量缩小范围,便于执行点击、填写等操作时,由于范围过大而定位错误...来编写代码时,所截到的图片应该避免雷同,且尽量缩小范围,便于执行点击、填写等操作时,由于范围过大而定位错误; ü 掺有sikuli jar包的代码,运行时必须在同一外置手机中使用,不得换其他手机操作,若更换
根源是是因为 sikuli 是基于图片像素级对比的,而在实践中,像素级对比往往存在很多缺陷,图片文件必须与屏幕上的呈现完全一致才能匹配上,实践中必须手动调低匹配度才能匹配到元素,但又不能太低,太低则会匹配多个元素...几种像素级匹配不适用的场景: 图像稍有缩放,无法匹配 图像稍有变形,无法匹配 图像有细微改动,匹配率降低 图2:Sikuli 手动调节匹配度 另外,虽然 sikuli 虽然是开源项目,但由于对 Java...使用 SIFT 特征点匹配 去噪算法,可找到两张图的特征点匹配度。事实上,在一般的自动化项目中,图片方向是一致的,模板匹配是适用的。...但为了达到"傻瓜式"编写用例脚本的目的,应尽量封装得好用: 1、 实现 sikuli 的常用操作和 sikuli 没有的常用操作,包括但不限于: exist hover wait waitVanish#...所以我认为基于图像的自动化比较适用场景为: 1、 UI 比较稳定 2、 操作流程比较简单 3、或者弱业务流程的自动化,如随便点击测试 后记 虽然模板匹配 特征点识别相似的图片,但依靠某种算法的特征点还是太薄弱了
执行文本搜索:当用户发起文本搜索查询时,Tantivy 解析查询语句,提取标记,并在每个段上根据查询条件和 BM25 相关性算法对文档进行排序和评分。...无缝集成能力 MyScaleDB 用 C++ 编写,建立在 ClickHouse 的基础上,并作为人工智能原生应用程序的强大搜索引擎。...在我们的 托管服务 中,我们将 Tantivy 的段索引文件存储在 NVMe SSD 上。这减少了 I/O 等待时间,并提高了在需要随机访问和处理页面错误异常的情况下 mmap 的性能。...理想情况下,跳过索引确实会加速查询,但我们发现它的效果有限。如果搜索词出现在几乎所有粒度中,则 MyScaleDB 会跳过少量粒度。这需要访问大量粒度进行查询,在这种情况下,跳过索引无效。...10000000 ) as subquery; 测试环境 尽管我们的测试环境有 64GB 内存,但 MyScaleDB 在测试期间的内存消耗仍然保持在 2.5GB 左右。
也许Sikuli可以成为你的选择之一,它可以让你摆脱对控件API的依赖,通过实时检索当前屏幕的图像,获取可操作对象,模拟用户行为,校验真实的屏幕展示结果。 什么是Sikuli?...Sikuli自动化测试,是将屏幕上展示的内容,通过图像识别,用来定位到元素的位置,并进行操作GUI组件,最后也可以通过识别图片中的内容来判断操作是否成功。...Sikuli的开发者 Sikuli是一个开放源码的最初的用户界面设计组织在麻省理工学院的研究项目,现在是保持并进一步协调与开源社区开发的Sikuli实验室在美国科罗拉多州博尔德大学。...它提供了一个简单但强大的API,用来查找屏幕上的图片,以及使用鼠标和键盘的基本用户输入。...图片的分辨率色彩和尺寸等对程序执行结果影响很大,一台设备上执行成功的脚本可能一直到另一台设备上不能成功,需要重新截图。
强大的Symbiote实时检查工具。活跃的社区支持,不断扩大中的库。 缺点:对手势的支持有限。在设备上运行测试有点难。修改配置文件需要在实际设备上运行。记录功能不可用。...一些有趣的自动化测试框架 1、Sikuli 图形化编程技术 http://www.sikuli.org/ Sikuli是由MIT的研究团队发布的新型图形化编程技术。...它以图像检索技术为基础,提供了一套基于Python的脚本语言以及集成开发环境。使用者可利用屏幕截图直接引用GUI元素进行编程,完成交互操作。Sikuli的脚本编写遵循 Python语法规范。...Sikuli将GUI对象的屏幕截图作为函数的参数直接引用,整个代码的语义清晰明了,可读性极强。脚本执行过程中,利用图像检索算法分析匹配当前屏幕中对应的控件,并对其应用相应的鼠标或键盘操作。...但作为现有自动化测试工具的补充,尤其是对无法获取API的工程,比如flash动画,是非常有效的。
UI Automation是Apple官方提供的UI自动化测试的解决方法,但接口不够丰富。 ?...一些有趣的自动化测试框架 1. Sikuli 图形化编程技术 http://www.sikuli.org/ Sikuli 是由 MIT 的研究团队发布的新型图形化编程技术。...它以图像检索技术为基础,提供了一套基于Python 的脚本语言以及集成开发环境。使用者可利用屏幕截图直接引用 GUI 元素进行编程,完成交互操作。Sikuli的脚本编写遵循 Python语法规范。...Sikuli将 GUI 对象的屏幕截图作为函数的参数直接引用,整个代码的语义清晰明了,可读性极强。脚本执行过程中,利用图像检索算法分析匹配当前屏幕中对应的控件,并对其应用相应的鼠标或键盘操作。...但作为现有自动化测试工具的补充,尤其是对无法获取API的工程,比如flash 动画, 是非常有效的。 2.
写在前面 上个星期分享了《基于Sikuli GUI图像识别框架的PC客户端自动化测试实践》,但sikuli看起来怎么都像是上个世纪的界面风格,且功能过于简陋。...而同样基于图像识别框架的Airtest,则无疑强大了许多,本次分享的内容是基于Airtest实现Windows应用的自动化测试,内容大纲: Airtest框架介绍:Airtest适用项目、Airtest...这个框架设计来源于新颖的图形脚本语言Sikuli,关于Sikuli框架可见上一篇分享《基于Sikuli GUI图像识别框架的PC客户端自动化测试实践》。...和Sikuli框架的原理一样,用户不需要一行行的去写代码,而是用屏幕截屏的方式,用截出来的图形摆列组合成神器的程序,这是Airtest的一部分。...、简单的手工操作场景转换为自动操作,用于回归测试,或是用于一些数据的构造模拟上。
UI Automation是Apple官方提供的UI自动化测试的解决方法,但接口不够丰富。...一些有趣的自动化测试框架 1. Sikuli 图形化编程技术 http://www.sikuli.org/ Sikuli 是由 MIT 的研究团队发布的新型图形化编程技术。...它以图像检索技术为基础,提供了一套基于 Python 的脚本语言以及集成开发环境。使用者可利用屏幕截图直接引用 GUI 元素进行编程,完成交互操作。...Sikuli 的脚本编写遵循 Python 语法规范。由于 Sikuli 基于 Python,其核心代码由 Java 编写,可在用户自定义的 Java 工程中将其作为 Java 标准类库进行引用。...脚本执行过程中,利用图像检索算法分析匹配当前屏幕中对应的控件,并对其应用相应的鼠标或键盘操作。这种方式使得我们在脚本编写时,既无需关心繁琐的应用程序相关 API 亦不用获取 Web 内容对象。
因此推荐使用to_tsvector()和to_tsquery()函数显式强类型转换,并且指明分词字典,已实现更精确的查询需求。...比即,WHERE to_tsvector('english', body) @@ 'a & b' 可以使用该索引,但WHERE to_tsvector(body) @@ 'a & b'不能。...GIN 索引只存储 tsvector值的词(词位),并且不存储它们的权重标签。因此, 在使用涉及权重的查询时需要一次在表行上的重新检查。...SELECT title, ts_rank_cd(textsearch, query) AS rank FROM apod, to_tsquery('neutrino|(dark & matter)')...参考文档: http://www.postgres.cn/docs/10/textsearch-controls.html#TEXTSEARCH-RANKING PostgreSQL中文全文检索 PostgreSQL
引入了中间语言,让自动化测试的开发工作脱离具体引擎的限制,降低Selenium和QTP等自动化工具的使用难度。实时查看执行情况,自动记录测试结果,并对错误步骤进行问题分析及错误时UI截图。...虽然Pyautogui和Pywinauto都是实现GUI 的自动操作,但两者的侧重点不同。...Pyautogui侧重于鼠标、键盘、截图等功能,且是基于图像匹配进行定位的,而Pywinauto侧重于对C/S系统的操作,虽然也有键盘和鼠标的模拟操作,但核心上还是软件上的操作更多。...Airtest的框架是网易团队自己开发的一个图像识别框架,这个框架的祖宗就是一种新颖的图形脚本语言Sikuli。...Sikuli这个框架的原理是这样的,计算机用户不需要一行行的去写代码,而是用屏幕截屏的方式,用截出来的图形摆列组合成神器的程序,这是Airtest的一部分。
,后来工作上需要搞一个效率小工具,就试着找了些资料来入门,发现其实就入门和开发一些简单功能的插件来说难度还是很低的。...", "key": "ctrl+f11", // 在Windows上的快捷键 "mac": "cmd+f11", // 在mac上的快捷键 "when": "editorTextFocus...例如只升级小版本: vsce publish minor 如果插件代码在gitlab上,因为仓库在内网,需要事先将README里的图片替换为公网cdn上的路径。...这里只列举一些常见的api. messgae 用于展示提示性消息,出现在编辑器右下角,而不是顶部或右上角。 和console类似,提供了普通消息、警告消息、错误消息。...hover 有时候需要在hover到文本上时展示一些提示信息,例如eslint插件在hover到不合规的代码上时会展示具体违反了哪些规则: ?
BasicMaterial2 恢复为默认材质如果图像超过特定大小,某些图像格式将无法在 macOS 上导入。...修改的:调整了“动态对称”以在宏菜单中添加一个宏,该宏可以通过热键输入并用于打开或关闭动态对称模式。渲染选项已通过渲染 >> Redshift 菜单提供给用户。...当“动态”处于活动状态时,它将使用较新的行为,允许 Gizmo 操纵器确定中心。为了避免与 macOS 上的 UI 功能发生冲突,CMD-W 现在会启动程序关闭。...以前这个键可以用来分配一个多组,但关闭会同时发生。多边形分组功能现在已从快捷方式中完全删除。Control-W 仍然可以像在 Windows 上一样用于分配多边形组。...ZBrush 现在启用了 Redshift 错误记录,以便更好地促进问题的解决。
作为Web自动化工具,Selenium主要旨在测试不同的Web应用程序在不同浏览器上执行的正确性,但自动化一切是不合理的。...截屏是一回事,但对图像进行视觉比较是完全不同的过程,Selenium Web Driver 无法处理这类场景。...StreamTest是一款免费工具,可以测量URL的执行情况并检查最终用户体验质量,但其输出并非百分百可靠。...它需要像Visual Studio这样的C#编码环境来执行在Windows应用程序上运行的自动化测试场景。甚至Sikuli和 AutoIT也可用于测试Windows组件。...Mac 应用测试 出于与Windows应用程序相同的原因,Mac应用程序测试同样不适用于Selenium WebDriver。
检查您的Internet连接。 检查Apple的系统状态页。下载服务器可能已关闭或非常繁忙,这就是下载失败的原因。 确保您有足够的可用空间。转到Apple菜单,然后选择关于本机。单击存储选项卡。...检查电源-这听起来很简单,但这就是为什么它位于列表顶部。如果您使用的是笔记本电脑,请将其插入充电器。如果已经插入,请确保在墙上和Mac上的连接都牢固。如果使用台式机Mac,请确保电源线牢固。...检查显示-Mac是否无法启动,或者启动了,但屏幕上什么都看不到?现代Mac电脑启动时不会发出提示音,因此很难分辨。...在使用T2芯片的Mac上重置SMC 关闭您的Mac。 按住Control-Option-Shift并按住键7秒钟。您的Mac可能会打开。 按住键并按住电源按钮。...10.15.6更新最终修复了该错误,但macOS Big Sur似乎也随机断开了USB连接。 断开和重新连接USB集线器可能会有所帮助。一些用户通过重新启动Mac解决了该问题。但这不能可靠地解决问题。
0159 线程标识符的地址错误。 0160 传到 DosExecPgm 的参数字符串错误。 0161 指定的路径无效。 0162 信号已挂起。 0164 系统无法创建其他线程。...0232 管道正在关闭。 0233 在管道的另一端没有进程。 0234 有更多可用的数据。 0240 已取消会话。 0254 指定的扩展属性名无效。 0255 扩展属性不一致。...1128 访问硬盘时,需要重启动磁盘控制器,但仍未成功。 1129 磁带已卷到尽头。 1130 可用的服务器存储区不足,无法执行该命令。 1131 检测到潜在的死锁情况。...2015 指定的颜色文件配置与任何设备都不相关。 2016 找不到该指定的颜色文件配置。 2017 指定的颜色空间无效。 2018 图像颜色管理没有启用。...2108 网络连接已成功,但需要提示用户输入一个不同于原始指定的密码。 2202 指定的用户名无效。 2250 网络连接不存在。 2401 在这个网络连接上已存在打开的文件或未处理的请求。
) 比如下面的这个不能连接到服务器就是我偶尔或经常遇到的问题, 解决方法:一般刷新几次就好了,如果刷新多次无效,那么重新通过react-native启动项目 (如果IOS模拟器是个人我已经想要打死他了。...APP,然后重新编译安装, 它属于“完全的不可抗力”,不是因为你做错了什么,但问题恰恰就这样出现了。。。。。...报的错误可能不是红色的,而是白色的 下面的这位error老弟,我还是第一次看到长得这么“白白净净” 的Error, 难道你不应该是“红脸关公”? ?...模拟器的人就会发现一个问题,MAC上的东东是不能直接粘贴到模拟器的APP上的 解决办法: https://www.jianshu.com/p/a34ab4933211 11.如果报错:组件不是class...rn安装到安卓设备上失败: 原因: 安装版本低于设备上已安装版本 需卸载已存在版本 12.热重载失效的现象 大概率和PureComponent的使用有关 13. encountered an internal
58 指定的服务器无法运行请求的操作。 59 出现了意外的网络错误。 60 远程适配器不兼容。 61 打印机队列已满。 62 服务器上没有储存等待打印的文件的空间。 63 已删除等候打印的文件。...83 INT 24 上的故障。 84 无法取得处理此请求的存储空间。 85 本地设备名已在使用中。 86 指定的网络密码不正确。 87 参数不正确。 88 网络上发生写入错误。...230 管道状态无效。 231 所有的管道范例都在使用中。 232 管道正在被关闭。 233 管道的另一端上无任何进程。 234 有更多数据可用。 240 已取消会话。...998 内存分配访问无效。 999 执行页内操作时的错误。 1001 递归太深;堆栈溢出。 1002 窗口无法在已发送的消息上操作。 1003 无法完成此功能。 1004 无效标志。...终止 5038 ----- 代码完整性确定文件的图像哈希无效 5039 ----- 注册表项已虚拟化。
ClosedSelectorException 试图在已关闭的选择器上调用 I/O 操作时抛出的未经检查的异常。...FormatterClosedException 格式器已关闭时抛出的未经检查的异常。...Java 虚拟机已锁定的某个区域重叠时,或者当另一个线程已经等待锁定同一文件的重叠区域时,抛出此未经检查的异常。...ProviderException 用于 Provider 异常(例如误配置错误或不可恢复的内部错误)的运行时异常,Provider 可以为它创建子类以抛出特殊的、特定于 provider 的运行时错误...),且该异常不可分配给该方法的throws子局声明的任何异常类,则由代理实例上的方法调用抛出此异常。
2.将数据恢复到Mac设备在MacBook上错误地删除您的办公室文档?清理照片但新SD卡上没有备份?将家庭视频移出64GB USB?...驱动器恢复向导在格式化的USB驱动器,闪存驱动器,笔式驱动器和任何大小的其他可移动存储介质上挽救数据丢失在其他设备上恢复将丢失的文件丢回数码相机,iPod,媒体播放器和连接到Mac计算机的其他存储设备3...',媒体卡错误- 操作错误写入期间关闭存储介质,不正确地拔出存储卡,恢复出厂设置...5.Live Tools Live Inside内置可启动媒体恢复已删除的Mac文件但Mac无法启动?...Mac数据保护通过Mac数据恢复程序中的简单和进一步的完整保护,您可以始终保护特定分区上的文件夹。当受保护的文件突然掉入垃圾箱时,您可以直接将其恢复。...6.如何恢复Mac数据?第1步:找到位置定位丢失数据的位置。第2步:搜索丢失的文件单击“扫描”按钮并自动检索已删除的文件。第3步:立即恢复您的数据过滤,预览和恢复丢失的数据
领取专属 10元无门槛券
手把手带您无忧上云