简介:Sikuli 是一种新颖的图形脚本语言,或者说是一种另类的自动化测试技术。它与我们常用的自动化测试技术(工具)有很大的区别。

关于配置,一直是一个问题,下面做个总体介绍,用sikuli也有几个月时间了,是时候做个备忘.

技术难点:怎么用maven+sikuli做个组合?

http://mvnrepository.com/artifact/org.sikuli maven仓库里只有四个jar包,sikuli的核心jar包script包没有,这应该怎么办?

先把pom.xml贴出来:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.</modelVersion> <groupId>com.infomorrow.clientdetect</groupId>
<artifactId>clientdetect</artifactId>
<version>0.0.-SNAPSHOT</version>
<packaging>jar</packaging> <name>clientdetect</name>
<url>http://maven.apache.org</url> <properties>
<project.build.sourceEncoding>UTF-</project.build.sourceEncoding>
</properties> <dependencies>
<!-- sikuli -->
<dependency>
<groupId>org.sikuli</groupId>
<artifactId>sikuli-core</artifactId>
<version>1.1.</version>
</dependency>
<dependency>
<groupId>org.sikuli</groupId>
<artifactId>sikuli-api</artifactId>
<version>1.1.</version>
</dependency>
<dependency>
<groupId>org.sikuli</groupId>
<artifactId>sikuli-webdriver</artifactId>
<version>1.0.</version>
</dependency>
<dependency>
<groupId>org.sikuli</groupId>
<artifactId>sikuli-script</artifactId>
<version>1.1.</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

建立这个项目后,你会发现有报错,说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:

  1. Make sure you have installed the official Sun Java 6 JRE 32-bit version (Java 7 or 64-bit are not supported).
  2. Make sure you have uninstalled all previous versions of Sikuli (especially 0.10.x versions).
  3. 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

  1. You must use a 32bit JRE version (I use jre-7u4-windows-i586.exe)
  2. Download Sikuli IDE for Windows (I use "Sikuli X r930", portable version)
  3. Unpack it and copy files to your project folder (I renamed it to "sikuli-ide", check image )
  4. Add sikuli-script.jar to the Referenced Libraries (Project > Properties > Java Build Path > Libraries, check image )
  5. Set PATH and SIKULI_HOME environment vars (Run > Run Configurations > Environment, check image )
  6. You're ready to go ;)

这个方法是可以解决问题,但如果你想搞自动化不可能每个程序都重设一下enviroment吧?那就这样吧,检查一下你的环境变量,

这个是你安装sikuli时就有的,既然已经配置了为什么还不行?

1)重启一下你的电脑说不定再试的时候就好了,我的就是这种情况。

2)但并不是每个重启后都是这样,那么这个时候就要注意了,重启电脑---》右键以管理员身份运行eclipse,再运行下程序就行了。

3)再不行你就就注意把sikuli_home,path里的内容移动到系统变量里,这样每个用户都可以使用了,成功解决权限问题。

sikuli运行确实会有权限方面的问题。

如果还遇到问题,欢迎留言,我会及时回答。

最新文章

  1. 利用注册表在右键添加VS15的快捷方式打开文件夹
  2. [spring源码学习]三、IOC源码——自定义配置文件读取
  3. [Leetcode][JAVA] Path Sum I &amp;&amp; II
  4. Windows网络驱动、NDIS驱动(微端口驱动、中间层驱动、协议驱动)、TDI驱动(网络传输层过滤)、WFP(Windows Filtering Platform)
  5. Android Studio如何引用外部Library工程
  6. 洛谷P2320 [HNOI2006]鬼谷子的钱袋
  7. JS跨域笔记
  8. javascript如何监听页面刷新和页面关闭事件
  9. 实验-使用VisualVM或JConsole进行对程序进行性能分析
  10. React的入门知识与概念【1】
  11. JavaScript之事件的绑定与移除
  12. Spring动态获取已注入的对象的方法
  13. 067 Flume协作框架
  14. eslint 代码规范2
  15. CSU 1838 Water Pump(单调栈)
  16. python 定义类 简单使用
  17. log-bin
  18. SharePoint Server 2013安装
  19. linux {..}用法
  20. asp.net Core EF core ( Entity Framework 7 ) 数据库更新维护

热门文章

  1. 基于Bootstrap+jQuery.validate Form表单验证实践
  2. 利用vue-cropper做的关于图片裁剪、压缩、上传、预览等做的一个公共组件
  3. Android -- 混淆
  4. Android -- java代码设置margin
  5. Siamese Network简介
  6. JAVA-SpringMVC开发第一个应用
  7. python 导出mongoDB数据中的数据
  8. WIN10系统如何隐藏底部搜索框
  9. WIN10系统如何使用传统WIN7开始菜单
  10. 关于RF对于不在屏幕内的页面元素的处理办法