java+APPium自动化测试
2020-07-02 本文已影响0人
开心的小哈
配置eclipse中创建maven项目
2020-06-29.png项目创建完成后进入pom.xml进行设置增加dependencies选项
1.配置appium
2.配置testng
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.test</groupId>
<artifactId>Apptest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<!-- https://mvnrepository.com/artifact/io.appium/java-client -->
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>6.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.1.0</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
配置完成后选择编写好的类:
右键:
2020-07-02 (3).png
将class文件编译成testNG测试文件
有很多人配置完成后右键不会出现此选项,那就需要安装下TestNG的插件
插件的安装方式请访问:https://www.jianshu.com/p/b91c1bca0d44
开始编写代码
package com.test.firsAppium;
import java.net.MalformedURLException;
import java.net.URL;
import org.aspectj.lang.annotation.Before;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.Assert;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import io.appium.java_client.android.AndroidDriver;
public class AppiumTest {
static AndroidDriver<WebElement> androidDriver;
public static void main(String[] args) throws Exception {
setUp();
login();
tearBown();
}
@BeforeTest
public static void setUp() throws MalformedURLException {
// 1.创建配置对象
DesiredCapabilities desird = new DesiredCapabilities();
// 2添加配置
desird.setCapability("deviceName", "21623928");
// 配置平台
desird.setCapability("platformName", "Android");
// 配置包名
desird.setCapability("appPackage", "com.rongda.investmentmanager");
// 配置页面
desird.setCapability("appActivity", "com.rongda.investmentmanager.view.activitys.home.SplashActivity");
//自动化引擎,uiautomator2支持输入框
desird.setCapability("automationName","uiautomator2");
//3创建驱动
//参数一:APPium通讯地址
//参数二:配置对象
androidDriver = new AndroidDriver<WebElement>(new URL("Http://127.0.0.1:4723/wd/hub"),desird);
}
@Test
public static void login() throws InterruptedException {
//等待元素加载完毕
Thread.sleep(2000);
//1.找到城市定位
androidDriver.findElementById("com.rongda.investmentmanager:id/et_name").sendKeys("yanchenglong");
androidDriver.findElementById("com.rongda.investmentmanager:id/et_password").sendKeys("a123456");
androidDriver.findElementById("com.rongda.investmentmanager:id/btn_login").click();
Thread.sleep(2000);
//com.rongda.investmentmanager,只会访问activitiy的位置currentActivity
//用Assert.assertEquals(dun1, dun2);方法进行断言,判断是否成功进入主页面
String dun1=".view.activitys.home.MainActivity";
String dun2=androidDriver.currentActivity();
System.out.println(dun1);
System.out.println(dun2);
Assert.assertEquals(dun1, dun2);
}
@AfterTest
public static void tearBown() {
//当测试用例运行完毕销毁驱动
androidDriver.quit();
}
}