• 肖sir_多测师 _高级讲师 第二个月21讲解app测试之安装(001)


     
    我们主要讲解app自动化环境的搭建以及定位和app测试
     
    ================================================================
    app
    原生+H5
    ===================================================================
    (一)app测试
    手工app测试和自动化app测试
    手工app测试:就是点的地方不同,一个在bs结构上点,在cs结构上点(或模拟器或H5)
    自动化app测试:用代码来代替手工点
     
    面试题:web和app测试的区别?
    或app的关注点?
     
    ===================================================================
    (二)app系统分类
    在市面上app测试流行,分为安卓端和ios端(ios端必须要maos系统,还要企业级的证书,再公司一般不会用ios做自动化)
    开发人员都是用模拟器,(1、模拟手机种类多,2、连接稳定 3、运行稳定  )
     
    面试题:app中ios和安卓区别?
    ===================================================================
    (三)app的包下载(灰度包,测试包)  开发打包以后,会给你地址url;
    app的包apk包,一般开发好了
    (1)打包,jenkins自动打包,打包以后有一个连接地址下载,
    (2)打包以后地址生成一个二维码,扫码下载
    =================================================================
     (四)app测试流程(H模型一样的)
    (1)看需求,分析需求
    (2)写测试计划(场景设计)
    (3)写用例( 自动化脚本的编写)
    (4)搭建环境(需要app测试包)
    (5)测试(测试前:冒烟测试,测试中:执行用例  测试后:写报告)
    (6)修改bug以后,又要重新打包,安装新的app包在测试;
     ================================================================
    (五)app端的ui自动化测试流程
    1、打开模拟器
    2、dos命令下,链接模拟器 ,adb  connect
    3、启动uiautomatorviewer.bat    工具定位元素
    4、pycharm中编写自动化脚本(去定位)
    5、打开appiun 点击开始(端口,ip配置)
    7、运行自动化脚本
     ==============================================================
    (六)appium工具的优缺点
    优点:
    1、支持多种应用程序
    2、测试对象无需编译
    3、脚本实现多样化以及工具的多样
    4、支持跨平台
    缺点:
    1、该工具必须依赖电脑才能实现自动化
    2、该工具只能用于ui自动化测试
    ==============================================================
    一、App自动化测试环境用途:
    主要用于做App端的UI自动化测试、熟悉adb相关命令(a表示安卓,表示debug ,b表示桥)
    adb是和手机相连接二、所需要的工具包:
    jdk1.8 #之前已安装过则不需重复安装
    Android-SDK #软件开发工具组 ,里面存放一些类,函数
    appium 
    Appium­Python­Client           #appinm的python的客户端
    node.js #
    夜神或逍遥模拟器      #用到模拟器来做自动化,或再真机上测试
    baiduyuedu_3760.apk #要测一个安卓包,,百度阅读的apk包
    第一步:装sdk
    详解:SDK (Software Development Kit)翻译成中文就是"软体开发工具组"
    是用来帮一个 产品 或 平台 开发应用程式的工具组,由产品的厂商提供给开发者使用的。
    通常是 某一家厂商 针对某一 平台 或 系统 或 硬体 所发布出来用以开发应用程式的工具组,在这个工具包里面,可能包含了各式各样的开发工具,模拟器等。给 Android平台 使用的 Android SDK 就是用来开发 Android系统上面的应用程式。
    sdk存放了类,函数,
    SDK下包的说明:
     
    1、:build-tools  :建立工具
    2、:extras:扩展的附加包
    3、:platforms:你安装下载的所有Android平台,分版本存放
    4、:platform-tools:平台相关的工具
    5、:tools:应用Android平台进行开发所需要的一些开发工具
    (1)步骤:打开sdk:

    (2)查看sdk下文件夹

     

    三、App自动化测试环境搭建全部流程:
    1)安装Android-SDK
    先解压adt-bundle-windows-x86_64-20140702.zip文件得到如下三个文件和文件夹
    2)安装Android-SDK首先需要配置ANDROID_HOME和path
    a.电脑右下角点击Windows图标-选择计算机­ 空白处右键­属性­左侧栏选择高级系统设置­环境变量­用户变量­增加­ANDROID_HOME
    b.然后把sdk的路径放入变量值(以自己的路径为准,如下为我的sdk路径)
     
    E:讲课文档课件第二个月课件手机APP自动化相关包搭建环境需要的安装包adt-bundle-windows-x86_64-20140702sdk
    4)配置path路径  (如下3个路径都需要添加,中间以;分号分割)我的路径如下
    (以自己的路径为准):
    E:讲课文档课件第二个月课件......adt-bundle-windows-x86_64-20140702sdkplatform-tools
    (其中有adb)
    E:讲课文档课件第二个月课件......adt-bundle-windows-x86_64-20140702sdk ools
    (其中有模拟器和定位工具)
    ;%ANDROID_HOME%platform­tools;%ANDROID_HOME% ools

     

    5)配置aapt的环境变量 (以自己的实际路径为准)
    E:讲课文档课件第二个月课件......adt-bundle-windows-x86_64-20140702sdkuild-toolsandroid-4.4W

    查看adb命令的变量;
    为什么要设置变量?
    因为我要设置目录下所有的 程序
     
    第二步:安装appium
    2.1、什么是appium?
    Appium是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的。可用于IOS和Android以及firefox的操作系统。原生的应用是指用android或ios的sdk编写的应用,移动网页应用是指网页应用,类似于ios中safari应用或者Chrome应用或者类浏览器的应用。混合应用是指一种包裹webview的应用,原生应用于网页内容交互性的应用。
    重要的是Appium是跨平台的,何为跨平台,意思就是可以针对不同的平台用一套api来编写测试用例。
    2、2appium的原理?
    appium工具是一个c/s模式,
    appium自动化框架的组成?
    appium客户端组成:Python客户端通过pycharm编写自动化,客户端使用Python语言编写脚本,
    appium服务器
     
    2.3安装appium、双击appium图标安装完成会显示appium主界面如下:点击右上角三角形按钮启动appium服务
    a.安装appium
     
     
    b.打开appium程序
     
    c.启动appium服务(如下图)
    出现started on字样表示服务
    启动成功。
    2.3在线安装python操作客户端(dos窗口下安装)
    pip install Appium­Python­Client   如果安装报错(pip升级后再安装:python ­m pip install ­­upgrade pip)出现如下图表示安装成功。
     
    python ­m pip install ­­upgrade pip 升级安装pip
     
    8)安装node.js
    a.双击如下图安装node.js
    b.下载完成之后在dos窗口输入node  -­v出现如下即安装成功
    9)app自动化测试环境检查
    a.输入cmd进入dos窗口输入:appium-­doctor(显示如下图就表示环境搭建成功)

     以上表示安装成功。

    报错:

    b.如果显示 “appium­doctor”不是内部或外部命令 (appium的安装路径以自己的路径为准) 需要把appium的安装路径E:讲课文档课件第二个月课件......appium-1.4 ode_m odules.bin配置到环境变量 配置好环境后再次输入:appium­doctor 显示正常

     =================================================================

    10)安装夜神模拟器:(安装不成功则可选择安装逍遥模拟器,成功的忽略这条) a.找到夜神模拟器的安装包双击

    b.进入dos窗口输入命令:adb connect 127.0.0.1:62001 (显示如下图表示已经连接上夜神模拟器了)

     

    c.安装好了运行模拟器发现很慢可以进行BIOS设置开启VT 按照这个网址进行设置 http://www.xyaz.cn/help/vt.html

    开机按F2按钮­找到Security­­Intel Virtualization Technology­­改为 Enabled­­按F10保存退出。

    11)往夜神模拟器安装需要被测试的软件

    a.安装测试包 adb install + 包名的绝对路径 (或者进入包所在的目录下面安装)

    例如:adb  install    D:appappnewduoceshi.apk    安装bao

             D:appappnewdangbei1.apk                    当贝

             D:appappnewaiduwangpan_589.apk   百度网盘

    b.安装完会显示在逍遥模拟器当中

    12)做APP自动化测试需要获取包名和appActivity

    a.用aapt d badging + 安装包所在的绝对路径 C:UsersAdministrator>aapt d badging E:讲课文档课件第二个月课件手机APP自动化相关包搭建环境需要的安装包aiduyuedu_3760.apk 结果如下: package: name='com.baidu.yuedu' versionCode='3760' versionName='3.7.6

    举例:aapt d badging   D:appappnewduoceshi.apk

    正确结果:

     

     

    c.其他的adb命令 adb shell pm list packages ­­­查看已安装的应用 adb uninstall package:com.baidu.yuedu ­­卸载百度阅读App

     =====================================================================

    搭建环境的总结:

    1、安装JDK
    2、安装SDK
    并且配置环境
    3、安装node.js
    4、安装appium
    5、安装appium-doctor
    6、安装appiumlibrary
    7、验证环境

    8、模拟器

    =====================================================================

    ADB常用的指令:
    查看当前连接设备 : adb devices
    进入到shell : adb shell     #ctrl+c 退出
    查看日志 : adb logcat      #ctrl+c 停止
    安装apk文件 : adb install xxx.apk
    卸载APP : adb uninstall +包名

    例如:adb    uninstall    com.baidu.netdisk

    查看包名 : aapt d badging +包的路径
    往手机SDCard传递文件:adb push 文件名 手机端SDCard路径

    例如:(1)adb push  D:/bao/sql11.txt     /data

     adb push 本地文件路径     安卓设备路径

    从手机端下载文件 : adb pull + 文件

    例如:(2)adb pull  /init  D:/bao

    SDCard

    查看手机端安装的所有包名:adb shell pm list packages
    启动Activity : adb shell am start 包名/完整Activity路径

    举例:

    包名: com.dangbeimarket

    activity包名:leanback-launchable-activity: name='com.dangbeimarket.activity.WelcomeActivity

    屏幕截图 : adb shell screencap

    例如:adb shell screencap -p {路径} 可以 保存 到 手机本地然后 传回电脑 

    例如: adb shell screencap -p  /data/123.png

    (1)保存图片到sdcard

    adb shell /system/bin/screencap -p /sdcard/aa.png

    (2)pull拉取到本地

    adb pull /sdcard/aa.png    D:ao

    启动adb server命令 :adb start-server
    停止adb server命令 :adb kill-server

    例如:

     以上都没有没有明显的显示,

    查看adb版本 :adb version

    例如:

    指定adb server:

    查看adb使方法:

    adb -p start-server


    默认端口为5037
    让设备在 5555 端口监听 TCP/IP 连接:adb tcpip 5555

    adb tcpip网络调试

    -----------------------

    拓展知识:

    把手机usb和连接线和电脑端连接起来,输入下面命令

    1手机和PC在同一网段的情况下:
      adb tcpip 5555
         2)  、adb shell ifconfig 查看手机网络IP
         3)、在电脑上ping 手机网络ip
         4)  、 adb connect  ip (Android 设备ip)

    2手机和PC不在同一网段的情况下
     我们需要用手机的 终端模拟器和ssh工具 反向代理。

    -----------------------------

    通过 IP 地址连接设备:adb connect

    例如:链接:adb connect 127.0.0.1:62001

    断开无线连接 : adb disconnect

    例如:

  • 相关阅读:
    Spring Boot 2 快速教程:WebFlux Restful CRUD 实践(三)
    Spring Boot 2 快速教程:WebFlux 快速入门(二)
    ES 集群上,业务单点如何优化升级?
    Spring Boot 2.x 系列教程:WebFlux 系列教程大纲(一)
    泥瓦匠想做一个与众不同的技术"匠"
    java编程行业微信群,无论新手老手欢迎加入,会一直更新
    Spring Boot 2.x 系列教程:WebFlux REST API 全局异常处理 Error Handling
    解决方案:如何防止数据重复插入?
    阿里 Java 手册系列教程:为啥强制子类、父类变量名不同?
    品阿里 Java 开发手册有感
  • 原文地址:https://www.cnblogs.com/xiaolehua/p/14204259.html
Copyright © 2020-2023  润新知