zoukankan      html  css  js  c++  java
  • 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()

  • 相关阅读:
    POJ 1681 Painter's Problem(高斯消元法)
    HDU 3530 Subsequence(单调队列)
    HDU 4302 Holedox Eating(优先队列或者线段树)
    POJ 2947 Widget Factory(高斯消元法,解模线性方程组)
    HDU 3635 Dragon Balls(并查集)
    HDU 4301 Divide Chocolate(找规律,DP)
    POJ 1753 Flip Game(高斯消元)
    POJ 3185 The Water Bowls(高斯消元)
    克琳:http://liyu.eu5.org
    WinDbg使用
  • 原文地址:https://www.cnblogs.com/yalandskx/p/9840728.html
Copyright © 2011-2022 走看看