Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Appium和Gradle进行Android测试_Java_Android_Gradle_Android Gradle Plugin_Appium - Fatal编程技术网

Java 使用Appium和Gradle进行Android测试

Java 使用Appium和Gradle进行Android测试,java,android,gradle,android-gradle-plugin,appium,Java,Android,Gradle,Android Gradle Plugin,Appium,我最近开始考虑用Appium做一些功能测试。我想通过gradle通过Android studio运行Appium测试 有人尝试过这样做吗?如果有,你能给我一些关于设置的信息吗,比如使用什么gradle任务等等 我已在生成文件中包含了必要的依赖项: androidTestCompile('io.appium:java客户端:2.0.0') 我下面有一个示例测试,我只需要一种通过gradle运行它的方法:) 我已经通过gradle使用Eclipse完成了这项工作。以下是逐步说明: 创建build.g

我最近开始考虑用Appium做一些功能测试。我想通过gradle通过Android studio运行Appium测试

有人尝试过这样做吗?如果有,你能给我一些关于设置的信息吗,比如使用什么gradle任务等等

我已在生成文件中包含了必要的依赖项:

androidTestCompile('io.appium:java客户端:2.0.0')

我下面有一个示例测试,我只需要一种通过gradle运行它的方法:)


我已经通过gradle使用Eclipse完成了这项工作。以下是逐步说明:

  • 创建build.gradle文件
  • 提及历史记录(maven central())
  • 在“依赖项”下提及所有项目依赖项
  • 如果要创建一个清单文件,其中包含所有jar,而不是在类路径中逐个提及,则可以使用以下命令在一个位置提及所有jar:

    罐子{ manifest.attributes( “类路径”:configurations.runtime.files.collect{it.name}.join(“”) ) }


  • 就这样。在命令行中运行该命令应该检查项目中的所有类,寻找一个名为TrialTest的类,并且只运行那些测试

    gradle -Dtest.single=TrialTest
    
    你必须有一个称为测试的渐变任务。确保在build.gradle文件中有此项

    test {
        testLogging{
            events 'started', 'passed'
        }
    }
    

    我知道这是一个很老的问题。但这是一个使用Appium的Android功能测试框架的示例工作模板,它是Java的,配置为使用Gradle运行测试。

    似乎仍然没有公认的答案。使用gradle运行测试与使用maven运行测试相似且干净。在
    build.gradle
    中,可以指定

    sourceSets {
      ...
      test {
        java {
            srcDirs = ["test/model"]  
            // this specifies directories irrespective of default test directory, could be com/appium/trial in your case
        }
      }
    }
    
    在执行cmd/shell时,会出现以下情况:

    ./gradlew test /* executes @Test as defined under the sourceSets*/
    
    PS:@BenJi在下面的答案中建议的方法也是一种很好的方法,可以定义定制任务来执行任何使用gradle的任务

    ./gradlew test /* executes @Test as defined under the sourceSets*/