简介: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. distinct 多列详解

    1.distinct单列 select distinct(a) from tableA; 2.distinct多列 select distinct a,b,c from tableA; 注意此时是将a ...

  2. HTML5 File API 全介绍

    在 HTML5 File API 出现之前,前端对于文件的操作是非常有局限性的,大多需要配合后端实现.出于安全角度考虑,从本地上传文件时,代码不可能获取文件在用户本地的地址,所以纯前端不可能完成一些类 ...

  3. Spring(二十一):Spring JdbcTemplate、NamedParameterJdbcTemplate具名参数

    JdbcTemplate主要提供以下五类方法: execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句: update方法及batchUpdate方法:update方法用于执行新增.修 ...

  4. Java-JUC(八):使用wait,notify|notifyAll完成生产者消费者通信,虚假唤醒(Spurious Wakeups)问题出现场景,及问题解决方案。

    模拟通过线程实现消费者和订阅者模式: 首先,定义一个店员:店员包含进货.卖货方法:其次,定义一个生产者,生产者负责给店员生产产品:再者,定义一个消费者,消费者负责从店员那里消费产品. 店员: /** ...

  5. [JUnit] Introduce to Junit and it annotations

    Check the get started guid https://junit.org/junit5/docs/current/user-guide/#overview-getting-help p ...

  6. iOS 设置 UIWebView UserAgent

    NSString *userAgent = [[[UIWebView alloc] init] stringByEvaluatingJavaScriptFromString:@"naviga ...

  7. 让你的ASP.NET虚拟主机也支持子网站

    现在asp.net虚拟主机一般都可以绑定多个域名,但是通过这几个域名打开的页面都一样.如何使绑的这几个域名分别打开不通的页面(即实现子网站的功能)呢? 其实很简单,只需4个步骤:    1)给虚拟主机 ...

  8. 关于Chrome浏览器(Chrome Stable、 Chrome Canary 、Chromium)

    作为开发者,web浏览器一般最常用的可能是Chrome浏览器.但其实Chrome浏览器还有别的一些版本.如:Chrome Stable. Chrome Canary .Chromium.大部分人一般用 ...

  9. 微信小程序 - tabbar动态更换图标以及文字

    大家不喜欢小程序的tabbar原因之一就是它太死板,tabbar一旦在app.json定义以后文字不能改,图标不能改! 我要自制tabbar!!! 其实在微信更新完1.9.0基础调试以后就推出了更新方 ...

  10. linux2.6.30.4内核移植(4)——完善串口驱动

    在内核里支持两个串口,也就是芯片的UART0和UART1,而UART2的驱动是针对红外接口的,而不是串口驱动,这里将其修改为串口驱动. 一.修改内核源码arch/arm/mach-s3c2440/ma ...