精华内容
下载资源
问答
  • 移动端-安卓-接口测试简介

    千次阅读 2020-09-11 13:41:09
    移动端-安卓-接口测试简介前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 阅读本文之前,建议大家需要提前了解一下,什么是白盒测试,以及白盒测试的范围。 一、pandas是什么? 示例:pandas 是...

    前言

    直接入手大家可能没什么概念,迷迷糊糊,先抛出几个问题给大家,快速帮助大家了解接口测试的基本概念。

    接口测试测什么?
    什么是接口测试?和单元测试的区别?
    接口测试的价值和意义?
    怎么测试接口?怎么写用例,怎么运行用例,测试框架?

    一、接口测试测什么?

    说明一下:本人之前在某绿厂工作过,这边项目的诉求是整机的接口进行测试。

    简单的说一下我这边对接口测试的理解,面对用户使用的app,而app可能使用到的接口大致分成以下几类:

    1:三方接口(百度地图,腾讯,阿里,三方开源的依赖库,网络接口(http)等)
    2:应用对外提供的接口(自定义的ContentProvider,AIDL等)
    3:应用内部明显分层的跨Moudle接口(模块化的工程)
    4:安卓原生sdk
    5:厂商自定义sdk

    在这里插入图片描述

    所以我们需要测试的安卓客户端的接口主要就是以上几种。

    二、什么是接口测试?

    安卓端的接口测试是对上面用户的app所使用到的接口进行功能性,稳定性,兼容性的测试介于白盒和灰盒测试的范畴。因为三方接口,sdk的接口,网络接口或者其他接口存在源码不可见的情况,这种就是灰盒测试范围,源码可见的接口采用白盒测试思维进行测试。

    总的来说,接口测试属于单元测试的其中一个分支,而单元测试属于白盒测试。

    三、接口测试和单元测试的区别

    1.单元测试是和源工程一个项目下,因为源码必须可见才能进行单元测试,而接口如果不可见,比如三方接口,则不需要再同一个工程下,因此接口测试的测试工程有两种,一种是将测试用例放在源工程目录下,一种非源工程。

    2.单元测试用例是运行在jvm上,而接口测试是需要在真机环境,也就是安卓环境下才能运行
    因为接口通常都是跨模块的,jvm无法提供环境,比如context,sim卡,网络,sdcard,四大组件的运行等。
    (如果有别的差异也欢迎大家补充,此处只强调重点的区别)

    在这里插入图片描述
    androidTest目录下就是接口测试用例(运行在android环境(真机))
    test目录就是单元测试用例(运行在java环境(jvm))

    四、接口测试的价值和意义

    我在绿厂工作的这段时间,测试了很多种类型的接口。
    谈一下自己的感悟和看法吧。

    缺点一:接口测试的价值肯定是没有功能测试的产生的价值多,接口测试直接发现的bug较少。
    缺点二:对测试开发人员的要求比较高,要能看懂接口的实现,和对于app的具体业务,才能写出比较好的测试用例。

    优点一:接口测试可以驱动开发优化代码。当开发提供接口文档以后,我们开始编写接口测试用例,如果接口设计存在缺陷时,导致我们很难编写用例,那这种可以向开发反馈,接口是否重构。
    优点二:因为接口测试用例的执行速度快,可以参与app的快速迭代,拦截新增或者修改代码导致的bug。如果开发修改代码,导致之前的接口测试用例失败,这种bug也是能发现的。
    优点三:兼容各个机型,由于测试的是apk,可以跟随不同版本进行测试
    优点四:可以帮助开发快速定位bug的原因

    说白了,接口测试主要是预防接口被修改导致出问题,一个是功能性验证,保证数据在跨平台或者模块时传入的准确性。

    总结

    本文简要的说明了一下什么是安卓端的接口测试,接口测试的测试范围,价值和意义,以及和单元测试的区别,下期介绍一下接口测试如何搭建测试环境,何如编写接口测试用例,如何运行,以及测试框架和原理,有任何疑问,可以联系博主,欢迎大家提问。

    展开全文
  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、pandas是什么?...示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


    前言

    上篇文章介绍完接口测试的一些基本概念之后,相信大家知道我们需要测什么,目的以及意义。
    所以现在需要知道如何搭建测试环境,以及为什么?
    同样的这里需要大家先了解一下安卓的测试框架Instrumentation,他是用来干什么的?

    一、Instrumentation是什么?

    可以先初步的看一下这篇文章
    Android instrumentation原理
    两个重点

    1.这个框架提供了将测试apk和被测apk运行在同一进程,这样就实现了资源共享

    2.可以调用本该由系统调用的方法,如四大组件的生命周期。

    有了以上两点,可以便捷我们进行接口测试,而且接口测试页依赖以上两点。

    为什么提及这个呢,因为我们最终运行测试用例的运行器AndroidJUnitRunner继承自Instrumentation

    二、AndroidJUnitRunner是什么?

    大家可以先了解一下这边文章,简单说来,就是可以访问安卓资源的,且支持Junit框架的,这样我们就可以用它来进行运行在真机上的单元测试。
    androidJUnitRunner以及JUnit的学习以及使用

    三、接口测试环境搭建

    1.配置app build.gradle
    根据官方文件添加依赖
    AndroidJUnitRunner配置

    https://developer.android.google.cn/training/testing/junit-runner

        android {
          defaultConfig {
           ...
           testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    
           // The following argument makes the Android Test Orchestrator run its
           // "pm clear" command after each test invocation. This command ensures
           // that the app's state is completely cleared between tests.
           testInstrumentationRunnerArguments clearPackageData: 'true'
         }
    
          testOptions {
            execution 'ANDROIDX_TEST_ORCHESTRATOR'
          }
        }
    
        dependencies {
          implementation 'com.android.support:appcompat-v7:28.0.0'
          testImplementation 'junit:junit:4.12'
          androidTestImplementation 'androidx.test:runner:1.1.0'
          androidTestUtil 'androidx.test:orchestrator:1.1.0'
        }
    

    2.配置清单文件
    此步骤工具gradle已经集成,可忽略

    <?xml version="1.0" encoding="utf-8"?>
    <manifest
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:compileSdkVersion="28"
        android:compileSdkVersionCodename="9"
        package="com.xx.xx.test">
    
        <uses-sdk
            android:minSdkVersion="23"
            android:targetSdkVersion="28" />
    
        <instrumentation
            android:label="Tests for com.xx.xx"
            android:name="android.support.test.runner.AndroidJUnitRunner"
            android:targetPackage="com.xx.xx"
            android:handleProfiling="false"
            android:functionalTest="false" />
    
        <application
            android:debuggable="true">
    
            <uses-library
                android:name="android.test.runner" />
        </application>
    </manifest>
    
    

    3.接口测试工程androidTest
    在这里插入图片描述

    我们就可以在androidTest目录下编写运行在真机上的接口测试用例了

    4.运行接口测试用例
    前提是插入手机
    可以点击@Test
    在这里插入图片描述
    也可以通过adb 命令运行

     adb shell am instrument -w -r    -e debug false -e class '类名的绝对路径#方法名' 包名/android.support.test.runner.AndroidJUnitRunner
    

    详情使用可以参考官方文档:
    https://developer.android.google.cn/training/testing/junit-runner

     # Install the test orchestrator.
        adb install -r path/to/m2repository/androidx/test/orchestrator/1.1.0/orchestrator-1.1.0.apk
    
        # Install test services.
        adb install -r path/to/m2repository/androidx/test/services/test-services/1.1.0/test-services-1.1.0.apk
    
        # Replace "com.example.test" with the name of the package containing your tests.
        # Add "-e clearPackageData true" to clear your app's data in between runs.
        adb shell 'CLASSPATH=$(pm path androidx.test.services) app_process / \
          androidx.test.services.shellexecutor.ShellMain am instrument -w -e \
          targetInstrumentation com.example.test/androidx.test.runner.AndroidJUnitRunner \
          androidx.test.orchestrator/.AndroidTestOrchestrator'
        
    如果您不知道目标插桩测试,可以运行以下命令来查询:
    
        adb shell pm list instrumentation
    

    4.androidTest架构

    重点说明一下,测试apk和debug.apk是运行在同一进程。
    在这里插入图片描述

    展开全文
  • 接口测试工具Postman(chrome插件)

    千次阅读 2015-11-28 20:24:45
    前言 安装前言最近在做安卓项目,又要写后台,有需要写安卓,...于是想找个好用的接口测试工具。安装进入chrome的设置选项,点击获取更多的扩展程序-》进入谷歌应用商店->搜索postman> 这里发现了一个DHC也是五星,应该

    前言

    最近在做安卓项目,又要写后台,有需要写安卓,经常需要联调。使用安卓端调试限于gradle的编译速度(android studio2.0不是说提高了gradle速度,真心没感觉到啊,硬件已经是固态了),发现还是浏览器调试方便。于是想找个好用的接口测试工具。

    安装

    进入chrome的设置选项,点击获取更多的扩展程序-》进入谷歌应用商店->搜索postman

    亲,刷新试试

    > 这里发现了一个DHC也是五星,应该也不错;我这里安装时应用,也可以安装我截图的最后的扩展程序,rest client shortcut
    

    亲,刷新试试
    点击最后的图标启动,搞一个get请求小试牛刀。

    亲,刷新试试

    postman功能比较强大,当然也支持rest风格的请求。其他可以细细琢磨,不过够用就好。

    展开全文
  • 接口测试和自动化测试工具 apipost

    千次阅读 2019-06-24 20:39:23
    一直觉得自动化测试很神秘,没想到研究了下入门还蛮简单,找了一款中文版的工具apipost,非常简单和好用, 官网有文档,https://doc.apipost.cn/190045e91288b430 ,遇到问题还可以去社区去提问, 先简单说明下,...

    一直觉得自动化测试很神秘,没想到研究了下入门还蛮简单,找了一款中文版的工具apipost,非常简单和好用,

    官网有文档,https://doc.apipost.cn/190045e91288b430  ,遇到问题还可以去社区去提问,

    先简单说明下,我下载的是桌面版本,

    新建一个测试案例,

    通过编写测试用例来确定测试结果,

    通过这个按钮还可以模拟安卓和ios的测试,

    测试json接口,通过去json串中解析数据来判断执行结果是否正确,

    有多个案例的话新建测试流程,然后批量执行,执行时可以设置环境变量,提前准备测试数据

     

    展开全文
  • 写在前面:前后端分离作为一个现在大火的话题,在日常的项目合作开发时,一些小技巧能大大减小开发周期,提高程序员生产力,比如说API接口测试工具。Web后端工作者写的接口需要供很多人使用,Web前端和移动端。那...
  • 近期开始学习移动平台安卓的自动化测试工具MonkeyRunner,以下简称MR。先介绍一下录制和回放功能。 1、MR是安卓软件包里自带的一个工具,存放目录在android-sdk-windows-new\tools目录下monkeyrunner.bat,与其说...
  • 你是否遇到跑monkey测试,突然声音变大,影响他人,并且只能通过插入耳机线解决这个问题,那目前手机充电和耳机都是同一个接口那怎么办?你是否遇到在做平台测试,特别是多个任务,前面monkey的运行把wifi关掉了,...
  • HTTP测试工具(Httptest1.0) 目前仅支持GET、POST 可以自定义循环请求次数、自定义间隔时间 支持定时请求 自定义协议头(HTTP Headers) 支持cookie 支持复制删除请求返回的内容 用途介绍:看标题应该都知道了,自己...
  • Windows下使用charles进行app接口测试目录前言charles是一个强大的跨平台测试工具,这里记录简单的学习过程,如有错误希望指出。提示:以下是本篇文章正文内容,下面案例可供参考一、charles与虚拟机环境准备版本...
  • 这里有安卓的源码大全,内含几千个demo例子,几乎覆盖所有的市面上UI设计功能点的需求,保存一份,就是求职工作多一份报障。 android实例源码,很好很强大… 丰富的页面展示效果类别: 轮子例子大全: 作品...
  • 因为安卓自动化测试都绕不开google自己研发的自动化测试框架,于是张大胖哼哧哼哧开始学java,开始上手UiAutomator做自动化测试。2周过去了,张大胖开始向王哥抱怨:王哥一看他的代码,demo都还没跑起来,再让他玩...
  • 原生应用是指用ios、安卓、sdk等。 是模拟人的操作进行功能自动化,通常用于功能测试和兼容测试。 2、Appium设计: ios苹果的UIAutomation Android4.2+ 谷歌的UIAutomation 3、Appium原理: 核心是web服务器 Session...
  • public class PlatformMethod : MonoBehaviour ... #region 工具端 #if !UNITY_ANDROID /// <summary> /// Unity测试专用 /// </summary> /// <param name="msg"></param> ...
  • 4-1 如何学好Android App API接口测试? 4-10 Fiddler构造HTTP Get请求 4-11 Fiddler构造HTTP Post请求 4-12 Fiddler抓取手机上的网络数据包 4-13 为什么使用PostMan做API接口测试 4-14 工欲善其事必先利其器-...
  • 我们在安卓上进行性能测试时,如果想获取CPU以及内存等常用性能指标,linux系统自身就提供了现成的方法,谷歌官方甚至公司内部也都提供了大量功能强大的分析工具。而相比之下,想要获取GPU的相关指标则没那么容易,...
  • android sdk 接口测试

    千次阅读 2013-06-14 16:37:11
    最近接触到了第一个安卓项目,是关于安卓接口测试的。于是呼一通找资料,看了五花八门的文章、文档,但是并没有非常适合的。 现在决定把学习的过程写下来,如果能帮到一两个跟我一样情况的就很开心了,开始学着...
  • 安卓APP安全测试基础

    2015-06-26 10:33:00
    简介:安卓APP安全测试目前主要覆盖以下方面:1)自身组件安全2)本地敏感数据保护3)web接口安全一、自身组件安全目前手动、开源或免费工具均能检测此类漏洞。开源工具推荐:drozer免费工具推荐:360捉虫猎手、爱...
  • 各种测试工具

    2016-07-06 17:01:00
    # 语言 简介 ...接口测试 Fitness 测试框架 TestNG Java 开源测试框架,被Elipse,IDLE等支持 Appium 安卓和IOS APP测试,通用 Selenium WEB UI测试 ...
  • 现在越来越多的网站都HTTPS化,抓包工具各种乱码、unknown;需要通过安装证书,完整HTTPS解析。一、PC端证书安装(FireFox浏览器)A、安装证书,选择受信任的发布者B、将证书导出,导入FireFox的信任证书列表可以...
  • 测试开发工具集锦

    2017-11-07 10:02:00
    jenkins 持续集成 sonarqube 代码质量管理工具 可参考搭建教程:http://blog.csdn.net/hunterno4/article/details/11687269 ...jmeter 性能\接口测试框架 postman 接口测试\mockserver ngrinder 性能...
  • 用真机测试小程序的时候,出现了这样一个现象,有一个删除的接口,开发者工具上调用可以,安卓测试也没问题,但是用ios测试的时候没反应,后来把fail打印出来 显示网络请求失败 寻找原因的过程太漫长 就不描述了 ...
  • 用到的测试工具小结

    2019-04-28 17:34:40
    接口测试环境搭建:jdk,tomcat,数据库,linux命令,centos 压力测试:monkey 使用adb命令连接虚拟机 adb connect ip地址:端口号 adb devices: 检测连接到电脑的安卓设备(手机连接电脑的时候,下载个...
  • 五大反逆向技术: 代码混淆、针对不同逆向工具保护技术、增加逆向难度(java代码native化)、...删除无用Log:可删除调试和分析代码逻辑时的log,也可删除不使用的调试接口测试环境 问题: 混淆错误:用到第三方j...
  • 通过本篇你讲了解到Airtest是如何跟安卓设备交互的,以及多设备时的多机交互使用。 在之前从Touch接口分析Airtest的图像识别中,在图像识别获取到目标位置以后,发起点击的操作是通过以下这句: `G.DEVICE.touch...
  • windows电脑使用fiddler工具安卓手机的抓包请参考:https://blog.csdn.net/weixin_43574761/article/details/100516134 下面说一下mac电脑的抓包,因为fiddler没有mac版本,所以mac电脑,我使用了charles工具: ...
  • 做安全漏洞测试的同学都知道,用类似黑盒测试工具测试服务漏洞的时候,在测试服务接口的请求上做参数注入的修改,会污染测试服务的数据源,OpenRASP技术也不例外。本文主要讲述我们IAST漏洞扫描系统...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 121
精华内容 48
关键字:

安卓接口测试工具