• app测试


    一.启动时间:

    1.冷启动:app退出

      a.启动app命令:adb shell start -W -n package/activity

      b.停止app命令:adb shell am force-stop package

    注意首先要获取package名和activity名,在终端执行命令:adb logcat | grep START,打开浏览器,在cmp后面的就是相关的package和activity名.

    2.热启动:app退出到后台.

      a.启动app命令:adb shell start -W -n package/activity

      b.停止app命令:adb shell input keyevent 3

    自动化脚本的实现:

      1.获取命令执行时间,作为启动时间参考值.

      2.在命令前后加上时间戳,以差值作为参考值.

    注意,自动化脚本写完之后,运行后获得的数据一般第一条数据不准确,剔除.

    二.cpu

    1.获取数据:adb shell dumpsys cpuinfo | grep packagename

    三.流量

    1.获取进程id指令:adb shell ps | grep packagename

    2.获取进程id流量: adb shell cat /proc/pid/net/dev

    四.电量

    1.获取电量: adb shell dumpsys battery

    2. 切换非充电状态: adb shell dumpsys battery set status 1     (status非2即可,2为充电状态)

    五.内存

    1.获取内存: adb shell top -d  1    (-d就是刷新的频率是1秒钟一次)

      VSS -  Virtual Set Size 虚拟耗用内存

      RSS - Resident Set Size 实际使用物理内存

    六.fps&过度渲染

    1.fps:每秒的帧数

    2.过度渲染:描述的是屏幕上的某个像素在同一帧的时间内被绘制了多次

    应用测试框架的意义

    1.提高代码的易读性

    2.提高嗲吗效率

    3.提高代码的易维护性

    自动化实例

    1准备测试的app

    2.准备自动化测试环境

      环境1

      01.appium

      02.Android SDk

      03.Appium-python-client

      环境2

      Selenium

      UIAutomatorViewer

      Pycharm

    3.自动化用例开发

      1.确认自动化环境

      2.自动化脚本编写

      3.自动化脚本的运行

    确认被测手机名称:adb devices  

    unittest

    1.Test Fixture

      结构:

        setup()

        testcase()

        teardown()

    2.Test Case

    3.Test Suite

    4.Test Runner

    数据驱动

    1准备第三方库

      首先安装ddt库,其次在脚本中引入ddt.

      直接在命令行里面运行安装.

    数据驱动到的应用

      1,使用元祖存放被测试的数据,一个参数的情况

      @data(1,-3,2,0)

      def testcase(self,value):

      这里的value就是data里面单个的数据

      2使用元祖存放被测试的数据,多个参数的情况

      @data((3,2),(4,3),(5,3))

      @unpack

      def testcase(self,value1,value2):

       这里的value就是data里面的数据,value1对应3,value2对应2  

    实践

    1.数据驱动的应用:

      在登录的过程中,将登陆的数据,使用数据驱动实现

    app api自动化测试

    基础概念: 应用编程接口,     http api

    fiddler

      环境准备:

        fiddler安装

      工作原理:

        客户端---fiddler---服务器

      基本界面: 

      设置断点修改request:

        设置断点的两种方式:

          1.通过工具栏设置断点:rules--->automatic breakpointg--->before requests 设置后,在右侧的webform中修改对应的值

          2.通过命令设置断点:在左下方输入框bpu+www.badun.com      清除直接输入bpu就行了

      设置断点修改response:

        设置断点的三种方式:

          1.通过工具栏设置断点:

          2.通过命令设置断点:bpafter+www.baidu.com

          3.autoresponse设置:

      fiddler小工具

        1.会话的过滤:filter下面进行相关的设置,过滤到我们关心的内容

        2.会话的比较:选中对比的两个会话,右键选择compare      注意下载windiff工具

        3.编码的小工具:tool-->textwirard

      host设置

        1.找到win系统下的host文件,进行修改.tool--->host remapping

        2.安装小工具,帮助修改host

        3.借助fiddler工具,实现host的修改

      构造http请求:

        1.get请求

        2.post请求  

      抓取手机包:

        1.配置fiddler允许监听https:  tool--->fiddler options---https设置---connect中的四个选项,勾选下面三个 

        2.配置fiddler允许远程连接

        3.手机端设置代理服务

        优点:1.无需root权限.  2. android&ios均适用   3.操作简单&界面清晰  

    postman

      api接口测试问题:

        1.后端服务提测时间早于客户端

        2.很难用客户端模拟异常请求

        3.fiddler的composer无法实现自动化验证

      适用范围:1.pc  2.wap  3.app

      环境准备:安装应用包--->注册新用户

      发送get或者post请求,设置检查点,检查请求返回值,自动运行请求集合

      节省回归测试人力

    ddt在api自动化的应用

    1.Python request模块的准备

    2.http get测试脚本的实现

    3.http post测试脚本的实现

    4.在api自动化中应用ddt

     持续集成实例

    使用jenkins自动化测试app:

    提交代码-->卡取代码-->编译-->打包-->配置-->测试-->反馈问题-->开发处理-->提交代码

    Android native app自动化

    appium:

       android平台的

    理念:1.无需重新编译应用,

      2.不局限于语言和框架,

      3.无需重复造轮子,接口统一,

      4.开源

    跨架构: native,hybrid,webview

    跨设备:android,ios,firefox OS

    跨语言:java,Python,ruby,php,js

    跨进程:不依赖源码基于(UIAutomator)

      APPIUM原理

    SELENDROID的架构

    contexts:上下文内容,没有参数

    switch_to.context()切换上下文

    find_element_by_xpath()定位元素

    find_elements_by_xpath()

    click()

    time.sleep()

    assertTrue()

    assertEqual()

  • 相关阅读:
    第五周作业
    第四周编程总结
    第六周作业
    2019春第五周作业
    2019年春季学期第四周作业
    2019年春季学期第三周作业
    求最大值及其下标
    7-1
    第十周课程总结
    第九周课程总结&实验报告(七)
  • 原文地址:https://www.cnblogs.com/yalandskx/p/9840728.html
Copyright © 2020-2023  润新知