henda 发表于 2015-5-17 06:29:52

java+win7+eclipse+Maven+sikuli 配置总结---图形脚本语言

简介:Sikuli 是一种新颖的图形脚本语言,或者说是一种另类的自动化测试技术。它与我们常用的自动化测试技术(工具)有很大的区别。
  关于配置,一直是一个问题,下面做个总体介绍,用sikuli也有几个月时间了,是时候做个备忘.
  技术难点:怎么用maven+sikuli做个组合?
  http://mvnrepository.com/artifact/org.sikuli maven仓库里只有四个jar包,sikuli的核心jar包script包没有,这应该怎么办?
  先把pom.xml贴出来:




4.0.0
com.infomorrow.clientdetect
clientdetect
0.0.1-SNAPSHOT
jar
clientdetect
http://maven.apache.org

UTF-8




org.sikuli
sikuli-core
1.1.3


org.sikuli
sikuli-api
1.1.0


org.sikuli
sikuli-webdriver
1.0.1


org.sikuli
sikuli-script
1.1.0


junit
junit
4.11
test



  建立这个项目后,你会发现有报错,说sikuli-script包找不到。
  所以这个时候应该把sikuli-script jar包找到,sikuli-ide里有此包,下载地址为http://www.sikuli.org/downloadrc3.html
  直接下载sikuli-ide,地址https://launchpad.net/sikuli/sikulix/x1.0-rc3/+download/Sikuli-X-1.0rc3%20%28r905%29-win32.exe
  顺便看下sikuli支持的环境:

This Information is for the previous version Sikuli Script X-1.0rc3


On the DOWNLOAD page from the menu you get information on the new version SikuliX-1.0(May 2013)























Windows


Only 32-bit version is provided. But this version should run on both 32-bit and 64-bit Windows systems.
Prerequisites:

[*]Make sure you have installed the official Sun Java 6 JRE 32-bit version (Java 7 or 64-bit are not supported).
[*]Make sure you have uninstalled all previous versions of Sikuli (especially 0.10.x versions).
[*]Make sure you have restarted your system after you installed JRE and uninstalled old Sikuli installations.




  
只支持32位的jdk 1.6,不支持jdk 1.7和64位的jdk,这里我用的是jdk 1.7 32位测试是没有问题的。64位win7和32位win7测试都是没有问题的。
  下载好.exe文件以后,安装一下,然后把C:\Program Files\Sikuli X\sikuli-script.jar拷到C:\Users\Administrator\.m2\repository\org\sikuli\sikuli-script\1.1.0\下面改名称为sikuli-script-1.1.0.jar,这样maven就不会报错了。伪装一下,maven只会有黄色的提示信息,但不再报错。
  然后写个简单的例子:
  C盘下自己随便找个图片,然后运行一下下面的例子



import org.junit.Test;
import org.sikuli.script.FindFailed;
import org.sikuli.script.Screen;
public class test {
@Test
public void testee() throws FindFailed{
Screen s = new Screen();
s.click("C:\\logo.png");
}
}
  
  不出意外会报错,Getting the VisionProxy.dll: Can not find dependent libraries 就是说找不到.dll文件,如果你没有安装.net framework 4.0(或4.5)安装下,看还会不会报错,这个时候你到
  相关目录下去找.dll,是可以找得到的,蛋疼吧?怎么解决这个问题?
  截取网站上一解决方法:
  链接地址为:http://stackoverflow.com/questions/9568612/sikuli-windows-7-64-bit-getting-the-visionproxy-dll-can-not-find-dependent-li


[*]You must use a 32bit JRE version (I use jre-7u4-windows-i586.exe)
[*]Download Sikuli IDE for Windows (I use "Sikuli X r930", portable version)
[*]Unpack it and copy files to your project folder (I renamed it to "sikuli-ide", check image )
[*]Add sikuli-script.jar to the Referenced Libraries (Project > Properties > Java Build Path > Libraries, check image )
[*]Set PATH and SIKULI_HOME environment vars (Run > Run Configurations > Environment, check image )
[*]You're ready to go ;)
  
  
  这个方法是可以解决问题,但如果你想搞自动化不可能每个程序都重设一下enviroment吧?那就这样吧,检查一下你的环境变量,
  这个是你安装sikuli时就有的,既然已经配置了为什么还不行?
  1)重启一下你的电脑说不定再试的时候就好了,我的就是这种情况。
  2)但并不是每个重启后都是这样,那么这个时候就要注意了,重启电脑---》右键以管理员身份运行eclipse,再运行下程序就行了。
  3)再不行你就就注意把sikuli_home,path里的内容移动到系统变量里,这样每个用户都可以使用了,成功解决权限问题。
  sikuli运行确实会有权限方面的问题。
  如果还遇到问题,欢迎留言,我会及时回答。
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
页: [1]
查看完整版本: java+win7+eclipse+Maven+sikuli 配置总结---图形脚本语言