(完整)Sikuli基本教程.pdf

上传人:1398****507 文档编号:72542807 上传时间:2023-02-12 格式:PDF 页数:5 大小:253.93KB
返回 下载 相关 举报
(完整)Sikuli基本教程.pdf_第1页
第1页 / 共5页
(完整)Sikuli基本教程.pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《(完整)Sikuli基本教程.pdf》由会员分享,可在线阅读,更多相关《(完整)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。

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

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

4、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 标准类库进行引用。大体上了解 Sikuli 的界面后,下面通过一个自动打开 Firefox 浏览器,并登录 Gmai

6、l 的简单实例来快速了解 Sikuli 脚本。上图所示的 Sikuli 脚本首先单击展开开始菜单,接着单击 Firefox 图标启动浏览器。待 Firefox 的工具栏出现后,以工具栏位置为基准,向右偏移 300 的距离以定位到地址栏并鼠标单击将光标置入地址栏,然后在地址栏中输入 gmail 网址。待登录界面出现,单击用户名输入框并输入用户名信息,然后键入 Tab 键,使密码输入框获得焦点并输入密码信息,最后单击 Sign in 按钮完成登录。从该示例脚本中不难发现 Sikuli 最显著的特色将 GUI 对象的屏幕截图作为函数的参数直接引用,整个代码的语义清晰明了,可读性极强。脚本执行过程中,

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

8、文件即可便捷地运行该脚本了。四、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(img,modifiers=0);doubleClickAll(img,modifiers=0)双击;4)rightClick(img,modifiers

9、=0)右击;5)closeApp(app);openApp(app)关闭或者打开应用程序 6)dragDrop(src,dest)src 为实际需要拖动的按钮,dest 为需要拖动到的目的地,比如应用在调整声音音量;7)find(img),findAll(img)搜索目标范围内最符合的结果;结合使用比如可以找到目标结果然后双击或批量操作;8)popup(msg)弹出一个提示信息对话框;9)type(*args)输入内容 10)Key class 用于键盘输入,这是一个类。应用时可以使用 Key.ENTER,Key.DELETE来表示输入,删除;一些特殊的键盘按键则用 KEY_CTRL,KEY_ALT 来表示 五、优点及缺点、优点:整体上小巧、便捷、容易上手 脚本可以不经过的编译器直接自动化搜索到任何你能在屏幕上看到的东西5 对各种程序都适合 不存在标准控件和非标准控件的问题 相对位置概念较小,要求不高(但是对象本身尺寸有影响)一次编码,多次运行(基于的)和的支持,用编程的方式比较容易扩展、缺点:图片的分辨率、色彩、尺寸、唯一性对程序的影响 处于开发初级阶段,稳定性和易用性存在一定问题 只能测试界面的反馈和输出 截图的话,脚本存储占用空间较大 相似度调整需要手动一个个的调整,工作量大

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

当前位置:首页 > 应用文书 > 工作报告

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

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