2022年Sikuli基本教程 .pdf

上传人:C****o 文档编号:33390277 上传时间:2022-08-10 格式:PDF 页数:5 大小:573.68KB
返回 下载 相关 举报
2022年Sikuli基本教程 .pdf_第1页
第1页 / 共5页
2022年Sikuli基本教程 .pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《2022年Sikuli基本教程 .pdf》由会员分享,可在线阅读,更多相关《2022年Sikuli基本教程 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1 Sikuli 基本教程在 GUI 测试中,识别个性化控件、模拟用户行为及对校验屏幕显示结果常常成为自动化测试的瓶颈,此类测试场景大多数情况下仍然依赖于手工测试。Sikuli 是一种新兴的图形化编程技术,它摆脱了对控件API 的依赖,通过当前屏幕的实时图像检索获取操作对象,模拟用户行为, 匹配屏幕区域以校验真实的视觉显示结果。一、 sikuli 简介Sikuli 是一个利用图片进行可视化检索和自动化图形界面的技术。发布的初版 Sikuli 程序中包含了 Sikuli 脚本语言,一个可视化的适合Jython 的 API 和一个方便利用截图写出可视化脚本的集成开发环境Sikuli IDE。Sik

2、uli 脚本可以不经过 API 的编译器直接自动化搜索到任何你能在屏幕上见到的东西。你可以利用程序控制一个web 页面,或者在各种操作系统上运行的桌面程序,或者是模拟器下的 iphone 程序。二、 安装及使用1、sikuli 的安装在官方网站下载区可获得为Mac OS X、Windows 和 Linux 操作系统所提供的安装文件及安装方法简介。在Windows 平台下,要求有Java 6 的运行环境支持,若要正常使用1.0rc2 版本中新增的扩展组件Sikuli Guide ,还需更新 Java 至当前最新版本。在Linux 平台上,除了要安装Java6 的运行环境之外,还需安装wmctl

3、和 opencv2.0 的 libcv4, libcvaux4, libhighgui4 包。2、工作环境介绍Sikuli IDE 是一个方便编写与执行Sikuli 脚本的环境,界面由菜单栏、工具栏、侧边栏、编辑区、控制台和状态栏六部分组成。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 2 屏幕截图( Take screenshot ):点击该按钮,进入屏幕截图状态,拖拽辅助线选取需要截取的界面元素,释放鼠标左键的同时, 自动

4、将该截图插 入到编辑区中光标当前位置。 使用快捷键Ctrl+Shift+2 可激活截图状态, 以完成对于弹出菜单、下拉框一类的控件的实时截图。该快捷键亦可通过主菜单File-Preferences 进行自定义。插入图片( Insert image ):除直接截图外,用户也可通过点击该按钮导入已有的PNG 格式图片文件。建立屏幕区域( Create region ):点击该按钮,进入屏幕区域选择状态,拖拽定位十字线选取屏幕区域。释放鼠标左键, 即可将当前选中区域的屏幕坐标信息插入到编辑区中。运行( Run):点击执行当前脚本。快捷键为Ctrl+R。慢速运行( Run in slow motion

5、 ):点击后以较慢的速度执行当前脚本,以红色圆形外框显式标识每一次图像查找定位动作,便于程序调试中进行焦点追踪。快捷键为Ctrl+Alt+R 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 3 左侧侧边栏中分类列出了部分常用函数,点击函数名可快速将其插入到编辑区,若该函数需截图作为参数, 则自动转入屏幕截图状态。 下方的状态栏可用于查看当前行号,与行首Tab 缩进的层级( 列号 )。右边区域上半部分为脚本编辑区域,我们的自测化

6、测试脚本就是在这个区域编写完成。下半部分为提示信息,不管运行成功与失败,都会给出相应的提示信息。三、 sikuli 脚本Sikuli 的脚本编写遵循Python 语法规范,其本身提供了多种自定义类及其自定义方法,由于Sikuli 基于 Jython ,其核心代码由Java 编写,可在用户自定义的Java 工程中将其作为Java 标准类库进行引用。大体上了解Sikuli 的界面后,下面通过一个自动打开Firefox 浏览器,并登录 Gmail 的简单实例来快速了解Sikuli 脚本。上图所示的Sikuli 脚本首先单击展开开始菜单,接着单击Firefox 图标启动浏览器。待 Firefox 的工

7、具栏出现后,以工具栏位置为基准, 向右偏移300 的距离以定位到地址栏并鼠标单击将光标置入地址栏,然后在地址栏中输入gmail 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - 4 网址。待登录界面出现,单击用户名输入框并输入用户名信息,然后键入Tab 键,使密码输入框获得焦点并输入密码信息,最后单击Sign in 按钮完成登录。从该示例脚本中不难发现Sikuli 最显著的特色 将 GUI 对象的屏幕截图作为函数的参数直接引用,

8、整个代码的语义清晰明了, 可读性极强。 脚本执行过程中,利用图像检索算法分析匹配当前屏幕中对应的控件,并对其应用相应的鼠标或键盘操作。 这种方式使得我们在脚本编写时,既无需关心繁琐的应用程序相关 API 亦不用获取Web 内容对象。编辑完成的Sikuli 脚本可通过File - Save 进行保存。 在 Windows 平台上将保存为一个后缀为 .sikuli 的文件夹,其中包括脚本中所使用到的所有PNG 图片、 .py 后缀的源代码以及一份显示源码的HTML 文件。编写调试完成的Sikuli 脚本最终可通过菜单File-Export executable 生成以 .skl 为后缀的可执行文件

9、。生成这种格式的可执行文件后,使用命令行工具或直接双击该文件即可便捷地运行该脚本了。四、 sikuli 语法如果命令由两个词语组成那么第二次的首字母要大写。1)capture(*args) 截取指定区域中的图像, args 是制定的参数,是4 个坐标, x,y,w 和 h;2)click(img, modifiers=0) ;clickAll(img, modifiers=0) 单击,多个 modifiers 之间用 or(|)分隔;clickAll() 可用于批量的操作某事件;3)doubleClick(img, modifiers=0);doubleClickAll(img, modifi

10、ers=0) 双击;4)rightClick(img, modifiers=0) 右击;5)closeApp(app) ;openApp(app) 关闭或者打开应用程序6)dragDrop(src, dest) src 为实际需要拖动的按钮, dest 为需要拖动到的目的地,比如应用在调整声音音量;7)find(img) ,findAll(img) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - 5 搜索目标范围内最符合的结果;

11、 结合使用比如可以找到目标结果然后双击或批量操作;8)popup(msg) 弹出一个提示信息对话框;9)type(*args) 输入内容10)Key class 用于键盘输入,这是一个类。应用时可以使用Key.ENTER ,Key.DELETE来表示输入,删除;一些特殊的键盘按键则用KEY_CTRL ,KEY_ALT 来表示五、 优点及缺点1、优点:1) 整体上 sikuli 小巧、便捷、容易上手2)sikuli 脚本可以不经过API 的编译器直接自动化搜索到任何你能在屏幕上看到的东西3) 对各种程序都适合4) 不存在标准控件和非标准控件的问题5) 相对位置概念较小,要求不高(但是对象本身尺寸有影响)6) 一次编码,多次运行(基于java 的)7) jython 和 java 的支持,用编程的方式比较容易扩展2、缺点:1) 图片的分辨率、色彩、尺寸、唯一性对程序的影响2)IDE 处于开发初级阶段,稳定性和易用性存在一定问题3)只能测试 ui 界面的反馈和输出4) 截图的话,脚本存储占用空间较大5) 相似度调整需要手动一个个的调整,工作量大名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁