51Testing软件测试论坛

标题: 手把手教你做App自动化测试 [打印本页]

作者: lsekfe    时间: 2021-1-22 11:03
标题: 手把手教你做App自动化测试
什么是App自动化?为什么要做App自动化?
  App自动化是指给 Android或iOS上的软件应用程序做的自动化测试。
  手工测试和自动化测试的对比如下:
  手工测试优势:不可替代、发现更多bug、包含了人的想象力与理解力。
  注意,不是所有功能都需要自动化。
  自动化测试优势:可重复、效率高,增加软件信任度。
  执行自动化测试可以让测试同事有更多的精力来关注复杂场景,做更多更深层次的测试。
  风险分析
  自动化测试的主要风险分析如下:
  (1)测试用例覆盖率(覆盖率决定测试效率,选择合适用例,应约占功能用例集的20%~50%)
  (2)测试结果准确度(准确度决定了测试有效性,应尽可能减少误报)。
  (3)自动化代码维护(维护决定了成本,数据关键字驱动自动化框架,代码应尽可能优化和少改动)。
  (4)版本开发和测试时间进度(当项目需求和功能较为稳定时,建议用自动化)。
  (5)开发对控件元素增修改的程度(需开发人员尽可能地用name元素,并且和UI设计一致,修改变动程度不大,测试人员可根据提供的元素提前介入,开发自动化脚本)。
  App源码权限控制,iOS上测试需要源码。实际测试只需SVN或者git下载权限,而不需要上传权限。防止改动SVN或者git 上的源码。
  技术框架
  1、自动化学习过程
  自动化测试环境的部署-->自动化测试脚本开发能力--->自动化测试框架研发--->手机自动化持续集成。
  2、andorid 系统架构图

  3、手机自动化测试环境
  安装Appium-->安装手机模拟器-->安装selenium和appium的客户端-->安装被测试app
  4、Appium 软件架构

  5、常用的定位技术和工具

  6、自动化测试脚本技术

  7、技术框架结构图

  APP自动化测试流程
  1、环境的安装
  1.1 环境的准备
  1:jdk1.6以上
  2:python2.7以上
  3: android-sdk
  4:Appium desktop 安装
  1.2 jdk 安装
  1:下载JDK后傻瓜式安装,注意:不要有中文路径和空格
  2:配置环境变量:
  右击“我的电脑”-->"属性"-->"高级系统设置"-->"高级"-->"环境变量"
  1)在系统变量里新建"JAVA_HOME"变量,变量值为:C:\Program Files\Java\jdk1.8.0_60(根据自己的jdk的安装路径填写)
  2)在系统变量里新建"classpath"变量,变量值为:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (注意最前面有一点)
  3)找到path变量(已存在不用新建)添加变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
  1.3 python 安装
  1:傻瓜式安装,
  2:配置环境变量:电脑属性系统变量添加python根目录
  1.4 安装Android的测试开发环境
  1:Android-SDK的安装:SDK manager.exe 双击打开下载

  2:android-sdk环境变量的配置
  具体操作步骤:
  ·新建ANDROID_HOME
  路径为C:\Program Files (x86)\Android\android-sdk\
  ·在Path 变量中加入路径
  %ANDROID_HOME%\platform-tools 和 %ANDROID_HOME%\tools
  ·检查adb 环境变量

  ·连接手机
  如果是真机,手机插上USB连接电脑,打开开发者模式,cmd输入adb devices
  如果是模拟器,需要输入adb connect 127.0.0.1:62001或者52001连接,然后再输入adb devices
  Appium desktop 安装
  下载地址:https://github.com/appium/appium-desktop/releases/tag/v1.3.1
  傻瓜式安装 注意:一定要选择所有用户权限要不然用不了UiAutomator2
  2、 API脚本
  2.1 如何获取APP启动的AppPackage和AppActivity
  1:通过appt获取切换到aapt所在的目录,执行aapt dump(aapt是sdk自带的一个工具,在sdk\builds-tools\目录下)使用命令aapt dump badging “D:\ jinritoutiao_7500.apk”运行后的结果中以下两行分别是应用包名package和入口activity名称
  package: name=’ com.ss.android.article.news’
  launchable-activity: name=‘com.ss.android.article.news.activity.LaunchActivity’
  2: 通过 adb shell am start com.ss.android.article.news/com.ss.android.article.news.activity.MainActivity
  来判断启动的app 是否正确
  2.2 启动appium


  2.3:写脚本
  1.platformName:这里是 android 的 apk
  2.deviceName:手机设备名称,通过 adb devices 查看
  3.platformVersion:android 系统的版本号
  4.appPackage:apk 包名
  5.appActivity:apk 的 launcherActivity

  2.4生成测试报告






欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2