Sikuli和Robot framework的结合

Sikuli和Robot Framework都是免费的开源工具,可用于自动化测试。

Sikuli给GUI的自动化测试提供了一种新的方式,使用截图和图片,而不是用API.这种方法跟人工键盘鼠标的输入的测试更接近。

Robot Framework是一种关键字和数字驱动的方式来进行自动化测试,它包括了很多有用的功能:

RIDE,便于使用的编辑器

html模式的报表和日志,易于阅读

提供简单的库API来建立定制的测试库。。。。。。


Robot Framework是用python写的,跑测试用例的话可以用python或者jython。

Sikuli脚本用的是jython.

综上的话,可以用“jybot”来跑测试用例,关键字是从Sikuli脚本中植入的。换句话说,Sikuli脚本扮演的是Robot Framework中的Test libraries这个角色。




二者结合分为以下四步:

0.安装

1.用命令行模式运行sikuli脚本

2.升级Sikuli脚本到test libraries

3. 小贴士


第0步:安装

1) Java Runtime Environment (JRE 6_23) to run jython scripts.  (32)
2) Jython 2.5.1 itself. (32 )
3) Python 2.7.1 (it is required by Robot Framework exe distribution. See a note below). (64)
4) Robot Framework 2.5.5 (exe distribution) 是一个jar包 (http://code.google.com/p/robotframework/wiki/Installation#Windows_installer)(64)
5) Sikuli X. 下载Sikuli-setup来安装,得到sikuli-java.jar  

加环境变量:


6.安装eclipse andits plugin pydev   (http://pydev.org/manual_101_install.html)


第一步:用command line来跑sikuli脚本

sikuli脚本calc.sikuli

1.把sikuli-script.jar考到sikuli project那个目录

2.把sikuli-script.jar中的Lib这个文件夹解压出来,考到sikuli project那个目录

如下图:



用如下批处理文件:

 
 
@ echo off
 
java -Dpython.path =Lib -jar sikuli-script.jar calc.sikuli

如果报下面的错的话:

1: java.lang.UnsatisfiedLinkError:java.lang.UnsatisfiedLinkError: C:\Program Files

 (x86)\Sikuli X\libs\Win32Util.dll:Can't load IA 32-bit .dll on a AMD 64-bit pl

Atform

查看java的版本(java -version),7是sikuli不支持的



Sikuli X的话(我没做):

把sikuli的libs文件C:\Program Files\Sikuli X\libs考到临时文件夹(C:\Documents and Settings\Local Settings\Temp\tempdir\).

把jre的路径加到环境变量(by default: C:\Program Files\Java\jre6\bin)


用sikuli X的话直接可以跑如下的命令:

 java -jar "C:\Program Files\Sikuli X\sikuli-script.jar" calc.sikuli

2:升级Sikuli脚本到test libraries

写一个robot framework的测试用例,关键字是sikuli脚本的

 
 
***Settings***
Library calc.Calculator WITH NAME Calculator
 
***Test Cases***
Verify that 2 + 2 = 4
Start App
Verify App
Perform Action 2 + 2
Verify Result 4

用robot framework来跑测试用例

1:下载robot framework的jar包  (http://search.maven.org/#search%7Cga%7C1%7Ca%3Arobotframework)

2:使用这个命令来跑测试用例

robottest.bat verify_operations.txt

批处理文件包含的内容是:

 
 
@ echo off
 
set sikuli_jar =C:\Program Files\Sikuli X\sikuli-script.jar
 
java -cp "robotframework-2.5.5.jar;%sikuli_jar%" ^
-Dpython.path = "%sikuli_jar%/Lib" ^
org.robotframework.RobotFramework ^
--pythonpath =calc.sikuli ^
--outputdir =results ^
--loglevel =TRACE ^
%*

用jobot.bat跑测试用例:

1.安装python,jython和robot framework

2.把python和jython的路径加到环境变量(by default "C:\Python27\Scripts;C:\jython2.5.1") (环境变量改完后要重开一个cmd session)

3.跑测试用例

jybottest.bat robot_suite\verify_operations.txt
jybottest.bat的内容是:
  
  
@ echo off
 
set sikuli_jar =C:\Program Files\Sikuli X\sikuli-script.jar
 
set CLASSPATH = %sikuli_jar%
set JYTHONPATH = %sikuli_jar% /Lib
 
jybot --pythonpath =calc.sikuli ^
--outputdir =results ^
--loglevel =TRACE ^
%*

 
 
安装eclipse
下载eclipse(Eclipse IDE for Java EE Developers,  32bit),不用安装,直接点开,安装pydev(http://pydev.org/manual_101_install.html)
现在可以建自己的jython project,但是,所以在sikuli-script.jar里面的API都不能用,因为jython只import在它的Lib文件夹下的API,所以需要解压sikuli-script.jar,吧sikuli文件夹放在Jython Lib文件夹下。


 

 
在eclipse->pydev>perference->Forced Buildings,加入sikuli,现在你能看到sikuli的tip信息了

 
在你的项目里,有两个模块
1.sikuliwrapper
2.keywords,应当包含sikuliLibrary.py文件

 

 

现在可以开发robot framework的关键字了。

 
log的样式:
KEYWORD: Calculator.Perform Action 2, +, 2 Expand All ¶ 
Start / End / Elapsed: 20140317 04:46:35.899 / 20140317 04:46:40.494 / 00:00:04.595 
04:46:35.914 TRACE Arguments: [ u'2' | u'+' | u'2' ] 
04:46:40.494 INFO [log] CLICK on (282,157)
[log] CLICK on (178,258)
[log] CLICK on (257,290)
[log] CLICK on (178,258)
[log] CLICK on (295,290) 
04:46:40.494 TRACE Return: None 
 
未完待续
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值