appuim环境搭建
1下载安装并配置jdk
```
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_271
path=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
```
2下载安装idea
3下载并配置sdk环境变量
![](https://img.kancloud.cn/6e/b6/6eb6f5d2fd7e3ecbafd0c55f6878ebd2_1145x3000.png)
```
ANDROID_HOME=F:\softTest\tools\appuim\android-sdk_r24
PATH=;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;
```
4 下载安装夜神模拟器
5 把sdk中的adb命令替换到夜神模拟器中
6 在idea中创建项目,完善项目资源及代码
```
~~~
package com;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
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 AppuimTest {
private static AndroidDriver<AndroidElement> driver;
public static void init() {
// 获取当前程序的路径
File classpathRoot = new File(System.getProperty("user.dir"));
// 获取apps文件
File appDir = new File(classpathRoot, "apps");
// 获取apk文件
File app = new File(appDir, "ContactManager.apk");
// 包装数据发送给appium-servier
DesiredCapabilities capabilities = new DesiredCapabilities();
// 启动的设备名称
capabilities.setCapability("device", "127.0.0.1:62001");// 夜神模拟器名称
// 系统平台名称
capabilities.setCapability("PLATFORM", "Android");
// 系统平台版本
capabilities.setCapability("platformVersion", "7.1.2");
// app的绝对路径
capabilities.setCapability("app", app.getAbsolutePath());
// app的包名
// capabilities.setCapability("appPackage", "com.example.android.contactmanager");
// app的入口启动activity
capabilities.setCapability("appActivity", ".ContactManager");
// 连接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!");//
}
public static void start() throws InterruptedException {
Thread.sleep(100);
// 找到相应元素
WebElement el = driver.findElement(By.name("Add Contact"));
el.click();// 模拟点击
// 找到eidit控件
List<AndroidElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText");
// 为第一个edit控件设置值
textFieldsList.get(0).sendKeys("Some Name");
Thread.sleep(100);
WebElement spin = driver.findElement(By.id("com.example.android.contactmanager:id/contactPhoneTypeSpinner"));
spin.click();
Thread.sleep(100);
WebElement t = driver.findElement(By.name("手机"));
t.click();
Thread.sleep(100);
// 为第三个edit控件设置值
textFieldsList.get(2).sendKeys("Some@example.com");
Thread.sleep(500);
WebElement spin2 = driver.findElement(By.id("com.example.android.contactmanager:id/contactEmailTypeSpinner"));
spin2.click();
Thread.sleep(500);
WebElement tt = driver.findElement(By.name("其他"));
System.out.println();
tt.click();
Thread.sleep(100);
System.out.println("App is done!");
}
public static void end() {
// 关闭子窗口
driver.quit();
}
public static void main(String[] args) throws InterruptedException{
System.out.println("-----");
init();
Thread.sleep(3000);
end();
}
}
~~~
```
7 测试运行脚本
- 第一章-测试理论
- 1.1软件测试的概念
- 1.2测试的分类
- 1.3软件测试的流程
- 1.4黑盒测试的方法
- 1.5AxureRP的使用
- 1.6xmind,截图工具的使用
- 1.7测试计划
- 1.8测试用例
- 1.9测试报告
- 2.0 正交表附录
- 第二章-缺陷管理工具
- 2.1缺陷的内容
- 2.2书写规范
- 2.3缺陷的优先级
- 2.4缺陷的生命周期
- 2.5缺陷管理工具简介
- 2.6缺陷管理工具部署及使用
- 2.7软件测试基础面试
- 第三章-数据库
- 3.1 SQL Server简介及安装
- 3.2 SQL Server示例数据库
- 3.3 SQL Server 加载示例
- 3.3 SQL Server 中的数据类型
- 3.4 SQL Server 数据定义语言DDL
- 3.5 SQL Server 修改数据
- 3.6 SQL Server 查询数据
- 3.7 SQL Server 连表
- 3.8 SQL Server 数据分组
- 3.9 SQL Server 子查询
- 3.10.1 SQL Server 集合操作符
- 3.10.2 SQL Server聚合函数
- 3.10.3 SQL Server 日期函数
- 3.10.4 SQL Server 字符串函数
- 第四章-linux
- 第五章-接口测试
- 5.1 postman 接口测试简介
- 5.2 postman 安装
- 5.3 postman 创建请求及发送请求
- 5.4 postman 菜单及设置
- 5.5 postman New菜单功能介绍
- 5.6 postman 常用的断言
- 5.7 请求前脚本
- 5.8 fiddler网络基础及fiddler简介
- 5.9 fiddler原理及使用
- 5.10 fiddler 实例
- 5.11 Ant 介绍
- 5.12 Ant 环境搭建
- 5.13 Jmeter 简介
- 5.14 Jmeter 环境搭建
- 5.15 jmeter 初识
- 5.16 jmeter SOAP/XML-RPC Request
- 5.17 jmeter HTTP请求
- 5.18 jmeter JDBC Request
- 5.19 jmeter元件的作用域与执行顺序
- 5.20 jmeter 定时器
- 5.21 jmeter 断言
- 5.22 jmeter 逻辑控制器
- 5.23 jmeter 常用函数
- 5.24 soapUI概述
- 5.25 SoapUI 断言
- 5.26 soapUI数据源及参数化
- 5.27 SoapUI模拟REST MockService
- 5.28 Jenkins的部署与配置
- 5.29 Jmeter+Ant+Jenkins 搭建
- 5.30 jmeter脚本录制
- 5.31 badboy常见的问题
- 第六章-性能测试
- 6.1 性能测试理论
- 6.2 性能测试及LoadRunner简介
- 第七章-UI自动化
- 第八章-Maven
- 第九章-测试框架
- 第十章-移动测试
- 10.1 移动测试点及测试流程
- 10.2 移动测试分类及特点
- 10.3 ADB命令及Monkey使用
- 10.4 MonkeyRunner使用
- 10.5 appium工作原理及使用
- 10.6 Appium环境搭建(Java版)
- 10.7 Appium常用函数(Java版)
- 10.8 Appium常用函数(Python版)
- 10.9 兼容性测试