前面我已经搭建好了appium所需要的环境,本文我以系统自带的计算器app为测试对象,进行学习。
一、将测试机与PC连接
(本人使用的是真机)通过Usb接口将真机与PC端连接起来,在安装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的名字,我现在手机已经打开了计算器应用)如图:
三、打开uiautomatorviewer获取元素
接下来需要用uiautomatorviewer
对测试app的元素(button、text Field)进行抓取,比如通过id、class和text等来确定具体的元素。 uiautomatorviewer是在android-sdk的一个工具,具体目录\android-sdk-windows\tools\uiautomatorviewer.bat
。
操作:
1、双击uiautomatorviewer.bat,打开UI Automator viewer 窗口,如图所示:
2、在手机与PC端连接的情况下,点击 “Device screenshot”, 连接手机应用的窗口将显示出来,如图:
3、测试“1+2=3”的用例,在uiautomatorviewer界面,点击“1”,选中该按钮,查看右边的panel来找到“text”或“resource-id” 或“class”的值,如图:
保存其:resource-id
保存其:resource-id
保存其:resource-id
保存其:resource-id
四、创建java项目
我们已经获取到想要的元素,下一步就是用代码编写测试用例了,打开eclipse软件,创建一个java project ,导入依赖,如图:
五、测试源代码
代码实现1+2= 3的自动化测试
package com.occall.ui;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeClass;
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 loginOccall2 {
private AppiumDriver driver;
@BeforeClass
public void setup() throws Exception {
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(CapabilityType.BROWSER_NAME, "");
cap.setCapability("platformName", "Android"); //指定测试平台
cap.setCapability("deviceName", "71MBBLG26R76"); //指定测试机的ID,通过adb命令`adb devices`获取
cap.setCapability("platformVersion", "5.1");
//将上面获取到的包名和Activity名设置为值
cap.setCapability("appPackage", "com.meizu.flyme.calculator");
cap.setCapability("appActivity", "com.meizu.flyme.calculator.Calculator");
//A new session could not be created的解决方法
cap.setCapability("appWaitActivity","com.meizu.flyme.calculator.Calculator");
//每次启动时覆盖session,否则第二次后运行会报错不能新建session
cap.setCapability("sessionOverride", true);
driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap);
}
@Test
public void plus(){
//获取1
driver.findElementById("com.meizu.flyme.calculator:id/digit1").click();
//获取+
driver.findElementById("com.meizu.flyme.calculator:id/plus").click();
//获取2
driver.findElementById("com.meizu.flyme.calculator:id/digit2").click();
//获取=
driver.findElementById("com.meizu.flyme.calculator:id/eq").click();
}
@AfterClass
public void tearDown() throws Exception {
driver.quit();
}
}
六、启动Appium
手机设备连接到PC端,手机屏幕打开着。接着启动Appium,启动成功如下图:
七、运行测试类
八、大功告成,注意查看运行日志和appium控制台日志
可以看到,手机端的计算器app,也会自动出现1+2 = 3的自动化输入测试
http://www.cnblogs.com/stonewang313/p/3986465.html
相关推荐
其次,`selenium-java-3.10.0.jar`是Selenium WebDriver的Java实现,它是一个用于浏览器自动化测试的工具。Appium在底层使用了Selenium WebDriver协议,因此Selenium的Java客户端库对于Appium测试至关重要。Selenium...
在Python脚本中,我们可以使用元素定位来实现自动化测试。常见的元素定位方式包括xpath定位、classname定位和id定位。 xpath定位是一种路径定位方式,主要是依赖于元素绝对路径或者相关属性来定位。但是,xpath执行...
在进行移动应用自动化测试时,Appium是一个广泛使用的开源工具,它允许开发者使用多种编程语言(如Java)来控制iOS和Android设备。本知识点将详细解释如何使用Appium与Java结合,以及在Eclipse集成开发环境中配置所...
Appium是一个开源的自动化测试框架,它允许开发者使用多种编程语言(如Java、Python、Ruby等)对原生、混合和移动Web应用进行自动化测试。Appium基于WebDriver协议,这意味着它支持WebDriver的API,可以跨平台工作,...
Appium 是一个开源自动化测试框架,它允许开发者对iOS和Android移动应用进行自动化测试。Java作为Appium的主要支持语言之一,提供了丰富的API来控制设备和应用的行为。在“Appium Java使用po实例和封装打包”这个...
本文将深入探讨手机自动化测试中的Appium框架,特别是在Android平台上的应用。Appium是一个开源的自动化测试工具,它允许开发者对原生、混合以及移动Web应用程序进行自动化测试。本资源包包含了Appium在Android环境...
标题:“基于Appium的手机软件自动化测试应用实例.pdf” 描述:“基于Appium的手机软件自动化测试应用实例.pdf” 标签:“自动化 智能系统 系统开发 参考文献 专业指导” Appium是当前流行的开源自动化测试工具,...
Appium 是一个开源自动化测试框架,它允许开发者...总之,使用Appium+Eclipse进行Java自动化测试,需要正确地集成和配置相关JAR包。通过理解这些库的功能和用途,可以有效地搭建测试环境,编写出高效、可靠的测试脚本。
通过本文的详细介绍,我们了解到 **Selenium 2** 与 **Appium** 如何共同构成了一个强大而全面的自动化测试解决方案。无论是 Web 应用还是移动应用,这套工具都能够提供高效稳定的测试支持。对于那些希望提升自动化...
Appium自动化测试PO框架实例(Eclipse版)是针对移动应用自动化测试的一种高效解决方案,尤其适用于Android和iOS平台。在本文中,我们将深入探讨Appium、PO(Page Object)框架以及如何在Eclipse环境中实现这一框架...
本项目是关于如何使用Java编程语言和Appium框架来实现Android应用的自动化测试,包括UI测试和性能测试,并自动生成测试报告和性能指标图表。 首先,Java作为广泛使用的后端和移动端开发语言,拥有丰富的库支持和...
在移动端自动化测试中,Appium 提供了一种统一的 API 接口,使得开发者可以使用多种编程语言(如 Java、Python、Ruby 等)进行测试脚本编写。 这个压缩包包含的是 Appium 测试环境所需的几个关键组件: 1. **...
在Java环境下,我们可以利用Appium提供的jar包来编写测试脚本,实现对移动应用的自动化测试。 在“Appium java 测试框架 jar包”中,核心的jar文件是`appium-lib`,它是Appium Java客户端的核心库,包含了所有与...
在Java+Appium的自动化测试环境中,我们需要依赖一些特定的jar包来建立测试环境并执行测试脚本。这里提到的几个jar包是关键组件,它们在测试过程中扮演着重要角色: 1. `selenium-server-standalone-2.45.0.jar`:...
Appium自动化jar包是用于移动应用自动化测试的重要工具,它基于WebDriver协议,允许开发者使用多种编程语言(如Java、Python、Ruby等)进行自动化测试。在这个压缩包中,包含两个核心的Java库文件:`java-client-...
8. **持续集成/持续部署(CI/CD)**:可能涉及到Jenkins等工具,了解如何配置自动化测试在CI/CD流水线中的执行,实现测试的自动化和持续性。 9. **日志和报告**:学习如何记录测试日志,生成测试报告,以便于分析测试...
《Appium Java-client-5.0.4.jar在Android Studio中的自动化测试应用》 Appium Java-client-5.0.4.jar是针对Appium自动化测试框架的一个重要组件,主要用于Java编程环境下的移动应用自动化测试。Appium本身是一个...
本资源“基于Appium的App自动化测试框架完美版”很可能是Appium的一个完整项目实例或者详细教程,包含了从设置环境到编写测试脚本的所有必要元素。 首先,我们要理解Appium的核心原理。Appium基于WebDriver协议,它...