Appium+java实现自动化测试第一个demo
来源:互联网 发布:mac版tomcat下载 编辑:程序博客网 时间:2024/05/16 09:31
一.前面我已经搭建好了appium所需要的环境,本文我以系统自带的计算器app为测试对象,进行学习。
二.创建模拟器
创建成功
三.在安装appium搭建环境中我们已经安装了SDK,所以打开CMD命令窗口,用 adb devices 命令来查看是否可以检测到手机设备,如果如下图显示出设备,则证明我们可以对手机进行测试操作。
记下设备名,测试代码要使用。
四.打开指定测试App的指定Activity
通过上一步操作,我已经看到我的设备是可以操作的了,那究竟应该如何让appium去自动找到指定的APP和指定的Activity呢?想要打开指定的App,需要知道App的包名,同样想要打开指定Activity也需要知道其名,如何获取?
1、问公司的开发人员,一定可靠。
2、通过命令获取: adb shell dumpsys window w |findstr \/ |findstr name= (这条命令的作用是,获取当前app和当前Activity的名字,我现在手机已经打开了计算器应用)如图:
包名和Activity的名获取啦!!!
五.打开uiautomatorviewer获取元素
接下来需要用 uiautomatorviewer 对测试app的元素(button、text Field)进行抓取,比如通过id、class和text等来确定具体的元素。 uiautomatorviewer是在android-sdk的一个工具,具体目录 \android-sdk-windows\tools\uiautomatorviewer.bat 。
找到1 + 2 = 这四个元素的resource-id
六.创建java项目
我们已经获取到想要的元素,下一步就是用代码编写测试用例了,打开eclipse软件,创建一个java project ,导入依赖包,如图:
添加junit test case类
实现代码:
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import org.testng.annotations.AfterClass;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import java.net.URL;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
public class qxqlo {
private AppiumDriver driver;
@Before
public void setUp() throws Exception {
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(CapabilityType.BROWSER_NAME, “”);
cap.setCapability(“platformName”, “Android”); //指定测试平台
cap.setCapability(“deviceName”, “emulator-5554”); //指定测试机的ID,通过adb命令adb devices
获取
cap.setCapability(“platformVersion”, “5.1”);
//将上面获取到的包名和Activity名设置为值
cap.setCapability(“appPackage”, “com.android.calculator2”);
cap.setCapability(“appActivity”, “com.android.calculator2.Calculator”);
//A new session could not be created的解决方法
cap.setCapability(“appWaitActivity”,”com.android.calculator2.Calculator”);
//每次启动时覆盖session,否则第二次后运行会报错不能新建session
cap.setCapability(“sessionOverride”, true);
driver = new AndroidDriver(new URL(“http://127.0.0.1:4723/wd/hub“), cap);
}
@Testpublic void testplus() { //获取1 driver.findElementById("com.android.calculator2:id/digit_1").click(); driver.findElementById("com.android.calculator2:id/op_add").click(); //获取2 driver.findElementById("com.android.calculator2:id/digit_2").click(); //获取= driver.findElementById("com.android.calculator2:id/eq").click(); //fail("Not yet implemented");}@AfterClasspublic void tearDown() throws Exception { driver.quit();}
}
七.启动appium,模拟器开着计算器,运行测试类
run as->Junit test
八.大功告成
可以查看appium控制台日志,也可以看到,手机端的计算器app,也会自动出现1+2 = 3的自动化输入测试
成功!!!!!!!!!!
- Appium+java实现自动化测试第一个demo
- APPIUM+JAVA自动化测试
- appium python 第一个demo
- 【Appium测试】Appium+AndroidStudio+Genymotion 安卓自动化测试Demo
- appium实现功能自动化测试
- Appium之IOS第一个demo
- python-appium自动化测试如何实现滑动
- 利用Appium实现App自动化测试
- Appium学习第一个测试脚本
- Appium学习第一个测试脚本
- Appium移动自动化测试(四)--先跑起来再说(第一个测试用例-手机YY)
- Appium移动自动化测试(三)——python demo
- Appium移动自动化测试(四)--one demo
- Appium移动自动化测试(四)--one demo
- 第一个自动化测试脚本
- 使用Python+selenium实现第一个自动化测试脚本
- Java+Selenium3基础篇5-第一个自动化测试脚本
- 2、Selenium + Python 实现 UI 自动化测试-第一个自动化测试脚本
- 从重采样到数据合成:如何处理机器学习中的不平衡分类问题?
- SpringMVC里<form>标签报错Neither BindingResult nor plain target object for bean name '***' available as
- 欢迎使用CSDN-markdown编辑器
- java基础之二维数组-杨辉三角
- anaconda
- Appium+java实现自动化测试第一个demo
- UIAlertView与UIAlertController
- HDU 6063 RXD and math(数学 )
- 项目管理工具--Maven 学习笔记
- es6箭头函数
- dubbo注册服务IP解析异常及IP解析源码分析
- ubuntu配置163源和阿里源
- iOS开发中如何在View视图中获取到该视图的控制器
- 基础题目选解_高精度运算(小学生算数,阶乘的精确值,高精度运算类bign)