专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

软件测试丨接口测试怎么做?持证上岗的Charles,可以做什

  公众号搜索:TestingStudio霍格沃兹的干货都很硬核在读文章之前,留下个四个悬念:fake,stub,mock,proxy。
  ps:charles没有你想象的那么善良。
  引言
  charles是一个优雅的名子,你可以称呼它:查尔斯先生。它是一个网络的管理员,你的任何httphttps网络消息,都要经过查尔斯先生审核,如果你和查尔斯先生关系好,你会得到这些消息,甚至可以篡改和收发。对,你没看错,charles可以处理https协议消息!我们对https协议闻风丧胆,因为https是htttp的加密版,tcpdump和wireshak对这种加密手段束手无策,但charles鹤立鸡群,他强大到可以处理https协议下的消息。
  界面和基本设置
  初次会面
  如果代理配置正确您会看到charles先生的全貌,上边是菜单栏,左边记录您访问的每个网站主机,右侧显示信息细节。它非常强大,只要您学会使用它,就可以看到网络上传输的所有事情。
  为了让所有浏览器(或者网络应用)的数据送达到charles手中,您必须设置charles为代理服务器,但每次开启或关闭charles后,都要重新配置,如果您想偷点懒,可以在ProxyProxySettings弹出的对话框中配置行为。
  小明:选项中有两个代理,请问charles先生,他们有什么区别呢?charles:Socks代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。所以,Socks代理比其他应用层代理要快得多。而浏览网页时的代理服务器通常是http代理呦!小明:哈哈,我懂了,那我能浏览网页,不等于我一定可以通过Socks访问Internet对吗charles:对的,socks要比http宽松的多!
  session小明:既然charles先生管理网络,那么您一定有方法存储这些网络请求信息吧?charles:当然,我最重要的绝活就是记录,所有的请求和响应都会记录到session中,供大家稍后检查和分析。你打开菜单栏中的File,在这里可以管理您的session,包括新建,打开,清空等等。
  每次启动charles,都会自动创建一个新的session小明害羞的问:我可不可以关闭记录呢,等我需要的时候再打开,这样我就能偷偷做一些不为人知的事!charles会意的笑了笑:如果关闭记录,Charles会正常通过所有请求,但它们不会记录在session中,你可以点击下面来关闭记录。
  结构视图和顺序视图小明:charles先生,我发现在主界面,有两个选择Structure和Sequence,它们两个有什么区别呢?charles:哈哈哈,这可是我的双面镜!我提供了两种显示方式,你可以在viewstructuresequence中切换,也可以在界面中直接切换charles喝了口茶:最大的区别是,结构视图提供树图显示,而顺序视图则是以时间顺序展示
  小明:原来是这样,我看视图下有很多类似链接的东西,都看花眼了,快把您的老花镜借我用用charles急忙藏好老花镜:这可不行,不过,我可以教你一个筛选它们办法,这些类似链接的东西是host名,如果你右键host名,会出现一系列对应的操作,比如保存和对焦,这个对焦(focus)的意思是只关注我们想要的信息。
  charles:对焦操作可以让过滤掉没用的信息,比如我只想关注baidu,我可以对百度host进行focus,这样那些非百度的host就会被折叠,就会出现下面这样
  小明放下偷来的老花镜:哇,太好了,老花镜还您!charles:哇呀呀,偷我东西,气死我了!
  chart小明盯着屏幕看了很久:这些蓝条好漂亮!charles昂首挺胸:那当然,这是chart,我最美丽的地方,chart主要记录了一个资源的生命周期:从请求到等待到响应请求,不仅如此,它还将相关资源分组,比如下面的4张图片是一组。
  小明:利用chart,就能知道请求在哪花费时间长了,不会傻傻的等待了!
  SSL
  小明:既然charles先生这么厉害,可以肆无忌惮的抓取网络请求,那您会不会被警察叔叔抓起来呢?charles丝毫不紧张:咱们做的都是合法操作,我有自己的证书,称之为:CharlesRootCertificate,在抓取数据时,你很可能会收到关于证书的警告,那很正常,你只需要信任它即可,如果你想一劳永逸,永久信任CharlesRootCertificate的话,你可以按照下面的链接来操作
  信任CharlesRootCertificate:https:www。charlesproxy。comdocumentationusingcharlessslcertificates小明:这样啊,那证书和SSL有什么关系呢charles:你其实在问SSL的工作原理,其实我是中间人,替浏览器查看服务器的证书并签名,但同时会把自己的证书发给浏览器,因此会出现警告,你需要添加到信任序列才能正常使用,下面的一张图清晰明了
  小明:哈哈,charles老爷爷是一个小能手charles:胡说,怎么能叫爷爷呢,人家分明不到30岁小明:这样叫,比较亲切
  重要功能介绍
  负载测试小明:今天好累呀,我要重复发送请求给同学,他好像睡着了,一直没回我消息!charles:哎呀,小明,你怎么能一条一条的手动发送呢,我可是有超级工具:负载测试,你右键host名AdvancedRepeat,打开它!
  charles:这个工具有几个难懂的参数,Iterations很容易理解,就是你要发送的次数,Concurrency是并发等级,表示访问该站点的用户数量,以及迭代次数。小明:那我设置发送10次,并发等级为1,发送!
  charles此时会打开一个新的sesscion,并且发送了10次,每次都有对应的详细消息!
  弱网测试小明:我写的软件好奇怪,在网络好的时候没问题,但信号差的时候明显卡顿,看来我只能一直蹲在卫生间(信号差)调bug了charles:哈哈哈,傻孩子,我就自带弱网工具呀,在ProxyThrottleSettings下,使用前要记得勾选EnableThrottling。charles顿了顿:如果你想指定网站,可以勾选下图中的Onlyforselectedhosts,然后在对话框的下半部分设置中增加指定的hosts项。
  小明有点晕了:这些参数,好多,好复杂!charles笑着摸摸小明的头:小明,人就是这么成长的,总不可能一帆风顺,慢慢用心听,你可以在ThrottlePreset下选择网络类型,比如选择56kbpsmodem便可以降低网速,而选项的含义,我会在下面列出来
  ThrottleSettings视图中的选项含义如下:Bandwidth:带宽Utilistation:利用百分比Roundtrip:往返延迟MTU:字节
  断点设置小明:charles爷爷,我用过的很多IDE都自带断点调试功能,您这里有吗?charles:断点可是非常重要的工具,怎能没有!你打开ProxyBreakpointsSettings,勾选EnableBreakpoints就可以启用断点模式,选择Add,然后填入需要监控的Scheme、Procotol、Host和Port等信息,这样就达到了设置断点的目的。或者可以在某个想要设置断点的请求网址上右击选择Breakpoints来设置断点。
  小明皱了皱眉:但是这样好麻烦呀,每次都要设置Scheme、Procotol、Host和Port吗charles:当然不是,你也可以通过右键host名,选择断点
  小明拍了拍手:哇,好棒,我一定要多试试这个断点功能
  反向代理charles:其实我不仅仅是个代理工具,也可以做到反向代理小明困惑的看着charles:什么是反向代理呀charles:反向代理就是客户端想访问服务器,他会优先访问代理服务器,当proxy关口拿到用户请求的时候会转发到代理服务器中的随机某一台。而在用户看来,他只是访问了Proxy服务器而已。
  小明:那就是说,反向代理就是服务器的代理,客户端根本不知道服务器的存在,只知道代理服务器的存在啦!charles:是这样的,你可以在ProxyReverseProxiesSettings找到这个功能,这可是很常用的,特别是对于本地开发且需要域名的情况下。
  charles:这个截图的意思是将本地57689端口映射到www。baidu。com域名的80端口
  使用手机小明坏笑:好困扰,我手机中有很多网络游戏,我可不可以让charles爷爷帮我看看网络游戏有什么数据包呢,我能不能改一改?charles:又在打什么坏注意了,我其实可以抓手机上的数据,但电脑和手机需要在同一个wifi网络小明兴奋的看着charles:真的吗,我该怎么做,快教教我charles无奈的摇了摇头:你要打开ProxyProxySettings,填入代理端口8888,并勾上EnabletransparentHTTPproxying即完成了代理
  charles:然后,你需要在手机wifi网络中添加代理,输入电脑IP和charles的端口号:8888,就可以抓手机上的网络数据了!小明:太好了,我要去试一试
  10分钟后。。。小明:charles,我抓到数据,但为什么是unknown呢
  charles:明明是你没听我讲完,就自己动手做,你这个是http数据,如果想要抓取http包,你需要下面这样做
  抓取https包
  重点来了,我们久违的https终于出场了,charles靠一张证书就解决了加密问题,具体怎么做呢?如果使用的是电脑,按照下面这样安装证书:
  选择后,就会出现证书下载,下载成功后会电脑钥匙串访问中看见(这里我已经安装并信任过了),然后双击下载的证书,勾选信任即可。
  如果使用的是手机:
  在SSLProxying中勾选Install。。。MobileDevice会弹出一个框,用手机(处于代理状态下)登陆指定的url下载证书即可。
  这时候你抓https的时候还是发现不行,乱码加unknown(如下图)
  这时候我们还需要一步操作,就是将想要抓的https加入到SSL代理中,这样才能被Charles识别并解析。
  小明:哇,是我太心急了,现在不出现乱码了。
  其他
  重定向
  Charles的重定向功能分MapRemote和MapLocal两种,顾名思义,MapRemote是将指定的网络请求重定向到另一个网址请求地址,MapLocal是将指定的网络请求重定向到本地文件,下面用一个例子具体说明一下。mapLocal先保存接口返回数据(右键单击某接口保存为html格式,如下图)
  对本地的html进行修改
  设置charles进行maplocal
  此时再次请求百度
  在Charles的菜单中,选择ToolsMapRemote或MapLocal即可进入到相应功能的设置页面。mapRemote设置参数ToosMapRemote
  查看访问结果,你会发现,www。baidu。com会被重定向到www。sougou。com
  Rewrite功能
  Rewrite功能功能适合对某一类网络请求进行一些正则替换,以达到修改结果的目的。打开ToolsRewrite,对内容进行替换,下面把页面中我的关注替换为霍格沃兹
  再次申请百度
  总结
  剧情反转时刻来了,在文章开头,我留下了四个悬念:fake,stub,mock,proxy。这三个是对charles功能的抽象,为什么这么说呢?fake:表示造一个假的,但可以work。比如用hashmap算法替代数据库,一样可以查询修改数据。charles利用了mapremote实现fake操作。
  stub:对有限的行为作预定义回复,咏春拳的木人桩就是stub,无论怎么打,木桩都是雷打不动。比如无论请求什么,返回都是ok,这是一个十足的骗子,charles利用maplocal实现stub操作。mock:可以理解为更高级的stub,可自定义行为,charles利用rewrite实现mock操作。proxy:代理。charles利用反向代理实现proxy操作。
  cahrles是一位称职的网络管理员,本文章从界面到重要功能,系统的介绍了charles工具的使用。
  使用charles,你不仅可以在电脑端收发网络数据,甚至可以在手机端收发网络数据。每个学习者都是小明,对新软件充满了好奇,但现实中是没有charles先生的,所有的疑问需要自己探索,自己学习,只有自己动手得到的,才是自己的。
  公众号搜索:TestingStudio霍格沃兹的干货都很硬核

三星电子大中华区总裁崔胜植满足中国消费者多元化需求北京商报讯8月26日,三星电视2022年战略新品发布会成功举办,共发布了全新的MicroLEDNeoQLED和Lifestyle系列新品。据悉,三星新品电视采用全新Tizen系统,2021年中国经济发展新动能指数增长35。4据新华社北京8月31日电(魏玉坤欧立坤)记者31日从国家统计局获悉,2021年我国经济发展新动能指数为598。8,比上年增长35。4,以新产业新业态新模式为主要内容的新动能实现稳步苹果发布会官宣!mini版iPhone何去何从?小屏手机还得看国产品牌作为今年下半年手机圈内最受瞩目的盛会,苹果秋季发布会也不再跟大家打哑谜兜圈子,直接宣布将于北京时间2022年9月8日凌晨1点正式拉开发布会的帷幕,届时将陆续发布最新款iPhone1但斌多只产品触及预警线,这家百亿私募回应今年行情都不好本文来源时代财经作者刘子琪今年的挑战比2008年和2015年都大。今年5月19日,但斌在东方港湾马拉松19号产品回顾与展望的路演上这么说道。作为曾获得复制巴菲特最成功的中国人这一称寻找外星生物的新手段光学观测外星植物光是在可见光波段表现出来的一种电磁波。一般来说,我们看到的太阳光,或者灯泡发出的光都是没有偏振的,也即它们是在各个方向上振动的电磁波。另一方面,偏振光的振动就仅限于特定的某些方向。电商平台约定超时赔付,引来外贼和内鬼合谋薅羊毛38万余元近年来,不少电商平台为提升顾客满意度,纷纷推出超时赔付服务。然而,这一原本用于吸引并方便买家的功能,却被买家何某及电商平台内鬼徐某王某钻了空子。三人里应外合,利用所在电商平台的规则九典制药最新公告公司产品瑞舒伐他汀钙片拟中选渝川蒙鄂滇藏陕宁联盟地区的集中带量采购九典制药公告,公司产品瑞舒伐他汀钙片拟中选渝川蒙鄂滇藏陕宁联盟地区的集中带量采购。截至2022年9月13日收盘,九典制药(300705)报收于18。34元,下跌0。22,换手率0。windowspc付费软件推荐steam平台提到steam,大家并不陌生,没错,就是那个由G胖加布纽维尔(GabeNewell)的v社建立起来的综合发行平台。综合发行平台?没错,大家可能只注意到最耀眼的游戏界面了,而忽略了旁Xbox云游戏即将支持鼠标和键盘串流服务Xbox云游戏即将添加对鼠标和键盘的支持。多年之前Xbox主机已经添加了键鼠支持。Xbox一名软件工程师MorganBrown在最近的直播活动上确认了这一令人期待已久的功能1。5T性能强悍,外观设计时尚,大众TROC探歌300TSI申报图曝光各位老司机们,大家好!请点击关注汽车行业情报站,第一时间了解最新的汽车资讯,在这里轻松读懂汽车!近日,情报君从相关渠道获悉,大众TROC探歌300TSI申报图曝光。基于曝光的申报图森林狼新星正式道歉!曾在社媒使用不当言论他将被联盟罚款或停赛北京时间9月12日,森林狼新星爱德华兹更新社媒,为自己的不当言论正式道歉。此前,他曾在IG故事中分享了一段视频,视频中包含有反同性恋言论和种族歧视言论。美媒认为他将被联盟罚款或者停
拔智齿后的饮食食谱拔智齿是一种常见的牙病,主要由于智齿发育不良,而导致牙龈出血口腔感染牙齿松动或倾斜等问题。在手术拔除之后,应该注意正确的饮食习惯,以帮助伤口愈合。1。首先要注意食物的温度,不宜太冷请停止你的焦虑,这些揠苗助长的行为一定要避免!有人说,孩子是父母生命的延续,他们带着父母的期盼来到这个世界上,生来就注定负重前行,此所谓望子成龙,望女成凤。那些对自家孩子抱有过高期望的家长,往往容易产生焦虑情绪。生怕孩子一不小在焦虑的人生谷底,用知觉觉悟觉行,实现生存逆袭爸爸,你在头条上写文章,为了什么?女儿的问题,让我陷入深思!最初写文章,纯粹表达自己观点。后来有了收益,虽少的可怜,但得到认同,也乐此不疲。现在,废寝忘食的坚持,变成一种习惯,一种全红婵丢金情绪失控痛哭,陈若琳尽力了,周继红知道该咋办了全国跳水冠军赛刚刚就结束,万众瞩目的全红婵让我们失望了。比赛中207C动作出现严重的失误,痛失大好的局面,被陈芋汐逆转反超。全红婵赛后也是扑倒了师兄谢思场的怀中,这一刻也是感动了无redhat6。4升级opensslopenssh(修复漏洞)环境redhat6。4准备安装包openssh6。0p1。tar。gzopenssl1。0。1u。tar。gzpam1。1。113。el6。x8664。rpmpamdevel1。1python100天71sin正弦函数和fillbetween填充一块区域先看一图形,正弦函数和颜色填充代码如下Createdon2023年3月22日authoradminimportmatplotlib。pyplotaspltimportnumpyas多措并举降低融资成本贷款市场报价利率连续7个月保持不变降准之后,降息的话题有着较高市场关注度。3月20日,中国人民银行授权全国银行间同业拆借中心公布,新一期贷款市场报价利率(LPR)为1年期LPR为3。65,5年期以上LPR为4。3,四海失利,果麦文化2022年净利润降三成,前十大股东半数已减持3月21日,果麦文化(301052。SZ)低开高走,当日报收27。8元股,涨幅3。54。前一日晚间,果麦文化发布了最新年报,从关键业绩指标看,公司2022年营收仅同比微增,净利润下揭秘山西太原第2大财团发家史超40家公司实控权,年入174。95亿太原,古称晋阳,别称并州龙城,山西省辖地级市省会型大城市,是中国重要的能源重工业基地之一。位于山西省中部晋中盆地北部地区,三面环山,黄河第二大支流汾河自北向南流经,自古就有锦绣太原财说中国铝业季度首亏,铝周期拐点来临界面新闻记者陶知闲界面新闻编辑陈菲遐中国铝业(601600。SH)2022年的期末考并不合格。这家铝行业绝对龙头公司去年营收2909亿元,同比减少2。64归属净利润41。92亿元,迈向工业万亿俱乐部,珠海如何发力?南都讯一季度新开工项目186个,总投资916亿元,全年计划实施重大项目510个,总投资7708亿元打造大平台,首个5。0产业新空间实现开园即投产冲刺工业总产值万亿俱乐部,珠海制造业
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网