java+win7+eclipse+Maven+sikuli 配置總結---圖形腳本語言


簡介: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.0</modelVersion>

  <groupId>com.infomorrow.clientdetect</groupId>
  <artifactId>clientdetect</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>clientdetect</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
  <!-- sikuli -->
        <dependency>
            <groupId>org.sikuli</groupId>
            <artifactId>sikuli-core</artifactId>
            <version>1.1.3</version>
        </dependency>
        <dependency>
            <groupId>org.sikuli</groupId>
            <artifactId>sikuli-api</artifactId>
            <version>1.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.sikuli</groupId>
            <artifactId>sikuli-webdriver</artifactId>
            <version>1.0.1</version>
        </dependency>
        <dependency>
      <groupId>org.sikuli</groupId>
      <artifactId>sikuli-script</artifactId>
      <version>1.1.0</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)
 

 
Picture
 

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 http://i.stack.imgur.com/LSiQV.png)
  4. Add sikuli-script.jar to the Referenced Libraries (Project > Properties > Java Build Path > Libraries, check image http://i.stack.imgur.com/N2SJ8.png)
  5. Set PATH and SIKULI_HOME environment vars (Run > Run Configurations > Environment, check image http://i.stack.imgur.com/HboXk.png)
  6. You're ready to go ;)

 

 

這個方法是可以解決問題,但如果你想搞自動化不可能每個程序都重設一下enviroment吧?那就這樣吧,檢查一下你的環境變量,

這個是你安裝sikuli時就有的,既然已經配置了為什么還不行?

1)重啟一下你的電腦說不定再試的時候就好了,我的就是這種情況。

2)但並不是每個重啟后都是這樣,那么這個時候就要注意了,重啟電腦---》右鍵以管理員身份運行eclipse,再運行下程序就行了。

3)再不行你就就注意把sikuli_home,path里的內容移動到系統變量里,這樣每個用戶都可以使用了,成功解決權限問題。

sikuli運行確實會有權限方面的問題。

如果還遇到問題,歡迎留言,我會及時回答。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM