深圳宝安沙井网站建设网络营销怎么做有效

当前位置: 首页 > news >正文

深圳宝安沙井网站建设,网络营销怎么做有效,云南网络营销公司,无锡网站推广九、接口测试 9.1 接口测试怎么测 #xff08;jmeter版本#xff09; 首先开发会给我们一个接口文档#xff0c;我们根据开发给的接口文档#xff0c;进行测试点的分析#xff0c;主要是考虑正常场景与异常场景#xff0c;正常场景#xff0c;条件的组合#xff0c;…九、接口测试 9.1 接口测试怎么测 jmeter版本 首先开发会给我们一个接口文档我们根据开发给的接口文档进行测试点的分析主要是考虑正常场景与异常场景正常场景条件的组合参数的格式校验等价边界值;异常场景多一个参数少个必填参数参数为空;接着编写测试用例用的 Jmeter工具去运行创建线程组建立http请求输入测试用例请求参数建立察看结果树运行看返回的结果是否跟接口文档里面要求的返回结果一致其他用例值需要修改里面的参数请求地址这些信息。 举例说明(不要登录跟注册) 比如说原来我们做一个申请借款的接口对接口进行测试分析考虑正常场景与异常场景正常场景考虑不同参数组合比如说不同借款方式还款期限还款曰期借款的利率等参数组合;也要测试每个参数格式校验异常场景多一个参数少一个必填参数比如没有借款的利率参数为空的比如借款标题为空编写测试用例 b站最牛Jmeter接口测试和Jmeter接口自动化测试全集_哔哩哔哩_bilibilib站最牛Jmeter接口测试和Jmeter接口自动化测试全集共计100条视频包括jmeter【接口测试分类】、jmeter【目前接口架构设计】、jmeter【市面上的接口测试工具】等UP主更多精彩视频请关注UP账号。https://www.bilibili.com/video/BV1hq4y1K75i/?spm_id_from333.999.0.0 在 jmeter中执行填写参数更地址就ok发送请求 python  request 原来我们接口主要是用的 python requests去运行的 首先开发会给我们一个接口文档拿到接口文档后我们就进行测试点的分析 考虑正确场景条件的组合 异常场景多一个参数少一个参数参数为空的情况 比如原来我们做一个生成订单的接口考虑正常场景异常场景 正常场景就是不同的订单类型订单金额能不能申请订单每个参数的格式类型的校验 异常场景多一个参数少一个必填参数的时候还有参数为空的情况 原来我们是用 python request去做的接口 首先导入 request包 建立一个 headers保存请求头的信息因为订单请求方式是post类型数据格式是form表单格式我们把数据保存到data的字典里面 这个时候我们还需求登录的 cookie值跟登录后产生的 token值 我们会去通过动态关联去获取登录的 token跟 cookies cookies值的话我们是直接调用登录返回的 cookies、token值的时候我能是通过导入re模块通过正则表达式去提取 当参数 headers、cookies输入完成以后我们就发送请求打印返回结果检返回结果是否跟我们测试用例一致 当运行其他测试用例时我们去修改data里面的参数就行在发送请求 有的请求时htps协议的时候我们发送请求的时候还会very false去忽略掉证书验 证对应多个接口调用 cookies我们会用到 session去保存接口发现比较多的问题就是格式校验这块 比如说我们提交订单订单数据没有显示订单格式也没有显示输入字母汉字都可以 订单类型为空也会生成订单成功 我觉得接口可以发现接口更多的bug还可以提早进行测试提高测试的质量 9.2  两个接口有关联 jmeter具体怎么做 另外两种问法上个接口的返回值是下个接口的请求参数这种如何处理?动态关联有没有了解过? 这个涉及到动态关联首先要搞清楚后一个接口需要用到上一个接口的什么数据例外要看数据是在哪里取的是在head还是在body里然后如果要取的数据是json格式我会在发请求用json提取器去取这个数据如果是其他格式的就用边界提取器或正则表达式去取数据 就拿我当时做的那个下单接口来说吧因为下单接口需要先登录需要用到登录接口的 cookies来做鉴权首先就是把登录接口调试通过然后在登录接口的http请求中添加一 个边界值提取器或者也可以用正则表示式提取器去提取登录接口的响应头中的 cookies值 然后在下单接口中需要添加一个http cookies管理器在http cookies管理器中引用登录 接口提取出来的 cookies这样就可以了 如果是不同的线程组的话那在登录接口中还得添加一个 Beanshell取样器在 Beanshell取样器中利用函数助手中的 SetProperty()函数把提取出来的 cookies设置为全局变量然后在下单接口的http cookies管理器中利用函数助手中的Property()函数引用登录接口中设置的全局变量这样就可以了。 9.3 接口测试主要目的是什么? 例外两种问法接口测试的价值意义?为什么要做接口测试? 主要就是验证后台服务端的业务逻有没有问题提高测试的效率 ①越底层发现bug它的修复成本是越低的 ②前端页面修改频繁情况下接口测试不受页面元素改变而影响 ③检查系统的安全性前端传参不可信比如京东购物前端价格不可能传入-1元但是 通过接口可以传入-1元 ④如今的系统复杂度不断上升传统的测试方法成本急剧增加且测试效率大幅下降接口自动化测试可以提高测试效率 ⑤接口测试相对容易实现自动化持续集成且相对U自动化也比较稳定可以减少人工回归测试人力成本与时间缩短测试周期 9.4  接口测试的流程 1首先分析开发给到的接口文档 2接口文档分析完成编写测试用例 3然后借助接口测试工具去测试执行测试用例 4发现bug提交bug并跟进bug修复 9.5  接口测试和平常的Ul测试有什么区别? 其实这两者测试的侧重点是不同的接口因为没有界面更多考虑后台服务器对请求的处理逻辑问题业务交互检测的是后台“容错机制”是否完整 而ui更多会去关注页面展示数据转换界面排序这些功能当然也会后台数据处理的问题ui测试其实已经包含了接口测试。系统功能的用例更全面不仅有界面的也有业务功能用例还有其他用户场景的用例功能入口用例流程用例而接口测试主要根据各种入参场景来设置用例。 9.6  给你一个新的接口你怎么去设计用例? 首先要对于每个要测的接口都要先搞清楚这个接口的功能它的作用是什么熟悉这个业务功能需要用到什么协议请求方式是什么接口有哪些参数。对于每个参数的作用都要搞清楚像数的类型是否有约束限制是否为必填的长度其他的限制等等如果两个参数之间有关联我们还要考虑参数的组合场景对于参数不理解的一般都会跟开发沟通下然后考虑返回数据的类型返回数据中的返回码和返回信息是什么通过以上几个点去提炼测试点设计用例。 参数约束——长度、必选项、格式、数据类型 业务场最——正确的业务场景;错误的业务场景异常场景服务器空间不足 组合场景——相互依赖手机和验证码、用户名和验证码 相互排斥二选一当然还有边界值等价类等等 Jmeter测试流程步骤如下 创建 jmeter线程组一添加HPPT请求-输入协议-域-端口-路径-编码-请求方式-请求参数-启动 Jmeter测试流程 先需求再根据需求写测试点转换成测试用例根据测试用例编写测试脚本执行测试脚本 提交BUG跟踪BUG 9.7  接口文档主要包含哪些内容? 接口文档一般两种形式的要不就是word版本的要不就是htm的形式具体内容 1URL(接口地址) 2接口功能 3请求方式post 4请求参数以及接口中每个参数的详细说明类型是否为必填约束条件等等 5响应数据及格式返回码返回码解释等等 9.8  你们什么时候测试接口 一般有需求就会做后台的接口开发好就可以开始测。例外如果增加了新需求也要做接口测试还有就是开发对后台的接口做了修改交互逻辑发生变化我们也要重新对接口进行测试。 9.9  你怎么去检查分析 我们主要是根据入参情况去看接口的返回值对于返回值我主要关注的几个点1.状态码 2.提示信息3.返回数据的具体内容。根据接口文档的说明去检查这个3个点是否满足接口需求文档4.有些如果要检查数据库的就连接数据库获取数据与返回的数据做对比。 如果不满足就是有问题如果满足则通过如果有Bug我们会先大概分析下是什么原因 并进行复测如果还是有问题提交Bug给开发让开发修复之后再回归测试 9.10  什么是api接口测试 接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点测试的重点 是要检查数据的交换传递和控制管理过程以及系统间的相互逻辑依赖关系等 9.11  什么情况下开展接口测试? 1、项目处于开发阶段 2、有接口需求文档开发已完成联调功能测试展开之前 3、专项测试参数约束测试业务场景测试测试接口请求响应时间性能 4、版本上线前进行整体回归测试查看接口是否有异常(如404等) 9.12  依赖于第三方的接口如何测试 1需要第三方接口的接口文档 2发送请求到第三方接口检查第三方接口返回的数据是否正确 3不正确的时候要跟第三方接口联调看是请求问题还是第三方接口返回数据有误 这个我们公司的第三方接口我们都是打通的比如电商我们通过调用微信接口等等都是打通的比如要测试下单第三支付我们自己开店收款设置我们自己的账号然后通过商品设计1分钱去测试的。 如果不打通的话基本也只能抓包主要保证我们发送出去的数据符合需求文档就行然后真正的上线之前我们会在预生产环境做一个联调测试把各自系统连在一起做一个联调测试没有问题了 我们就可以上线基本就这么做的 联调测试怎么做的 其实联调测试就是数据拉通测试两个子系统连在一起形成一个完整的系统然后从上游下数据下游接到数据看传过来的数据是否符合下游的系统要求然后下游做了操作把数据返回给上游通知上游说数据返回了上游看返回的数据是否符合要求如果没有问题就这个数据就拉通成功这个都是按照用例来执行上游和下游一起出一份用例两边都评审通过然后按照测试用例执行每条用例测试通过那么联调测就完成了。 9.13  你们接口怎么鉴权的? (1)通过用户和密码auth鉴权 (2)通过 cookie和 session (3)通过 token (4)通过sign签名 现在app一般是通过 token鉴权有些是通过把 token放在请求头里面有些是通过 singn签名这个字段放在body里面去鉴权的一般的web是通过 session去鉴权的 9.14  接口传输格式有哪些 常见的媒体格式类型如下 text/htmlHTML格式 text/plain纯文本格式 text/xmXML格式 Image/gifgif图片格式 mage/jpegjpg图片格式 Image/ngpng图片格式 以 application开头的媒体格式类型 application/xhtm xml XHTML格式 application/mlXML数据格式 application/atom xml Atom XML聚合格式 application/jsonJsoN数据格式 application/pdfpdf格式 application/mswordWord文档格式 application/octet-stream二进制流数据(如常见的文件下载) application/x-www-form-urlencodedencodedform encType””中默认的 encType,form 表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式) 另外一种常见的媒体格式是上传文件之时使用的 multipart/form-data需要在表单中进行文件上传时就需要使用该格式 9.15   cookie、session、token的区别 它们都是用来做鉴权的区别的话大概是这样的 1、现在 cookie、session一般是配合使用的用户第一次登陆时服务器会创建一个 session 生成一个 sessionIDsessionID保存在 cookie中然后返回到客户端保存在浏览器中。 客户端每次发请求都会把这个值带到服务器做一个鉴权和会话的跟踪或者时效的验证 2、token和 cookie、session差不多通过算法每次验陆会产生一串很长的随机字符串一般是在放在返回的body里面或者返回的头里面他们都是服务器产生带过来是要做验证和时效的验证的。一般在app中使用token比较多一点Web端使用cookie、session的鉴权方式会多一点。 9.16  接口测试的工具有哪些? Fiddler抓包工具也可以做接口测试 Postman接口测试工具支持接口自动化测试 wireshark支持电脑上各种协议的抓包工具主要常见有http和tcp抓包 Soapui功能强大的接口测试工具性能测试接口自动化测试 javahttpclient.jar java代码实现接口自动化测试一般需要借助单元测试框架junit和 TestNG接口自动化测试框架设计javahttpclientTestNG Python requests  python代码实现接口与接口自动化测试测试框架 unittestpytest 接口测试框架设计 python requests unittest htmlTestRunner或者python requests pytest Loadrunner接口自动化测试接口性能测试(主要) jmeter接口测试接口自动化测试接口性能测试(主要) Swagger编写在线接口文档在线接口测试 9.17  jmeter环境搭建 (1)安装jdk(java运行环境) (2)安装 jmeter 9.18  接口工具 jmeter用到哪些组件具体作用 取样器: http请求 向服务器发htp请求 JDBC Requst 向数据库发请求 Debug Sampler 调试看执行过程 Bean Shel取样器 把某个变量设置定位全局变量 后置处理器: 正则表达式提取器 #提取接口的响应内容或请求内容中的数据具体要提什么数据根据需求来比如我们充值接口依赖登录接口需要用到登录 接口的 cookie需要提取 cookie 边界值提取器 JSON提取器 Bean Shell Post Precessor #在请求结束之后需要做的某些事情 比如转码 断言   #检验结果验证本接口是否有问题 响应断言 Json断言 配置元件: CSV data Set Config #读取CSV文件txt文件 JDBC Connection Confiquration #连接数据库 Http Cookie管理器 HTTP信息头管理器 用户定义的变量 计数器 定时器: 同步定时器主要用来设置集合点 监听器: 查看结果数 9.19  jmeter原理是什么 jmeter做接口测试其实就是模拟前端向后台发请求它是通过线程来模拟真实用户对web服务器的访问压力。基本原理是建立一个线程池多线程运行取样器产生大量负载在运行过程中通过断言来验证结果的正确性可以通过监听来记录测试结果 9.20  上传文件的接口用 JMeter怎么做 另外一种问法有没有做过文件上传的接口具体怎么做? 要测试上传文件的接口在JMeter的http请求这个组件中传递请求参数的栏目中专门提供了一个用来文件上传的在这里面需要填写几个内容一个就是文件的路径还有一个就会参数名称还有就是MlME类型也就是指定要上传的文件的类型这样就可以了。 9.21  对于POST请求要求传递Json格式数据 JMeter怎么做 对于这个其实在 JMeter的http请求这个组件中的参数配置栏目中第二个栏目有个消息体数据我们把需要上传的参数组装成json格式然后编写到 body data里面然后需要在http信息头管理其中需要将数据格式设置为json格式这个就是设置Content-Type 为 application/jsoncharsetutf-8这样就可以了。 9.22  对于需要加密的请求参数 JMeter如何处理? 这里首先让开发给我们写一个加密解密的jar JMeter直接调用这个jar进行加密解密处理 1、首先需要将开发给到的加解密的jar包文件放到 jmeter的lib/ext目录下 2、在测试计划中中有一个 add Directory or jar to classpath在这里指定jar的路径添加需要的jar包 3、在jmeter的前置处理器中添加 Beanshell PreProcessor然后在其中添加java代码 具体就是 a.首先导入需要用到的加密包中的加密算法类 b.如果要对json格式的请求参数加密组装json格式的数据 c.调用加密类中的函数对json格式的参数数据进行加密如果只对具体某个参数加密 那就针对哪个参数加密即可。 d.然后将加密之后的数据保存到 jmeter的一个变量中就可以了 4、最后直接在消息体中引用这个变量就可以了 具体代码如下 Jmeter调用 mport com changfu EncryptAnd Decryptinterface;  #导入加密类 String json_str  {\Username:\amycheno2\password\F59BD65F7EDAFB087A81D4DC AO6c4910\,\deviceNo\,\35584806988942); #请求的参数 调用加密类中的函数对请求参数实现加密处理。 String enpost EncryptAndDecryptinterface.getEncryptPost(json_str);   #将请求参数加密 vars put(enpostenpost); #将加密处理后的数据存到 jmeter变量中 9.23  如果接口返回的数据做了加密处理的如何进行断言? 这里可以采用 Beanshell断言 1、首先得让开发写一个解密的jar包然后把jar包放入到 JMeter的 JMeter的lib/ext目录下 2、然后在测试计划中有一个 add Directory or jar to classpath在这里指定jar的路径添加需要的jar包 3、在 JMeter中添加 Beanshell断言里面实现java代码具体过程就是 a.导入解密的jar包中的解密算法类 b.导入用于解释json格式数据的类(假设返回的数据是json格式的) c.对数据进行处理器,首先获取接口的返回数据然后调用解密算法类中的函数进行解密解密出来后就是一个json格式数据 d.然后调用json库中的函数对json数据进行解释提取其中需要断言的字段判断与预期结果是否一致就可以了 具体代码 1、在http请求-→添加-→断言-→bean shell断言 //导入jar包的 EncryptAndDecryptinterface类 import com changfu EncryptAnd DecryptInterface; //导入jar包用于解释json格式数据的类 import org.json.JSONObject; //对数据进行处理器 String json_res prev.getResponse DataAsString();/取上个响应信息 String resb EncryptAndDecryptlnterface.getDecrypt(json_res);∥调用解密工具解密 vars.put(resbresb); log.info(解密后的响应信息jsonresb); JSONObject resbonseJson new JSONObject(resb); //解析 json String status_str resbonseJson.get(status) toString();//截取status字段值 vars.put(status_str,status_str); log.info(执行状态 status_str); String result0; vars.put(result_str,result); if(!status_str.equals(result)) {  //响应信息的状态值 status_str不等于0,则断言其他与实际值不一致 Failuretrue; FailureMessagestatuscode与实际值不一致; 实际值为status_str响应信息resb;} 9.24 下一个接口用到上一个接口的数据但返回的数据加密了如何提取? 比如一次登录后做多个接口的操作 然后登录后的uid需要关联传递给其他接口发送请求的时候使用 1、首先得让开发写一个加解密的jar包然后把jar包放入到 jmeter的 jmeter的lib/ext目录下 2、然后在测试计划中中有一个 add Directory or jar to classpath在这里指定jar的路径 添加需要的jar包 3、然后在第一个接口中添加一个 bean shell postprocessor(后置处理器)在后置处理器 中编写java代码具体就是: a.导入解密的jar包中的解密算法类 b.导入用于解释json格式数据的类(假设返回的数据是json格式的) c.对数据进行处理器 首先获取接口的返回数据然后调用解密算法类中的函数进行解密解密出来后就是一个json格式数据 d.然后调用json库中的函数对json数据进行解释提取截取响应信息中uid的值 e.将 uid_str数据存到变量中这里用 props.put其他线程组可调用请该变量 具体代码: mport com.changfu.EncryptAndDecryptInterface; import org.json.JSONArray, import org.json.JSONObject; string json_res prev.getResponseDataAsString();//获取登录请求的响应信息 String resb EncryptAndDecryptInterface.getDecrypt(json_res);//调用解密工具解密对响应信息解密 vars.put(resb,resb); log.info(解密后的响应信息resbresb); JSONObject data_obj new JSONObject(resb); ∥解析json响应信息 String uid_str data_obj.get(result).get(id).toString()//截取响应信息中uid的值 props.put(uid str.uid_str); ∥将uid_str数据存到变量中这里用props.put其他线 程组可调用请该变量 log.info(加密前的uiduid_str); 4、在下一个接口中添加一个用户参数引用上面保存的 uid_str变量 5、然后在下一个接口中添加一个 BeanShell PreProcessor(前置处理器)在其中编写 java代码 具体就是 a.导入解密的jar包中的加密算法类 b.获取登录传递的 uid_str变量 c.调用加密算法中的加密函数对登录返回的uid进行加密处理 d.然后把加密后的数据保存到一个jmeter变量中 具体代码 import com changfu.EncryptAndDecryptInte; String uid_str props.get(uid_str); //获取登录传递的uid_str变量 String enuidEncryptAndDecryptlnterface.getEncryptUID(uid_str)//加密登录返回的uid Vars.put(enuid,enuid); log.info(加密登录后返回的uidenid); 6、最后在下一个接口的参数中引用这个变量就可以了 9.25  jmeter如何去做get请求接口 1、把请求参数填入URL或者把参数填入到 parameter中 9.26  meter如何做json数据格式的接口 1、把参数编写到 body data里面用json格式编写 2、在 headers头里面定义数据格式为json格式 Content-Type application/json;charsetutf-8 9.27  jmeter中 cookies如何添加 添加http    cookies管理器 9.28  jmeter中如何添加 header信息 添加http header管理器 9.29  jmeter中 webserver中soap协议xml格式数据如何测试 1数据格式编写在 body data里面用xml数据格式保存 2http header里面数据格式为xml Content-Type application/soapxml;charsetutf-8 9.30  jmeter 中如何去连接数据库 1测试计划中导入mysq-connecti的jar包 2配置元件中添加 jdbc-connection连接配置连接参数 3取样器中添加 jdbc-request 9.31  jmeter中https证书如何处理 jmeter-option中-ssl证书管理器中导入证书 9.32  http如何进行代理录制接口 首先在 jmeter中有一个非测试计划添加一个http代理服务器代理服务器的端口设置为8888当然也可以选择一个没有使用过的端口就可以了然后启动http代理服务器然后对于要录制web端的接口需要在浏览器设置代理就可以录制默认ip为 localhost端口8888 对于要录制手机端的接口 1.保证手机与电脑在同一个网络 2.设置手机端代理 默认ip为pc机器的ip地址端口8888 9.33  jmeter如何做post请求格式接口 参数填入到 parameter中 9.34  如何搭建 python requests接口测试环境 1安装 pycharm 2安装 python运行环境 3安全 requests包 4pycharm中导入 requests包 9.35  requests如果做get请求数据保存格式哪二种 1保存在ur里面键值对方式发送请求 2保存在参数 params里面 9.36  requests如何做post请求接口 定义URL定义data数据参数用字典格式保存 #表单格式数据请求 import requests #方维的注册接口 url  http://47.95.118.117/fanwe/indexphp?ctluseractdoregister data{‘user name’:’cxy0o3’, ‘mobile’’18312345676’, ‘user_pwd’’cxy1234561’, ‘user_pwd confirm’cxy123456, ‘agreement’’1’, ‘commit’’注册’} rrequests.post(urlurldata data) print(r.text) 9.37  requests上传文件接口如何测试 urlhttp//106.12.126.197/fanwe/file.php data{ upload_type0, localUrlE \fanwe.png, mFile, ado_upload} #文件上传功能files参数编写 files{imgFile(‘fanwe.png’, open(‘E\fanwe.png’,’rb’)image/png)} #fes{‘文件参数的名称’(文件名 open(E\fanwe.png读的属性)文件的类型} rerequests.post(urlurl,datadata,cookieslogin(),filesfiles) print (r.text,type(r.text)) 9.38 有没有做过https接口具体怎么做 https请求时在http请求中多了ssl证书对于https请求的接口 Requests可以为HTTPS请求验证SSL证书就像web浏览器一样。要想检查某个主机的 SSL证书你可以使用veiy参数 处理办法: 1、设置 verify Falserequests请求忽略证书的校验会有警告提示 rrequests.get(https//www.baidu.com’,verifyfalse) print (r.text) 2、在 verify中设置证书的路径 requests.get(https//github.com’,verify’/path/to/证书名字’) 3、 verify默认值为true也可以指定一个本地证书用作客户端证书可以是单个文件(包含密钥和证书)或一个包含两个文件路径的元组 requests.get(‘https//kennethreitz.comcert(‘/path/server.crt/path/key)) 9.39  requests中如何测试json数据的接口 定义参数json #json格式数据请求 import requests Requests可以为 Https请求验证SSL证书就像web浏览器一样。要想检查某个主机的ssl证书你可以使用verify参数 处理办法: 1设置 verify Falserequests请求忽略证书的校验会有警告提示 rrequests.get(https/www.baidu.comverifyFalse print(r.text) 2在verify中设置证书的路径 Requests.get(https// github.com; verify/atho/证书名字) 3very默认值为true也可以指定一个本地证书用作客户端证书可以是单个文件(包含密钥和证书)或一个包含两个文件路径的元组 requests.get(‘https//kennethreitz.com’,cert(‘/path/server.crt,’/path/key’)) 注册接口 import requests Urlhttp//localhost8000/register json{ username:Cxy002 Password:12345 } rrequests.post(urlurl,jsonjson) print (r.text) 9.40  requests中如何添加 cookies 定义参数为 cookies用字典保存 在请求过程中添加 cookies值 requests.post(urlurldatadataheadersheaderscookiescookies) 9.41  requests中如何添加 headers信息 定义参数为 headers用字典保存 在请求过程中添加 headers值 requests.post(urlurldata dataheadersheaderscookiescookies) 9.42  requests中https证书如何处理 https请求时在http请求中多了ssl证书对于https请求的接口 9.43  requests中sign签名与 token如何处理 Token值 token的意思是“令牌”是服务端生成的一串字符串作为客户端进行请求的一个标识。 当用户第一次登录后服务器生成一个 token并将此 token返回给客户端以后客户端只需带上这个 token前来请求数据即可无需再次带上用户名和密码。 简单 token的组成;uid(用户唯一的身份标识、time当前时间的时间戳、sign(签名,token的前几位以哈希算法压缩成的一定长度的十六进制字符串。为防止 token泄露) import requests import re urlhttp//loclhost8000/login Data{ Username:cxy002 Password:123456 } rrequests.post(urlurl,data data) print (r.text,type(r.text)) rkre.findall(token:(.*?),r.text) print(rk) urlhttp://localhost:8000/recharge data( money10000 Serial_number 22222 token rk prequests. post(urlurl data data) print(p.text) sign签名也是一种安全校验 sign的处理一个案例 post请求htps://{url地址}/ index.php/Platen/Card/active 参数: Hotel_store_id0123456 Pack_id4 phone175861263288 sign5dc6331b07fc097d013410353740f8e8168c499a 签名算法: 1.将发送数据按照参数名ASCLL码从小到大排序(字典序)使用URL键值对的格式(如 key value1key2vaue2…)得到str注意sign不参与签名。 2.在str后面拼接key YpLdvl2L3Rc5yYX其中 YpLdvl2L3Rc5yYX为加密密钥 3.对字符串str进行sha1运算得到签名sign def test_xielv(): urlhttps://{url地址}/index.php/Platen/Card/active Json_v{ Hotel_store_id0123456 pack_id4 phone18319011906 } #字典添加新的key Json_v[sign]sign_01(json_v)

print (json_v)打印发送请求的json值

rrequests.post(urlurl,jsonjson_v) print (r.content.decode(unicode_escape)) assert{code1002msgID错误或找不到 data )rcontent. decodeCunicode escape) 9.44  request框架有哪些方法? 像用来发送请求的一般都是调用以下方法 reponserequests.get() reponserequests.post() 获取响应数据一般都是调用以下方法 reponse.status_code reponse.reason reponse.text reponse.json() reponse.headers reponse.cookies 将近几千道题答案太多了这里就展示了其中的一部分如果大家有需要的话可以点击文章末尾的小卡片备注000领取哈 总结下方是作者花费三个月打造的软件测试道测试开发全职业生涯资料包有需要的话可以点击文章末尾的小卡片备注000领取哈