• java APP自动化测试AppIum


    一、前言
    二、Appium环境搭建
    2.1 JDK安装
    2.2 Android SDK安装配置
    2.3 模拟器安装及配置
    2.4 Appium Desktop安装及使用
    2.5 Appium配置连接模拟器
    三、实战基本脚本编写
    3.1 创建Maven项目并配置
    3.2 简单Demo
    四、写在最后
     

    一、前言
    随着移动互联网的发展,APP上面的测试逐渐的流行起来。而作为APP自动化测试中最常用的框架就是Appium。Appium是一个开源、跨平台的测试框架。可以用来测试原生及混合的移动端应用。
    下面就从Appium环境搭建和基础脚本编写来展开。其中Appium环境搭建中,需要安装JDK、Android SDK、模拟器(或者用真机),从而后续就是使用代码连接Appium来操作模拟器。

    二、Appium环境搭建
    2.1 JDK安装
    关于JDK的安装及环境变量配置就不在这里多做解释了。

    2.2 Android SDK安装配置
    下载压缩包文件

    链接:这是一个链接
    提取码:99a6

    解压后点击打开SDK Manager.exe文件


    勾选Tools下的前三个选项,并安装,安装完成后目录下回多出几个文件夹。


    环境变量配置
    ANDROID_HOME:SDK安装目录
    Path:%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools\29.0.3;%ANDROID_HOME%\platform-tools;


    验证配置:输入adb和aapt有使用帮助信息说明配置成功了

    2.3 模拟器安装及配置
    安装模拟器,这里选择的是夜神模拟器,安装的话,直接网上下载后安装即可,记住安装目录即可

    打开模拟器并安装APK文件

    查看服务是否启动

    1. adb devices
    2. nox_adb.exe connect 127.0.0.1:62001

    踩坑问题——adb.exe与nox_adb.exe版本问题
    使用adb version、nox_adb version命令查看bin目录下adb.exe、
    nox_adb.exe的版本,然后切换到其他目录下,使用adb version查看版本。
    如果不一致,就要将Android SDK目录下的adb.exe复制替换到模拟器bin目录下,
    并且复制修改名称为nox_adb.exe替换模拟器bin目录下的nox_adb.exe
     

    2.4 Appium Desktop安装及使用
    • 下载安装包文件

      链接:这是一个链接
      提取码:99a6

    • 点击安装appium-desktop-Setup-1.3.1.exe文件,直接点击安装即可。

    2.5 Appium配置连接模拟器
    • 使用命令查看Android版本
      adb shell getprop ro.build.version.release
      

    使用命令APK文件信息

    aapt dump badging D:\BaiduMap.apk

    Appium 创建连接

    1. {
    2. "platformName": "Android",
    3. "platformVersion": "5.1.1",
    4. "deviceName": "127.0.0.1:62001",
    5. "appPackage": "com.baidu.BaiduMap",
    6. "appActivity": "com.baidu.baidumaps.WelcomeScreen"
    7. }

    开启链接后的效果

    在模拟器中操作app

    三、实战基本脚本编写

    3.1 创建Maven项目并配置
    1. <dependency>
    2. <groupId>io.appium</groupId>
    3. <artifactId>java-client</artifactId>
    4. <version>7.5.0</version>
    5. </dependency>
    6. <dependency>
    7. <groupId>org.seleniumhq.selenium</groupId>
    8. <artifactId>selenium-remote-driver</artifactId>
    9. <version>3.141.59</version>
    10. </dependency>
    11. <dependency>
    12. <groupId>org.seleniumhq.selenium</groupId>
    13. <artifactId>selenium-api</artifactId>
    14. <version>3.141.59</version>
    15. </dependency>
    1. /**
    2. * @author YFF
    3. * @version 1.0.0
    4. * @date 2020/06/06
    5. **/
    6. public class AppTest {
    7. public static void main(String[] args) throws Exception{
    8. AppiumDriver driver=null;
    9. DesiredCapabilities cap=new DesiredCapabilities();
    10. cap.setCapability("platformName","Android");
    11. cap.setCapability("platformVersion","5.1.1");
    12. cap.setCapability("deviceName","127.0.0.1:62001");
    13. cap.setCapability("appPackage","com.baidu.BaiduMap");
    14. cap.setCapability("appActivity","com.baidu.baidumaps.WelcomeScreen");
    15. cap.setCapability("unicodeKeyboard","true");
    16. cap.setCapability("resetKeyboard","true");
    17. cap.setCapability("noSign","true");
    18. driver=new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"),cap);
    19. Thread.sleep(5000);
    20. /*点击同意按钮*/
    21. driver.findElement(By.id("com.baidu.BaiduMap:id/ok_btn")).click();
    22. Thread.sleep(5000);
    23. /*点击进入地图*/
    24. driver.findElement(By.id("com.baidu.BaiduMap:id/btn_enter_map")).click();
    25. Thread.sleep(5000);
    26. driver.quit();
    27. }
    28. }

    四、写在最后

    (1)将这个过程中常用的命令写在后面,方面后面查阅。

    1. ##模拟器连接
    2. nox_adb.exe connect 127.0.0.1:62001
    3. ##查看设备信息
    4. adb devices
    5. ##查看Android版本
    6. adb shell getprop ro.build.version.release
    7. ##查看APK信息
    8. aapt dump badging D:\BaiduMap.apk
    9. ##查看adb.exe和nox_adb.exe版本
    10. adb version
    11. nox_adb version

  • 相关阅读:
    【C语言】模拟实现字符串函数(下)
    Java基础——反射
    Unreal ListView使用篇
    数据机构----线性表之单向链表
    基础复习——数据库SQLite——SQL的基本语法——数据库管理器SQLiteDatabase——数据库帮助器SQLiteOpenHelper...
    打开 druid 监控报错Sorry, you are not permitted to view this page.
    【优化器】BGD、SGD、MSGD、Momentum、Adagrad、RMSPprop、Adam
    通过docker进行部署 Zookeeper、Kafka集群
    极智AI | 有趣的羊驼系列大模型
    水库大坝安全白蚁监测系统解决方案
  • 原文地址:https://blog.csdn.net/lxw1005192401/article/details/134196884