Robot Framework 实战中学习(集成 Skuli 的C/S测试)

现在自己正在使用的就是这套框架,也是驱使自己由浅入深的学习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

2.安装jython

安装命令 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下

c、下载文件http://robotframework.googlecode.com/hg/tools/remoteserver/robotremoteserver.py到c:\rf_sikuli中

d、在c:\rf_sikuli下新建文件SikuliRemoteLibrary.py,文件内容如下:

 1 import sys    
 2 from robotremoteserver import RobotRemoteServer    
 3 from org.sikuli.script import *    
 4     
 5 class SikuliRemoteLibrary:    
 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         except FindFailed, err:    
17             print "ERR: _wait"    
18             raise AssertionError(err)    
19     
20     def click_object(self, imgFile, timeOut, similarity):    
21         try:    
22             self._wait(imgFile, timeOut, similarity)    
23             self.SS.click(imgFile)    
24         except FindFailed, err:    
25             raise AssertionError("Cannot click [" + imgFile + "]")    
26     
27     def object_exists(self, imgFile, similarity, timeOut):    
28         try:    
29             self._wait(imgFile, timeOut, similarity)    
30         except FindFailed, err:    
31             raise AssertionError("Could not find [" + imgFile + "]")    
32     
33     def type_at_object(self, imgFile, txt, timeOut, similarity):    
34         try:    
35             self._wait(imgFile, timeOut, similarity)    
36             self.SS.type(imgFile, txt)    
37         except FindFailed, err:    
38             raise AssertionError("Cannot type at [" + imgFile + "]")    
39     
40     def paste_at_object(self, imgFile, txt, timeOut, similarity):    
41         try:    
42             self._wait(imgFile, timeOut, similarity)    
43             self.SS.paste(imgFile, txt)    
44         except FindFailed, 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.bat SikuliRemoteLibrary.py

如果出现:Robot Framework remote server starting at localhost:8270,说明配置成功

(未完待续。。。)

猜你喜欢

转载自www.cnblogs.com/mimihuhudeliwu/p/9079179.html