java – 使用Appium和Gradle进行Android测试

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

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

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

androidTestCompile(‘io.appium:java-client: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();
    }
    }
}

解决方法

在命令行中运行它应该查看项目中所有类的一个名为TrialTest的类,并仅运行这些测试
gradle -Dtest.single=TrialTest

你必须有一个称为测试的毕业生.确保你的build.gradle文件中有这个

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

相关文章

ArrayList简介:ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增...
一、进程与线程 进程:是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 线程...
本文为博客园作者所写: 一寸HUI,个人博客地址:https://www.cnblogs.com/zsql/ 简单的一个类...
#############java面向对象详解#############1、面向对象基本概念2、类与对象3、类和对象的定义格式4、...
一、什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错。在java中,阻止当前方法或作用域...
Collection接口 Collection接口 Collection接口 Collection是最基本的集合接口,一个Collection代表一组...