如何用android studio测试用例,Android Studio上使用Appium创建测试用例基本步骤

用AS创建一个空activity的工程(比如project名叫MyBaiduTest)

在工程中new module一个java Library模块(比如新建的module名叫SearchAndClick)

在新建模块的libs目录下拷入 commons-lang3-3.1.jar 、java-client-7.3.0.jar、selenium-server-standalone-3.141.59.jar这三个jar库

模块的build.gradle中加入junit依赖,如下:

dependencies {

implementation fileTree(dir: 'libs', include: ['*.jar'])

implementation 'junit:junit:4.12'

}

然后执行同步,如下

0647364b8476

image.png

在模块目录下创建一个文件夹用于存放待测试应用,如下:

0647364b8476

image.png

完善用例代码,import 必要的类并声明一个AndroidDriver变量,例如:

import java.io.File;

import java.net.MalformedURLException;

import java.net.URL;

import java.util.List;

import org.junit.After;

import org.junit.Before;

import org.junit.Test;

import org.openqa.selenium.By;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.remote.DesiredCapabilities;

import io.appium.java_client.android.AndroidDriver;

import io.appium.java_client.android.AndroidElement;

public class SearchAndClick {

private AndroidDriver driver;

...

完善用例代码,在@Before 函数中做初始化,例如:

@Before

public void init() {

File classpathRoot = new File(System.getProperty("user.dir"));

// 获取apps文件,前面测试应用所存放的目录

File appDir = new File(classpathRoot, "/apps/");

// 获取apk文件

File app = new File(appDir, "baidu.apk");

DesiredCapabilities capabilities = new DesiredCapabilities();

// 设备名,这里是模拟器的设备名

capabilities.setCapability("deviceName", "127.0.0.1:12");

// 系统平台版本

capabilities.setCapability("platformVersion", "7.1.2");

capabilities.setCapability("app", app.getAbsolutePath());

// 设置被测应用包名

capabilities.setCapability("appPackage", "com.baidu.searchbox");

// app的入口启动activity

capabilities.setCapability("appActivity", ".SplashActivity");

// 连接appium启动相应app

try {

driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

} catch (MalformedURLException e) {

e.printStackTrace();

}

System.out.println("App is launched!");

}

完善用例代码,在@After函数中善后

@After

public void end() throws InterruptedException{

driver.quit();

}

完善用例代码,在@Test函数中实现具体用例

@Test

public void start() throws InterruptedException {

Thread.sleep(2000);

// 点击"同意并继续"

WebElement el = driver.findElement(By.xpath(".//*[@text='\u540c\u610f\u5e76\u7ee7\u7eed']"));

el.click();

// 一直点击权限框"允许" 直到没有弹框

boolean finished = false;

do {

try {

el = driver.findElement(By.xpath(".//*[@text='\u5141\u8bb8']"));

el.click();

} catch (NoSuchElementException e) {

finished = true;

}

}while(!finished);

System.out.println("App is done!");

}

用例代码完成后,选中这个模块并通过Make Module来编译这个模块,如下:

0647364b8476

image.png

然后对选中的模块或测试类文件就可以执行run测试了,如下:

0647364b8476

image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值