Charles

Postman----登录接口返回的reponse中token值传递给其他接口的一个简单接口测试示例

百般思念 提交于 2021-02-19 11:42:25
注:   在进行接口测试时,我们都需要使用登录,并且其他的接口都要在登录后进行,那么必不可少的会使用到将登录接口的reponse返回结果中的某些参数值需要进行返回,并传递给其他接口,这样才可以进行登录后的接口操作。如下已我在项目中的实战操作为示例,以此来讲解在postman中,如何将reponse的结果值进行返回,并且传递给其他接口作为headers的参数进行测试。 概览测试步骤:   (1)录制login接口,并进行相关headers和body参数的填写;   (2)查看login接口运行是否成功,如成功查看reponse中的自己想要的参数值是否已包含;   (3)Tests中进行语句的编写,获取login的reponse中相关值,通过console查看获取值是否正确;   (4)添加全局变量,将所需的值加入到全局变量中,首次给入默认值;   (5)非登录接口的其他接口的headers中传递值,写法{{xxx}},执行查看是否成功。 具体示例的操作步骤如下: 1、在右侧的collection中,新建一个文件夹,并且在此文件夹中创建login接口。headers和body中的参数是测试一个接口必不可少的,因此此处填写的是我们项目中的login时所需的一些参数,根据自己项目的实际情况可进行填写。   注意点:login时的接口,无需任何的参数传递

Python爬虫学习笔记8:APP的爬取

走远了吗. 提交于 2021-02-11 12:54:26
说明:本学习笔记主要参考:Python3网络爬虫开发实战一书 常用的抓包软件有WireShark、Charles、Fildder、mitmproxy、AnyProxy等。 原理:通过设置代理的方式将手机处于抓包软件的监听之下,获取APP运行的过程中发生的所有请求及响应,如果请求的URL及参数有规律,用程序模拟爬取即可。如果没有,可以利用mitmdump对接Python脚本直接处理Response,还可以利用APPium 进行自动化爬取控制。 一、Charles 下载地址:https://www.charlesproxy.com/download/ 证书配置:SSL证书是为了通过HTTPS协议,Charles客户端和手机都要同时转有SSL证书。 mac Help-ssl proxying - install charles root certificate 选择始终信任。 设置手机证书配置 先开启Charles代理,proxy-proxy settings 将手机同电脑连在同一个局域网下面。 查看本机IP地址,终端输入:ifconfig 安卓手机如何设置代理参考:https://blog.csdn.net/songzi1228/article/details/89950109 设置好代理后,charles界面会有提示,点击allow即可。 下面就是在手机上安装ssl证书

JMeter如何和Charles进行接口测试

◇◆丶佛笑我妖孽 提交于 2021-02-02 03:56:22
  什么是接口测试,接口测试到底如何开展,我相信任何一个软件测试人员都会有这样的疑问, 这里我以接口测试自动化平台的登录接口进行讲解。 一、什么是接口测试?   接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。 测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。--------->摘自百度百科   通俗的讲,就是对人扒了皮之后对这个人进行检测,可以直观的看心脏跳不跳动,而不再是依靠听啊或者脉搏来判断心脏是否 在跳动。对应到程序上来讲的话,就是不需要再UI上进行点击来猜测这个数据能否调通,可以直接通过接口返回直观的看到数据是 否已调通。 二、接口测试的好处   2.1、前后端bug分离,更好的将问题指定给对应的开发人员   2.1、缩短项目周期,接口测试可以在开发给出对应的接口后就能够进行测试,理论上来说,开发好一个接口,就可以测试一个 接口,减少联调的时间,后期进行功能测试的时候只需要对应前端开发人员即可 三、接口测试如何开展   3.1、优良的接口文档   3.2、接口测试工具 这里我用到的接口测试工具是JMeter    首先 说明一下什么是优良的接口文档:优良的接口文档必定具有两个特性,可读性和可执行性。对于接口文档来说,我们必定会 在里面看到接口的定义(包含:入参、出参、请求方式

Charles系列三:Charles打断点(包含修改请求,修改返回的内容),模拟慢速网络(弱网测试),域名映射,过滤请求,接口调试,打压测试

有些话、适合烂在心里 提交于 2021-01-24 06:55:55
一:Charles断点的使用(包含修改请求,修改返回的数据)    设置断点来修改请求和返回的数据,在开发过程中可以模拟多种响应。步骤如下:   1.添加断点方法有两种:     方法1:找到Charles中菜单项Proxy里面的Breakpoint Settings选项,在弹出的框中勾选Enable Breakpoints,选择Add添加按钮,添加想要断点测试的网址等信息       方法2:在抓取的网址中,找到Proxy菜单项中的Enable Breakpoints选项(或者直接找六边形的按钮红色就是打开),然后选中抓取的网址,右键,在弹出的选项中选中Breakpoints,你会发现你要打断点的网址已经出现了在Breakpoint Settings中,默认已经勾选。最后不要忘记将打断点的网址去掉,不然以后忘记了,可能就比较麻烦了。     2.在浏览器中输入你要测试的网址,查看Charles的反应,如果成功,会看到相应的提示,在面板右半部分下方选择Execute按钮继续,之后又弹出,出现相关的信息接着选择Execute按钮继续,如果不继续,那个网页就一直卡在哪里不动。上面的gif已经有所展示。   3.Charles给所要测试的网页打断点后,可以修改请求(在右边的框内可以看到Edit Request)和修改返回的内容(Edit Response),好处是可以测试异常情况

《Charles从入门到精通》之截取截取Https通讯信息和模拟慢速网络

不羁的心 提交于 2021-01-23 06:50:36
声明:《Charles从入门到精通》系列文章均参考于唐巧大神的博客,您可以点击“阅读原文”来阅读巧叔的博客~ 截取HTTPS通讯信息 安装证书 如果你需要截取分析HTTPS协议相关的内容,那么需要安装Charles的CA证书。具体步骤如下。 首先,我们需要在Mac电脑上安装证书。点击Charles的顶部菜单,选择“Help”->“SSL Proxying”->“Install Charles Root Certificate”。如下图: 这样在Keychain中就可以看到下图所示的内容: 需要注意的是,这个证书是不被信任的,因为系统默认是不信任Charles的证书的。此时需要对证书右键->"显示简介",然后将“使用此证书时”选项改为始终信任,如下图所示: 这是需要输入登录密码来授权的,在我们输入完密码之后,在Keychain中显示的证书就是这样的了: 这样,证书就安装完成了。但是需要注意的是, 即使是安装完证书以后,Charles默认也是不截取HTTPS网络通讯的信息的,如果你想截取某个网站上的所有HTTPS网络请求,那么你可以在该请求上进行右击,然后选择“Enable SSL Proxying” ,如下图所示: 这样当SSL Proxying 的状态是Enable的时候,就配置完成了~然后该Host的所有HTTPS的请求就可以被请求到了。 截取移动设备上的https通讯信息

技术干货 | mPaaS 客户端问题排查:漫长的 3s 等待之谜

陌路散爱 提交于 2021-01-15 09:09:08
面对日益复杂的技术世界,App 在开发、上线和运维阶段所遭遇的问题也越来越多。这些形形色色的问题可能来自整个链路的任意环节,而不仅仅是代码层面。 对于开发者来说,排查手段已经不再局限于构建代码过程中的调试,往往需要扩充排查方法,从多种途径对问题进行分析和定位。这篇文章会和大家分享 mPaaS 开发者的一例小程序网络性能问题排查之旅。 问题背景 “笑联科技”反馈基于 mPaaS 开发的 App 中,其集成的小程序访问客户自建的 Web API 存在连接慢的性能问题。问题复现视频如下: ▶ 播放问题复现视频 从问题复现的情况看,打开小程序后,页面数据的加载有一个“漫长”的等待过程。 和开发者沟通后了解到,页面初始化所必须的部分数据是通过自有的 Web API 获取到的,数据返回慢会导致页面加载的等待。另外开发者也提到,这个问题存在地域性和偶发性,既部分地区的部分用户在一段时间内会被这个问题严重困扰。 问题分析与排查 如前文所述,数据是通过 Web API 获取的,自然我们希望通过外部手段去确认这个 Web API 本身是否存在性能问题。 然而,通过浏览器或 Postman 等工具去访问该 Web API ,均无法复现问题,后端的响应都是毫秒级。但是因为开发者提到该问题存在地域性和偶发性,因此无法直接排除部分原因。 由于我们并不是 App 的直接开发者,对于这类问题,一种常规的手段是抓取

Postman----基础使用篇(没有接口文档的情况下如何着手做接口测试)

依然范特西╮ 提交于 2021-01-07 08:14:31
【备注说明】内文中的图片由于页面的限制,图片显示不清晰,为了能更加 的 看清图片,请点击“图片”,点击 “右键”选择 “在新标签页中打开图片”,可查看清晰图片。 Postman说明   Postman是一种网页调试与发送网页http请求的chrome插件。我们可以用来很方便的模拟get或者post或者其他方式的请求来调试接口。 一、接口文档中开发需要提供哪些参数给到测试同学?   说明:一般开发都会给测试给出接口文档, 文档中包括:请求地址、请求方式、请求参数、返回参数       (1)定义请求参数:名称、值的类型、是否必填;       (2)定义返回的数据格式:字段名称、值的类型;       (3)返回的数据格式结构有几种情况:         1、如果只返回接口调用成功还是失败(如新增、删除、修改等),则只有一个结构体:code和message两个参数;         2、如果要返回某些参数,则有两个结构体:1是code/mesage/data,2是data里写返回的参数,data是object类型;         3、如果要返回列表,则有三个结构体,1是code/mesage/data,data是object,放置page/size/total/totalPage/list 5个参数,其中list是Arrary类型,           list里放object

Python 获取手机营业厅token信息,自动参加“天天夺宝“活动

有些话、适合烂在心里 提交于 2020-12-28 11:42:24
此次教程是以python作为脚本运行的,需要以下软件/网页: 1.抓包工具《Charles》(电脑安装), 2.编写python的软件,Notepad(电脑安装),有条件pycharm就更好了 3.pydroid3 (手机) https://blog.csdn.net/qq_38282706/article/details/107739675 4.网页请求转化为Python requests的网站 https://curl.trillworks.com/ 准备步骤: 1.你得会抓包,就是能运用Charles 抓取自己手机浏览的网页信息,可参考 https://www.cnblogs.com/broszhu/p/11569571.html 2.手机或者电脑能运行python文件,pydroid3是可以直接在手机运行的,而电脑上,你得安装python 3.手机或电脑里的python需要安装requests模块 ====================================================================================================== 假设上面你都搞明白了,那么下面可以正式进入正题了。 第一步,Charles抓包: 进入”天天夺宝“页面, 对应的可以看到charles: 一堆网址,不知哪个,这是按ctrl+F

Python之路(第六篇)Python全局变量与局部变量、函数多层嵌套、函数递归

我只是一个虾纸丫 提交于 2020-12-24 05:45:32
一、局部变量与全局变量 1、在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。 全局变量没有任何缩进,在任何位置都可以调用。 子程序:如用def定义的函数。 作用域 一个标识符的可见范围,这就是标识符的作用域。一般常说的是变量的作用域 全局作用域(global):在整个程序运行环境中都可见 局部作用域:在函数、类等内部可见;局部变量使用范围不能超过其所在的局部作用域。 例子 NAME = "nicholas" def change_NAME(): print("change_NAME", NAME) change_NAME() print(NAME)       输出结果 change_NAME nicholas nicholas    分析:NAME = "nicholas"就是全局变量,在 change_NAME()函数体内可以直接调用打印出“change_NAME nicholas” 2、当全局变量与局部变量同名时: 在 定义局部变量的子程序内,局部变量起作用 ;在 其它地方全局变量起作用 。 例子: NAME = "nicholas" def change_NAME(): NAME = "niubi" print("change_NAME", NAME) change_NAME()

Python之路Python全局变量与局部变量、函数多层嵌套、函数递归

旧街凉风 提交于 2020-12-24 05:11:05
一、局部变量与全局变量 1、在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。 全局变量没有任何缩进,在任何位置都可以调用。 子程序:如用def定义的函数。 作用域 一个标识符的可见范围,这就是标识符的作用域。一般常说的是变量的作用域 全局作用域(global):在整个程序运行环境中都可见 局部作用域:在函数、类等内部可见;局部变量使用范围不能超过其所在的局部作用域。 例子 NAME = "nicholas" def change_NAME(): print("change_NAME", NAME) change_NAME() print(NAME) 输出结果 change_NAME nicholas nicholas 分析:NAME = "nicholas"就是全局变量,在 change_NAME()函数体内可以直接调用打印出“change_NAME nicholas” 2、当全局变量与局部变量同名时: 在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。 例子: NAME = "nicholas" def change_NAME(): NAME = "niubi" print("change_NAME", NAME) change_NAME() print(NAME)