热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

自动化测试第二节jmeter关联+抓包+python基础

1、jmeter关联:从上一个请求中获取返回值提供给下一个请求使用2、解决jmeter乱码问题:打开apache-jmeter-2.11\bin\jme

1、jmeter关联:从上一个请求中获取返回值提供给下一个请求使用


2、解决jmeter乱码问题:
打开apache-jmeter-2.11\bin\jmeter.properties文件,搜索“encoding”关键字,找到如下配置:
# The encoding to be used if none is provided (default ISO-8859-1)
#sampleresult.default.encoding=ISO-8859-1
将注释删掉,并改成utf-8编码,即:
The encoding to be used if none is provided (default utf-8)
sampleresult.default.encoding=utf-8
重启JMeter即可

3、实现Jmeter关联----JsonPath:(返回值是json串时才可用)

DestinationVariable Name随意填写,表示返回值的参数化
Default Value随便填写
JSONPath Expression填写需要获取的返回值,格式为$.parameter
在需要传这个返回值的其他接口中,传这个返回值的参数化变量${DestinationVariable Name}即可-----如${ninanie}


4、实现Jmeter关联----正则表达式方式:

引用名:正则表达式参数化的名称
正则表达式匹配:"token": "(.*?)"------(.*?)表示要匹配的值,括号左右分别为值的左右两边的显示
模板:固定值
匹配数值:1表示有多个匹配值时取第一个
缺省值:匹配失败时默认取的值



5、jmeter添加压力机:
1、谁的电脑做压力机,就把谁电脑上的jmeter-server.bat启动
2、这两台电脑要能ping通
3、在配置文件中加入这个IP,jmeter.properties,搜索"remote_hosts",如"remote_hosts=localhost:1099,192.168.2.119:1099"(端口号默认为1099)
4、重启jmeter
5、若有参数化的文件,则在压力机的同样目录下也必须有这个文件
运行压力机:


6、jmeter在linux运行:
1、先把jmeter上传到linux
2、把在window上做好的脚本上传到linux上面
3、执行shell脚本:./jmeter.sh -n -t class two.jmx -l response.jtl
(-n代表以没有图形化界面启动,-t代表后面是测试脚本,class two.jmx是jmeter脚本(不在当前路径下执行时此处填写文件的绝对路径),-l代表测试结果,response.jtl是测试结果文件)
4、看结果的话,需要将response.jtl下载到本地,然后在jmeter下添加聚合报告,浏览导入该文件即可

7、抓包:修改抓包的请求和返回
常用抓包工具:charles,fiddler

找到要拦截的位置,加入断点进行拦截:

 


再次通过浏览器发送一个http请求
编辑请求的url后点击Excute:(拦截请求并修改请求信息,执行后发送修改后的请求)

 


编辑返回的信息后点击Excute:(拦截response并修改返回信息,执行后返回修改后的响应结果)

 

8、配置http代理:

服务器主机名写电脑IP,端口默认8888
手机配置代理后,可以使用抓包工具进行抓包(手机和电脑需要在同一个局域网中)
https的请求都是加密的,请求和返回数据都无法看到,需要安装证书后才能看到



9、python基础
语言类型:
编译型语言:C、C++、C#(运行速度相对解释型语言来说更快)
解释型语言:python、java、perl、shell、ruby、php

从coding网站下载项目代码的方法:


上传到coding代码:
点击右上角的绿色图标

---弹框中选择commit and push(commit message必填),最后点击push即可

Python语言规范:

快速注释:ctrl+/

快速复制:ctrl+d

字符串有双引号有单引号时,可以用三个引号括起来,如print('''let's go,"nina"''')

字符串格式化,%s表示一个字符串,%d代表后面要加整数,%.2f表示后面要加2位小数,如print('我的年龄是%d,我有%d的钱' % (age,money))

使用input接受的数据类型都是字符串

定义变量,如name = "nina"

强制类型转换,如age = int(age)

连接字符串使用加号,如print(truename+'说'+say)

如果用while循环则必须有计数器,如:

i = 0
while i<10:
......
i&#43;&#61;1
......

continue:结束本次循环,即跳过这次循环&#xff0c;继续进行下一次循环

break:立即结束循环&#xff0c;break之后的代码不会再执行

随机产生一个1到100的整数:导入random后&#xff0c;src_num &#61; random.randint(1,101)

 

 

 

 

 

 

 

 

 

 

转:https://www.cnblogs.com/ninanie/p/7550234.html



推荐阅读
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 图像因存在错误而无法显示 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • php支持中文文件名
    2019独角兽企业重金招聘Python工程师标准大家可能遇到过上传中文文件名的文件,或者读取中文目录时不能读取,出现错误的情况这种情况是因为php自动将中文字符转成了utf8 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
author-avatar
愚木小三_563
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有