(完整)Sikuli基本教程

上传人:山外****雨 文档编号:139929262 上传时间:2020-07-25 格式:PDF 页数:5 大小:65.26KB
返回 下载 相关 举报
(完整)Sikuli基本教程_第1页
第1页 / 共5页
(完整)Sikuli基本教程_第2页
第2页 / 共5页
(完整)Sikuli基本教程_第3页
第3页 / 共5页
(完整)Sikuli基本教程_第4页
第4页 / 共5页
(完整)Sikuli基本教程_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《(完整)Sikuli基本教程》由会员分享,可在线阅读,更多相关《(完整)Sikuli基本教程(5页珍藏版)》请在金锄头文库上搜索。

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

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

3、的运行环 境之外,还需安装wmctl 和 opencv2.0 的 libcv4, libcvaux4, libhighgui4 包。 2、工作环境介绍 Sikuli IDE 是一个方便编写与执行Sikuli 脚本的环境,界面由菜单栏、工具 栏、侧边栏、编辑区、控制台和状态栏六部分组成。 2 屏幕截图( Take screenshot ):点击该按钮,进入屏幕截图状态,拖 拽辅助线选取需要截取的界面元素,释放鼠标左键的同时, 自动将该截图插 入到 编辑区中光标当前位置。 使用快捷键Ctrl+Shift+2 可激活截图状态, 以完成对于 弹出菜单、下拉框一类的控件的实时截图。该快捷键亦可通过主菜单

4、 File-Preferences 进行自定义。 插入图片( Insert image ):除直接截图外,用户也可通过点击该按钮 导入已有的PNG 格式图片文件。 建立屏幕区域( Create region ):点击该按钮,进入屏幕区域选择状 态,拖拽定位十字线选取屏幕区域。释放鼠标左键, 即可将当前选中区域的屏幕 坐标信息插入到编辑区中。 运行( Run):点击执行当前脚本。快捷键为Ctrl+R。 慢速运行( Run in slow motion ):点击后以较慢的速度执行当前脚本, 以红色圆形外框显式标识每一次图像查找定位动作,便于程序调试中进行焦点追 踪。快捷键为Ctrl+Alt+R 。

5、 左侧侧边栏中分类列出了部分常用函数,点击函数名可快速将其插入到编辑 区,若该函数需截图作为参数, 则自动转入屏幕截图状态。 下方的状态栏可用于 查看当前行号,与行首Tab 缩进的层级( 列号 )。 右边区域上半部分为脚本编辑区域,我们的自测化测试脚本就是在这个区 域编写完成。 下半部分为提示信息,不管运行成功与失败,都会给出相应的提示信息。 三、 sikuli 脚本 3 Sikuli 的脚本编写遵循Python 语法规范,其本身提供了多种自定义类及 其自定义方法,由于Sikuli 基于 Jython ,其核心代码由Java 编写,可在用户 自定义的Java 工程中将其作为Java 标准类库进

6、行引用。 大体上了解Sikuli 的界面后,下面通过一个自动打开Firefox 浏览器,并 登录 Gmail 的简单实例来快速了解Sikuli 脚本。 上图所示的Sikuli 脚本首先单击展开开始菜单,接着单击Firefox 图标启 动浏览器。待 Firefox 的工具栏出现后,以工具栏位置为基准, 向右偏移300 的 距离以定位到地址栏并鼠标单击将光标置入地址栏,然后在地址栏中输入gmail 网址。待登录界面出现,单击用户名输入框并输入用户名信息,然后键入Tab 键,使密码输入框获得焦点并输入密码信息,最后单击Sign in 按钮完成登录。 从该示例脚本中不难发现Sikuli 最显著的特色

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

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

9、mg, modifiers=0);doubleClickAll(img, modifiers=0) 双击; 4)rightClick(img, modifiers=0) 右击; 5)closeApp(app) ;openApp(app) 关闭或者打开应用程序 6)dragDrop(src, dest) src 为实际需要拖动的按钮, dest 为需要拖动到的目的地,比如应用在调整 声音音量; 7)find(img) ,findAll(img) 搜索目标范围内最符合的结果; 结合使用比如可以找到目标结果然后双击或 批量操作; 8)popup(msg) 弹出一个提示信息对话框; 9)type(*a

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

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

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号