范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

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

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

再过20天,德班世乒赛选拔赛就要开始了,国乒种子选手名单出炉2023年在南非德班举行第57届世乒赛。随着56届世乒赛在成都落下帷幕,国乒今年的比赛也基本告一段落,而所有教练及队员展开了冬训。为2023年世乒赛及马上到来的奥运会备战。最近网络重量级拳坛悍将马克穆多夫一回合3次击倒对手,出拳方式遭质疑在加拿大结束的一场重量级拳坛大战中,素有狮子之称的赛场悍将阿斯兰贝克马克穆多夫,仅仅耗时一个回合,便摧毁了德国老将迈克尔瓦利施,卫冕NABANABF两条拳王金腰带,不过比赛中他的出上午9点!国际足联官宣争议决定,球迷吐槽这是想钱想疯了吗?北京时间12月17日上午9点,世界足坛传来最新消息,日前,国际足联通过官方网站宣布了一则公告,他们表示因凡蒂诺二零一六年至二零一九年执掌国际足联期间不算入任期,而这样的决定也引发了CBA官方积分榜,山东超粤辽,6连胜上海进季后赛区,同曦跌出前12CBA第14轮首日打了6场比赛,还有4场比赛未打。已赛6场中,有4场的分差在4分以内,可见本赛季CBA的精彩激烈程度。最新的CBA官方积分榜上,山东超越广东辽宁,升至第2。一波6连世界杯遗憾淘汰后,巴西队返回国内遭遇球迷如此对待,太吓人了世界杯遗憾淘汰后,巴西队返回国内遭遇球迷如此对待,太吓人了,还有两场比赛,2022年卡塔尔世界杯就将落下帷幕,南美劲旅阿根廷和上届冠军法国队成功会师最终的决赛。让人感到遗憾的是,本世界杯决战倒计时!争夺战今夜打响预测季军克罗地亚冠军法国2022世界杯世界杯上,季军争夺战被有些人认为是鸡肋般的存在,因为两支失去了决赛圈的球队兴致都不会好,但这也大概率是非常精彩的比赛,能够进入四强的球队,技战术水平都毋庸置疑,在不那森林狼送雷霆5连败亚历山大单节23分空砍35分爱德华兹准三双北京时间12月17日,NBA常规赛,森林狼客场112110险胜雷霆,终结3连败的同时送给对手5连败。本场比赛森林狼三大主力唐斯戈贝尔和拉塞尔缺阵,他们最多取得14分的领先优势,但雷中超第32轮赛程全部在23日进行,6场下午场,仅3场晚场北京时间12月17日,中超官方公布了第32轮的赛程,全部安排在12月23日进行,即足协杯第3轮战罢后,各队没有太多的调整时间即投入中超的赛事中。第32轮比赛,只有3场比赛安排在晚间郎平女儿近况30岁气质出众却依旧单身,择偶标准令众人惊讶作为中国女排的灵魂人物,郎平曾带领女排姑娘们攀上了一座又一座高峰,创造了一个又一个奇迹。而不管是运动员时期还是教练时期,郎平都把自己的一腔热血奉献给了中国女排,在她眼里,中国女排早莫言黑暗的人生,我自己把自己拉出深渊莫言曾提到在最黑暗的那段人生,是我自己把自己拉出深渊,没有那个人,我就做那个人。每个人都有自己的一段至暗时刻,你勇敢站起来直视深渊,就不会被深渊吞没。短短一段话,却说透现实。谁的人说句心里话一座城303刚刚其实我也想写一些东西算是一份心情吧!生活中人人行色匆匆,很少有人愿意停下脚步静静地听听心声,何况是个陌生人。感谢有这个平台,可以让自己无拘无束的畅所欲言。现代人的一
国务院国资委曝光528家假央企伪造材料虚假挂靠国务院国资委再掀打假潮,自去年10月对外公告首批353家假冒央企名单后,今年9月20日又发布了第二批假冒中央企业名单,包括宜昌中铁建业康养有限公司中核(山东)城市建设发展集团有限公71岁王石再创业,娇妻相伴,老来得女压力大?千万退休金不够花?万科是国内比较知名的房企,其质量和口碑都不错,这当然离不开创始人王石的努力。成功后的王石顶着压力娶了小30岁的女明星田朴珺,两人在王石70岁时有了个女儿。这样看起来,王石的人生确实美元加息后,大家都在加息,为何我们降息?降息对你我有何影响?加息的事情我说了多次,不打算再说,那就说,为何我们坚持降息?只能说情况不同,目标不一样,方式方法当然也不一样,别人的目标是抑制通胀,所以加息,中国的目标是促进经济发展,所以降息。经三个女人争李嘉诚万亿资产?根本没资产可争,首富早就安排妥当了有媒体一直在说李嘉诚家产的事情,毕竟很多人一直好奇李嘉诚到底有多少钱,也好奇这些家产到底如何分,这段时间更是有人热炒三个女人争李嘉诚万亿资产的事情。所谓的三个女人就是李嘉诚的大儿媳工业互联网小帧探第一季生产效率提升超30!这家智能工厂为橡胶轮胎装备制造注入数字基因迈入工业4。0时代,在智改数转的新赛道上,传统制造业将如何重塑核心竞争力?工厂数据自动采集,设备实时监控,建立工艺设备大数据分析平台在青岛软控机电工程有限公司(以下简称软控)的橡胶三月流焱成长的代价是什么呢?成长的代价是什么呢?笑容少了,熬夜也长了,睡觉也容易醒了。越来越沉默越来越喜欢独处。责任也越来越重了。Whatisthecostofgrowth?Smileless,stayupl吃得多,还消瘦,竟然和早期糖尿病有关大家好,我是中医张玉琴,今天和大家说说早期糖尿病有哪些症状有些早期糖尿病患者无显著症状,有些患者可有乏力三多一少症状,即多尿多饮多食和体重减轻1。多饮由于血糖升高引起渗透性利尿导致出现ED问题,想靠吃来解决?恢复硬度,3步走才靠谱对于中国人,乃至中国男人来说,由于传统观念的影响,羞于谈性是大多数人的心理习惯。很多男性在遇到性功能障碍后,例如勃起功能障碍(ED),往往都想要通过一些手段来悄无声息地解决这一问题C罗0射正,葡萄牙却41大胜瑞典果然,再次果然,日本,塞尔维亚大胜瑞典!9月25日0245,欧国联A级别联赛第5轮,C罗送点助攻,达洛特双响,B费和若塔各建一功,最终葡萄牙客场40大胜捷克,反超西班牙登上小组第一搭档纳达尔最后一战惜败费天王掌声中含泪谢幕费德雷尔和纳达尔以双打组合结束前者生涯最后一战后,都按捺不住情绪落泪费德雷尔和老友纳达尔在巨大的欢呼声中走进球场,虽然没能在最后一场战役以胜利收场,但费德雷尔仍感到满足,他不认为这益博思T8电容笔测评市面上存在各种各样的电容笔,功能似又不似,消费者们使用感受也是各持己见。综合用户的需求,益博思T8电容笔横空出世。本次推出的T8电容笔除原有的倾斜磁吸以及相似的外观之外,连压感蓝牙