zoukankan      html  css  js  c++  java
  • 自动化测试第二节jmeter关联+抓包+python基础

    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+=1
    ......
    continue:结束本次循环,即跳过这次循环,继续进行下一次循环
    break:立即结束循环,break之后的代码不会再执行
    随机产生一个1到100的整数:导入random后,src_num = random.randint(1,101)
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    Linux菜鸟级重点
    在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误
    搭建PHP开发环境
    Struts+Hibernate+Spring实现用户登录功能
    Struts2整合Hibernate3实现用户登录功能
    决战JS(二)
    决战JS
    lightoj-1098
    lightoj-1072
    lightoj-1094 Farthest Nodes in a Tree(求树的直径)
  • 原文地址:https://www.cnblogs.com/ninanie/p/7550234.html
Copyright © 2011-2022 走看看