现在自己正在使用的就是这套框架,也是驱使自己由浅入深的学习Robot Framework框架的动力之一,由于C/S端的封闭性,自动化测试应用不了WebDriver,同时,C/S需要一定的硬件环境,所以软件的可靠性也是测试重点之一。
一、搭建环境:(由于坑比较多,网上搜了很多,不能从头到尾的成功,所以尽量详细,如果您有补充或者问题请留言)
1.安装JDK
jdk-8u171-windows-i586.exe 双击安装
环境变量:JAVA_HOME C:\Program Files (x86)\Java\jdk1.8.0_171
CLASSPATH .;%JAVA_HOME%\lib
Path %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
安装命令 java -jar jython-installer-2.7.0.jar (如果提示:Java不是内部命令,注意Java的版本)
环境变量:JYTHON_HOME C:\jython2.7.0
CLASSPATH C:\jython2.7.0\Lib
Path C:\jython2.7.0\bin
3.安装Skuli X
3.1(不推荐此安装方法)这是网上搜到的安装方法,确实可以启动Skuli,但是要与Robot进行集成,
下载安装包“sikulixsetup-1.1.0.jar”,网址:https://launchpad.net/sikuli/sikulix/1.1.0
将安装包拷贝到安装目录下,如D:\Sikuli1.1
在命令行里运行“Java –jarsikulixsetup-1.1.0.jar”,弹出安装向导:。。。等等。。。
3.2官网直接下载Sikuli-X-1.0rc3 (r905)-win32.exe安装(运行Skuli需要Java1.6的支持,所以此处还要安装jdk-6u45-windows-i586.exe,不需要配置环境变量)
4.配置rf远程调用sikuli环境(搬运的网上大神的,仅供学习非商业用途,如有意见立马删除)
a、新建一个文件夹c:\rf_sikuli
b、将sikuli安装目录下的C:\Program Files\Sikuli X\sikuli-script.jar拷贝到c:\rf_sikuli下
d、在c:\rf_sikuli下新建文件SikuliRemoteLibrary.py,文件内容如下:
1 importsys2 from robotremoteserver importRobotRemoteServer3 from org.sikuli.script import *
4
5 classSikuliRemoteLibrary:6
7 def __init__(self):8 self.SS =Screen()9 self.PT =Pattern()10
11 def_wait(self, imgFile, timeOut, similarity):12 try:13 self.PT =Pattern(imgFile)14 self.PT =self.PT.similar(float(similarity))15 self.SS.wait(self.PT, float(timeOut))16 exceptFindFailed, err:17 print "ERR: _wait"
18 raiseAssertionError(err)19
20 defclick_object(self, imgFile, timeOut, similarity):21 try:22 self._wait(imgFile, timeOut, similarity)23 self.SS.click(imgFile)24 exceptFindFailed, err:25 raise AssertionError("Cannot click [" + imgFile + "]")26
27 defobject_exists(self, imgFile, similarity, timeOut):28 try:29 self._wait(imgFile, timeOut, similarity)30 exceptFindFailed, err:31 raise AssertionError("Could not find [" + imgFile + "]")32
33 deftype_at_object(self, imgFile, txt, timeOut, similarity):34 try:35 self._wait(imgFile, timeOut, similarity)36 self.SS.type(imgFile, txt)37 exceptFindFailed, err:38 raise AssertionError("Cannot type at [" + imgFile + "]")39
40 defpaste_at_object(self, imgFile, txt, timeOut, similarity):41 try:42 self._wait(imgFile, timeOut, similarity)43 self.SS.paste(imgFile, txt)44 exceptFindFailed, err:45 raise AssertionError("Cannot paste at [" + imgFile + "]")46
47 if __name__ == '__main__':48 SRL =SikuliRemoteLibrary()49 RobotRemoteServer(SRL, *sys.argv[1:])
View Code
e、将c:\rf_sikuli目录添加到CLASS_PATH环境变量下
f、打开cmd,到c:\rf_sikuli目录下,执行jython SikuliRemoteLibrary.py
如果出现:Robot Framework remote server starting at localhost:8270,说明配置成功
5.创建一个.bat服务文件
每次导入使用Remote库,都需要打开cmd,到c:\rf_sikuli目录下,执行jython SikuliRemoteLibrary.py,启动服务,可以写一个.bat(Windows系统)的服务,方便操作,方法如下:
a.创建一个TXT文档;
b.写入下面代码即可:
1 @Echo off2 C:3 cd \rf_sikuli4 jython SikuliRemoteLibrary.py
View Code