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]