简介: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运行确实会有权限方面的问题。

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

java+win7+eclipse+Maven+sikuli 配置总结---图形脚本语言的更多相关文章

  1. Java win7或 xp下配置JDK环境变量

    JAVA win7或 xp下配置JDK环境变量 by:授客 QQ:1033553122 1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08 ...

  2. SiKuli 图形脚本语言【转载】

    Sikuli 是一种新颖的图形脚本语言,或者说是一种另类的自动化测试技术.它与我们常用的自动化测试技术(工具)有很大的区别. 当你看到上图sikuli的脚本时,一定会惊呼,这样都可以~!脚本加截图~~ ...

  3. eclipse maven安装配置

      下载在Apache下载Maven,下载地址:http://maven.apache.org/download.html,在win7下载文件为:apache-maven-3.1.0-bin.zip. ...

  4. java web: eclipse & maven & jetty & struts2 & mysql = 简单登录页面

    第一次接触java web开发,花费了一天半的时间,写了个简单的登录页面,以此文为记. 开发工具 Eclipse Luna Release (4.4.0) 已集成maven,maven目前的体会就是管 ...

  5. eclipse + maven 环境配置

    软件152 余建强 第一步:准备以下软件并进行安装 1. jdk1.7或者以上为最佳: 官方下载地址:http://www.oracle.com/technetwork/java/javase/dow ...

  6. eclipse Maven plugin 配置

    1. eclipse -> help -> marketpalce -> search 在输入框中输入Maven,回车. 在搜索结果列表中往下拉几个安装 Maven Integrat ...

  7. Eclipse + Maven 安装配置

    1. 下载 http://maven.apache.org/download.cgi 2. 解压 3. 配置环境变量 MAVEN_HOME = D:\Software\apache-maven-3.5 ...

  8. 使用Eclipse+Maven+Jetty构建Java Web开发环境(几个教程综合集成2014发行)

    工作需要使用Jetty由于web集装箱,得知Eclipse+Maven+Jetty该组合是非常好的,因此,要在网上找了很多教程,但不写或多或少特定的或过时的内容而导致最终的配置失败,易于配置为未来的同 ...

  9. 用Eclipse+Maven+Jetty构建Java Web开发环境(详细笔记)

    (软件环境) 『系统』Windows 10 x64 『JAVA』JDK 1.8.0_91 『Eclipse』 Eclipse-oxygen 『Maven』 apache-maven-3.6.3 『Je ...

随机推荐

  1. Kalman滤波器从原理到实现

    Kalman滤波器的历史渊源 We are like dwarfs on the shoulders of giants, by whose grace we see farther than the ...

  2. pThreads线程(三) 线程同步--条件变量

    条件变量(Condition Variables) 参考资料:http://game-lab.org/posts/posix-thread-cn/#5.1 条件变量是什么? 条件变量为我们提供了另一种 ...

  3. SAP ABAP编程 取得用户中文名称

    有时候我们知道SAP当前用户登录的ID,也就是SY-UNAME.能够取得用户中文名称.例如以下: ***取得用户中文名称 DATA: g_sheet_jsr TYPE string.  "用 ...

  4. JAVA-错误Several ports (8080, 8009) required by Tomcat v7.0 Server at localhost are already in use.

    运行java程序的时候显示如下错误: 问题原因:导致这个错误的原因是因为已经启动了一个tomcat服务器 解决办法:到任务管理器中显示所有用户进程,将tomcat服务进程关闭,重新运行java程序就可 ...

  5. 主机无法访问虚拟机的apache解决办法

    1.前言 今天学习搭建wordpress,apache服务器安装在虚拟机的Centos上.配置好以后,发现在虚拟机上可以访问,但在windows主机上不能访问.于是百度.google一下,终于解决问题 ...

  6. Java-JUC(十一):线程8锁

    题目: 判断以下8种情况,输出的内容 题目一:一个Number实例对象number,两个非静态同步方法getOne,getTwo,两个线程打印输出(一个线程调用number.getOne,另外一个线程 ...

  7. VS2013开发asmx接口根据ID查询对象

    代码如下 using System; using System.Collections.Generic; using System.Linq; using System.Web; using Syst ...

  8. selenium之 chromedriver与chrome版本映射表(更新至v2.38)

    https://blog.csdn.net/huilan_same/article/details/51896672 看到网上基本没有最新的chromedriver与chrome的对应关系表,便兴起整 ...

  9. log4j和web.xml配置webAppRootKey 的问题(一个tomcat下部署多个应用)

    转自:http://blog.csdn.net/arvin_qx/article/details/6829873 在tomcat下部署两个或多个项目时,web.xml文件中最好定义webAppRoot ...

  10. maven 打包可执行jar的方法

    转自:http://blog.csdn.net/johnnywww/article/details/7964326 1.修改pom.xml增加如下内容 <plugin> <group ...