如何将Sikuli集成到项目中运行build.gradle?

时间:2013-08-20 07:37:41

标签: selenium webdriver cucumber gradle sikuli

我在我的项目中使用Sikuli来处理一些flash按钮。它在本地运行脚本时工作正常。问题是,当我需要运行build.gradle时,我需要在build.gradle中拥有Sikuli依赖项。这就是我编写build.gradle的方法。当我运行构建时,我收到此错误:

  
      
  • 出了什么问题:无法解析配置':compile'的所有依赖项。

         
        

    找不到com.googlecode.javacpp:javacpp:0.1。要求:       :new_qa_automation:1.0> org.sikuli:sikuli-api:1.0.2> org.sikuli:sikuli-c ore:1.0.1     找不到com.googlecode.javacv:javacv:0.1。要求:       :new_qa_automation:1.0> org.sikuli:sikuli-api:1.0.2> org.sikuli:sikuli-c ore:1.0.1

      
  •   
  • 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。

  •   
     

建立失败。

这是我的build.gradle文件

  

apply plugin:'java'version ='1.0'apply plugin:'project-report'

     

存储库{mavenCentral()maven {url   “http://repo.springsource.org/release”网址   “http://oss.sonatype.org/content/groups/public/”}}

     

sourceCompatibility = 1.6 targetCompatibility = 1.6

     

配置{cucumberRuntime {extendsFrom testRuntime}}

     

任务测试(覆盖:true){       dependsOn汇编,processTestResources,compileTestJava       doLast {           javaexec {                         main =“cucumber.api.cli.Main”               classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
              //一些args

        systemProperties System.properties
    }
} }   
     

dependencies {compile'org.seleniumhq.selenium:selenium-java:2.32。+'     编译'org.apache.commons:commons-lang3:3.1'编译   'org.springframework:弹簧上下文:3.2.3.RELEASE'       编译组:'org.sikuli',名称:'sikuli-api',版本:'1.0。+'编译组:'commons-collections',名称:'commons-collections',   版本:'3。+'       testCompile'info.cukes:cucumber-java:1.1.2'       testCompile'info.cukes:cucumber-spring:1.1.2'
      testCompile'info.cukes:cucumber-junit:1.1.2'
      testCompile'junit:junit:4.11'testCompile'org.easytesting:fest-assert-core:2.0+'       }

编辑:

我添加了Maven存储库的URL。现在错误已更改为

  

ePage.java:9:错误:包org.sikuli.script不存在   import org.sikuli.script.FindFailed;

3 个答案:

答案 0 :(得分:0)

Sikuli代码库似乎是碎片化的。这很令人困惑;我知道3种不同的Java绑定。 (onetwothree

我认为您使用Maven的那个是:http://code.google.com/p/sikuli-api/

如果是,org.sikuli.script不是正确的导入。你没有包含你的代码来向我展示你正在尝试用Sikuli 做什么,但你要导入的大部分内容都在org.sikuli.api下。

答案 1 :(得分:0)

Sikuli IDE项目中的sikuli-script.jar没有在任何存储库中提供,因此您必须像第三方jar一样使用它

请参阅: “Mavan的中央存储库不会回答任何Sikuli的东西”https://answers.launchpad.net/sikuli/+question/185713

“Gradle:让第三方jar可用于本地gradle存储库”Gradle: Make a 3rd party jar available to local gradle repository

答案 2 :(得分:0)

只需下载sikulix jar并在build.gradle中提及

例如:编译文件(' C:\ Users \ vedavyasa \ Documents \ jar \ sikulixapi.jar')