`
m635674608
  • 浏览: 5031479 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Appium+java实现自动化测试实例

 
阅读更多

前面我已经搭建好了appium所需要的环境,本文我以系统自带的计算器app为测试对象,进行学习。

一、将测试机与PC连接

(本人使用的是真机)通过Usb接口将真机与PC端连接起来,在安装appium搭建环境中我们已经安装了SDK,所以打开CMD命令窗口,用adb devices命令来查看是否可以检测到手机设备,如果如下图显示出设备,则证明我们可以对手机进行测试操作。


查看设备.png

记下设备名,测试代码要使用。

二、打开指定测试App的指定Activity

通过上一步操作,我已经看到我的设备是可以操作的了,那究竟应该如何让appium去自动找到指定的APP和指定的Activity呢?想要打开指定的App,需要知道App的包名,同样想要打开指定Activity也需要知道其名,如何获取?
1、问公司的开发人员,一定可靠。
2、通过命令获取:adb shell dumpsys window w |findstr \/ |findstr name=(这条命令的作用是,获取当前app和当前Activity的名字,我现在手机已经打开了计算器应用)如图:


获取包名.png
三、打开uiautomatorviewer获取元素

接下来需要用uiautomatorviewer对测试app的元素(button、text Field)进行抓取,比如通过id、class和text等来确定具体的元素。 uiautomatorviewer是在android-sdk的一个工具,具体目录\android-sdk-windows\tools\uiautomatorviewer.bat

操作:

1、双击uiautomatorviewer.bat,打开UI Automator viewer 窗口,如图所示:


uiautomatorviewer.png

2、在手机与PC端连接的情况下,点击 “Device screenshot”, 连接手机应用的窗口将显示出来,如图:


Paste_Image.png

3、测试“1+2=3”的用例,在uiautomatorviewer界面,点击“1”,选中该按钮,查看右边的panel来找到“text”或“resource-id” 或“class”的值,如图:


1按钮.png


保存其:resource-id


+按钮.png


保存其:resource-id


2按钮.png


保存其:resource-id


=按钮.png


保存其:resource-id

四、创建java项目

我们已经获取到想要的元素,下一步就是用代码编写测试用例了,打开eclipse软件,创建一个java project ,导入依赖,如图:


Paste_Image.png
五、测试源代码

代码实现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,启动成功如下图:


Paste_Image.png
七、运行测试类

Paste_Image.png
八、大功告成,注意查看运行日志和appium控制台日志

Paste_Image.png

Paste_Image.png

可以看到,手机端的计算器app,也会自动出现1+2 = 3的自动化输入测试


http://www.cnblogs.com/stonewang313/p/3986465.html
http://www.jianshu.com/p/84aa9383f8fd
分享到:
评论

相关推荐

    appium+java使用3个jar包

    其次,`selenium-java-3.10.0.jar`是Selenium WebDriver的Java实现,它是一个用于浏览器自动化测试的工具。Appium在底层使用了Selenium WebDriver协议,因此Selenium的Java客户端库对于Appium测试至关重要。Selenium...

    详解基于Android的Appium+Python自动化脚本编写

    在Python脚本中,我们可以使用元素定位来实现自动化测试。常见的元素定位方式包括xpath定位、classname定位和id定位。 xpath定位是一种路径定位方式,主要是依赖于元素绝对路径或者相关属性来定位。但是,xpath执行...

    appium+Java+eclipse需要的jar包

    在进行移动应用自动化测试时,Appium是一个广泛使用的开源工具,它允许开发者使用多种编程语言(如Java)来控制iOS和Android设备。本知识点将详细解释如何使用Appium与Java结合,以及在Eclipse集成开发环境中配置所...

    Appium+TestNG自动化测试

    Appium是一个开源的自动化测试框架,它允许开发者使用多种编程语言(如Java、Python、Ruby等)对原生、混合和移动Web应用进行自动化测试。Appium基于WebDriver协议,这意味着它支持WebDriver的API,可以跨平台工作,...

    Appium Java使用po实例和封装打包

    Appium 是一个开源自动化测试框架,它允许开发者对iOS和Android移动应用进行自动化测试。Java作为Appium的主要支持语言之一,提供了丰富的API来控制设备和应用的行为。在“Appium Java使用po实例和封装打包”这个...

    手机自动化测试之Appium+源码

    本文将深入探讨手机自动化测试中的Appium框架,特别是在Android平台上的应用。Appium是一个开源的自动化测试工具,它允许开发者对原生、混合以及移动Web应用程序进行自动化测试。本资源包包含了Appium在Android环境...

    基于Appium的手机软件自动化测试应用实例.pdf

    标题:“基于Appium的手机软件自动化测试应用实例.pdf” 描述:“基于Appium的手机软件自动化测试应用实例.pdf” 标签:“自动化 智能系统 系统开发 参考文献 专业指导” Appium是当前流行的开源自动化测试工具,...

    appium+ecplise需要的JAR包(Java)

    Appium 是一个开源自动化测试框架,它允许开发者...总之,使用Appium+Eclipse进行Java自动化测试,需要正确地集成和配置相关JAR包。通过理解这些库的功能和用途,可以有效地搭建测试环境,编写出高效、可靠的测试脚本。

    Appium + Selenium 2 入门

    通过本文的详细介绍,我们了解到 **Selenium 2** 与 **Appium** 如何共同构成了一个强大而全面的自动化测试解决方案。无论是 Web 应用还是移动应用,这套工具都能够提供高效稳定的测试支持。对于那些希望提升自动化...

    Appium自动化测试PO框架实例(Eclipse版)

    Appium自动化测试PO框架实例(Eclipse版)是针对移动应用自动化测试的一种高效解决方案,尤其适用于Android和iOS平台。在本文中,我们将深入探讨Appium、PO(Page Object)框架以及如何在Eclipse环境中实现这一框架...

    基于Java和Appium的Android自动化测试,实现简单的UI测试和性能测试并自动输出测试报告和性能指标图表.zip

    本项目是关于如何使用Java编程语言和Appium框架来实现Android应用的自动化测试,包括UI测试和性能测试,并自动生成测试报告和性能指标图表。 首先,Java作为广泛使用的后端和移动端开发语言,拥有丰富的库支持和...

    appium 移动端自动化测试依赖jar包.

    在移动端自动化测试中,Appium 提供了一种统一的 API 接口,使得开发者可以使用多种编程语言(如 Java、Python、Ruby 等)进行测试脚本编写。 这个压缩包包含的是 Appium 测试环境所需的几个关键组件: 1. **...

    Appium java jar包

    在Java环境下,我们可以利用Appium提供的jar包来编写测试脚本,实现对移动应用的自动化测试。 在“Appium java 测试框架 jar包”中,核心的jar文件是`appium-lib`,它是Appium Java客户端的核心库,包含了所有与...

    Appium所需jar包

    在Java+Appium的自动化测试环境中,我们需要依赖一些特定的jar包来建立测试环境并执行测试脚本。这里提到的几个jar包是关键组件,它们在测试过程中扮演着重要角色: 1. `selenium-server-standalone-2.45.0.jar`:...

    Appium自动化jar包

    Appium自动化jar包是用于移动应用自动化测试的重要工具,它基于WebDriver协议,允许开发者使用多种编程语言(如Java、Python、Ruby等)进行自动化测试。在这个压缩包中,包含两个核心的Java库文件:`java-client-...

    app自动化-美团自动化测试项目

    8. **持续集成/持续部署(CI/CD)**:可能涉及到Jenkins等工具,了解如何配置自动化测试在CI/CD流水线中的执行,实现测试的自动化和持续性。 9. **日志和报告**:学习如何记录测试日志,生成测试报告,以便于分析测试...

    appium java-client-5.0.4.jar包

    《Appium Java-client-5.0.4.jar在Android Studio中的自动化测试应用》 Appium Java-client-5.0.4.jar是针对Appium自动化测试框架的一个重要组件,主要用于Java编程环境下的移动应用自动化测试。Appium本身是一个...

    基于Appium的App自动化测试框架完美版

    本资源“基于Appium的App自动化测试框架完美版”很可能是Appium的一个完整项目实例或者详细教程,包含了从设置环境到编写测试脚本的所有必要元素。 首先,我们要理解Appium的核心原理。Appium基于WebDriver协议,它...

Global site tag (gtag.js) - Google Analytics