使用Appium和Gradle进行Android测试

chu*_*ll0 11 java android gradle appium android-gradle-plugin

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

有没有人试图这样做,如果有的话,你可以给我一些关于设置的信息,比如使用什么gradle任务等.

我在构建文件中包含了必要的依赖项:

androidTestCompile( 'io.appium:Java的客户机:2.0.0')

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

package com.appium.trial;

import junit.framework.Assert;

import io.appium.java_client.AppiumDriver;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;

public class TrialTest {
private static WebDriver wd;

@Before
public void setUp() {
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability("appium-version", "1.0");
    capabilities.setCapability("platformName", "Android");
    capabilities.setCapability("platformVersion", "4.4");
    capabilities.setCapability("deviceName", "Samsung Galaxy S4 - 4.2.2 - API 17 - 1080x1920");
    capabilities.setCapability("app", "/Users/chuckster/Documents/Dev/AppiumTrial/appium-trial.apk");
    capabilities.setCapability("appPackage", "com.appium.trial");
    capabilities.setCapability("appActivity", "com.appium.trial.TrialTest");

    try {
        wd = new AppiumDriver(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }

    wd.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
}

@Test
public static void testThatClickingTheMotorSectionLeadsToSubSection(){

    wd.findElement(By.xpath("//android.widget.LinearLayout[1]/android.widget.FrameLayout[2]/android.widget.RelativeLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.ScrollView[1]/android.widget.RelativeLayout[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[5]/android.widget.TextView[1]")).click();
    wd.close();
}

@After
public void tearDown() {
    if (wd != null) {
        wd.quit();
    }
    }
}
Run Code Online (Sandbox Code Playgroud)

Gau*_*rav 0

我已经通过 gradle 使用 Eclipse 完成了此操作。以下是分步说明:

  1. 创建 build.gradle 文件
  2. 提及存储库(mavencentral())
  3. 在“依赖项”下提及您的所有项目依赖项
  4. 如果您想创建一个包含所有 jar 的清单文件,而不是在类路径中一一提及,您可以使用以下方法在一个地方提及所有内容:

    jar { manifest.attributes( 'Class-Path':configurations.runtime.files.collect { it.name }.join(' ') ) }

就是这样。你可以走了。