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

重庆川九建设有限责任公司官方网站湖北seo优化诊断

重庆川九建设有限责任公司官方网站,湖北seo优化诊断,网站建设ppt演示文稿,怎样在阿里做网站目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 背景描述 项目要…

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

背景描述

项目要使用postman进行接口测试。

接口所需参数有:
appid:应用标识;
sign:请求签名,需要使用HMACSHA1加密算法计算,签名串是:{appid} u r l {url} url{stamp};
stamp:这个是时间戳;
option:业务参数;

问题是怎么在Postman发起请求时根据参数动态构建签名(sign)?

postman的脚本库中CryptoJS是支持各种算法的加密,包括HMACSHA1,签名算法有了。

难点是获取url中的path参数,当发起一个请求时开始可以固定一个path值的,自动化测试需要执行时获取path值,怎么获取呢?

1、创建一个GET请求

postman基础用法就不介绍了,先创建一个GET请求,URL中有配置各种动态参数

{{变量名}} :postman引用环境变量的语法;
{{$guid}}:postman预定义的环境变量用于获取一个GUID值;

在这里插入图片描述

2、在pre-request scripts构建签名

pre-request scripts 是个javascript执行环境,在请求发送之前执行;把他当做js用就行,不过有的js库是不支持的。

接下来就是动态获取签名了

1)appid环境变量中配置的固定值

2)stamp时间戳获取

//获取unix时间
getUnixTime:function(){return Math.round(new Date().getTime()/1000);
}

3)url值可以通过request.url获取然后解析出其中的path

//获取url的path部分
getUrlRelativePath:function(url){var arrUrl = url.split("//");var start = arrUrl[1].indexOf("/");var end=arrUrl[1].indexOf("?");var relUrl = arrUrl[1].substring(start,end);//stop省略,截取从start开始到结尾的所有字符console.log(relUrl);return relUrl;
}

4)构造签名串,使用秘钥加密即可

postman提供的加密算法库并不一定所有都支持,有时候需要向后台去换取签名;

var host=pm.environment.get("host");
var text=encodeURIComponent(plain);
pm.sendRequest(host+"/FaceIn/ToHmacsha1?plain="+text+"&secret="+sercret, function (err, response) {var json=response.json();//签名含有+等特殊字符需要url编码pm.environment.set("sign",encodeURIComponent(json.result));
});

签名串最好进行URL编码。

遗留问题:向后台换取签名的时候起初是返回字符串responsejson()解析不了的!

5)使用eval将定义的变量postmanUtil注入全局变量中然后调用

eval(environment.postmanUtil);
postmanUtil.setLsdzSign();

结果如图:

在这里插入图片描述

代码如下:

var postmanUtil={//获取unix时间getUnixTime:function(){return Math.round(new Date().getTime()/1000);},//获取url的path部分getUrlRelativePath:function(url){var arrUrl = url.split("//");var start = arrUrl[1].indexOf("/");var end=arrUrl[1].indexOf("?");var relUrl = arrUrl[1].substring(start,end);//stop省略,截取从start开始到结尾的所有字符console.log(relUrl);return relUrl;},//签名setLsdzSign:function(){var appid=pm.environment.get("appid");var sercret=pm.environment.get("appsercret");//时间戳var time=postmanUtil.getUnixTime();pm.environment.set("stamp", time);//地址 获取当前地址的path部分var path= postmanUtil.getUrlRelativePath(request.url);console.log(path);var url=path;var plain=appid+"$"+url.toLowerCase()+"$"+time;var hmac = CryptoJS.HmacSHA1(plain, sercret).toString(CryptoJS.enc.Base64);//获取签名,CryptoJS.HmacSHA1 无法满足签名算法只能从后台var host=pm.environment.get("host");var text=encodeURIComponent(plain);pm.sendRequest(host+"/FaceIn/ToHmacsha1?plain="+text+"&secret="+sercret, function (err, response) {var json=response.json();//签名含有+等特殊字符需要url编码pm.environment.set("sign",encodeURIComponent(json.result));});}
}
eval(environment.postmanUtil);
postmanUtil.setLsdzSign();

3、脚本写在环境变量中

在Pre-request Script写上面代码,要是单个接口还是可以的,即使很多接口只要Copy一份即可。

万一脚本需要改麻烦就来了,你需要去每个请求的 Pre-request Script窗口改,怎么解决呢?

可以解决,将postmanUtil定在ENVIRONMENT中就可以了。

做法如下:

在这里插入图片描述

其实就是将postmanUtil放入环境变量了,其它没有变,只要维护环境变量里的值就OK了,不用一个个去改。

再看pre-request script代码,这样就简单多了:

在这里插入图片描述

4、postman console的用法

不知道是否成功获取了环境变量,又或者想查看某个变量的值,postman也提供了很方便的控制台查看,菜单View下Show Postman Console可以打开如下控制台:

在这里插入图片描述

图中是console.log(sercret) 和 sendRequest()的结果

5、Collection Runner 自动化API测试

1)创建接口的测试用例

对于返回html的结果,只要测试body中包含某个值就算通过

在这里插入图片描述

对于返回Json结果,只要Code为0即为通过

在这里插入图片描述

窗口右侧有常用的脚本快捷操作,选中就可以生成,很方便

2)选择并运行自动化接口测试

点击主页左上角Runner进入,选择之前构建好的接口,并选择好环境,点击Run xxx 接口运行脚本测试

在这里插入图片描述

3)测试结果

可以看到结果2接口都成功返回预定的结果

在这里插入图片描述

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

无论现在的起点有多么低微,只要你有追求,愿意努力,相信并坚持自己的能力,你一定能创造出属于自己的辉煌,让梦想的火焰燃烧不灭!奋斗吧,勇敢的心!

奋斗是生命的底色,努力是成功的密码。不畏艰辛,放眼未来,勇往直前,追求卓越。用行动书写辉煌,用奋斗点亮人生,成就自己,创造无限可能!

只要心怀梦想,努力不懈,每一步都是向前的动力。成功需要时间,奋斗需要坚持,但只要你相信自己,勇往直前,未来的辉煌将属于你!

http://www.yayakq.cn/news/643552/

相关文章:

  • 怎么给自己的网站做seowordpress高亮插件
  • 如何做论坛网站 知乎贵阳网页网站制作
  • 长宁网站制作wordpress导航怎么改
  • 购物网站建设论文答辩网站一直没有收录
  • 廊坊手机网站做冰饮视频网站
  • 西青房地产网站建设网站建设是在商标哪个类别
  • 自定义投票网站怎么做建网站程序怎么办
  • 免费做团购网站的软件好中国十大erp公司
  • 美食网站建设的思路广告制作技术培训
  • 百度推广代理赚钱湖南seo网站策划
  • 凡科手机网站建设wordpress内页显示副标题
  • 手机网站前wap网页编写
  • 网站开发界面设计网站后台上图片后网页显示不正确
  • 做网站价钱seo的网站特征
  • 黑龙江网站建设费用搜索电商怎么做
  • 江门网站定制多少钱lnmpa wordpress
  • 初学者怎么做php网站网站策划书包括哪些内容
  • 网站浏览量提升论述网站建设的主要内容
  • 做网站公司599公司免费网站域名注册
  • 域名解析到网站佛山公司做网站
  • 网站建设方案拓扑图苏州企业网站建站系统
  • 做网站一般要多钱建网站要多少钱一个
  • 微信公众号怎么做微网站备案网站电子照幕布
  • 福州建设银行官网招聘网站聊城专业做网站的公司
  • 广西来宾网站网站建设长沙网站推广和优化
  • 新手做网站优化怎么做如何进行产品开发
  • 关于做ppt的网站有关建设旅游网站的公司
  • 网站建设多少钱信息零基础网站建设教学培训班
  • 淘宝客建设网站首页wordpress 主题 新闻_
  • 虚拟主机安装网站做电力招聘的有哪些网站