一、登录

1、          打开jmeter、添加线程组,命名为test,如下图:

2、          添加HTTp默认请求

1)服务器名称或IP:这里只能填写域名或IP地址

2)端口号:配置bugfree时的端口号,通常默认为80

3)添加了该组件后,后面的组件中即可不再重复填写服务器名称或IP

3、          添加HTTP Cookie管理器,test>右击>添加>配置原件>HTTP Cookie管理器

在后面创建bug时,需要保持登录状态,即需要保存Cookie,因此这里用到Cookie管理器,这里使用默认值即可

4、          添加HTTP请求,test>右击>添加>sampler>HTTP请求

方法:常用方法有POST和GET。这里稍微解释一下POST和GET方法。向服务器发送数据时,通常用POST方法,此时,传递的参数是直接通过后台发送到服务端,在浏览器的URL上不会看到所传递的参数;而使用GET方法则会将传递的参数显示在URL中

路径:这里是登录的接口,而非登录页面的URL。可以通过查看浏览器的消息找到

Parameters:同请求一起发送的参数,该参数可以通过使用抓包工具fiddler进行抓取,如下图:

5、          添加断言,test>右击>添加>断言>响应断言,如下图:

断言相当于LR中的检查点的设置

6、          添加察看结果树,test>右击>添加>监听器>察看结果树,运行脚本,如下图:

二、新建BUG(操作步骤和上面一样)

1、添加HTTP请求,test>右击>添加>sampler>HTTP请求

修改名称、添加方法、设置路径、添加传递的参数

2、添加响应断言,test>右击>添加>断言>响应断言,如下图:

修改名称、设置要检查的文本内容

3、添加正则表达式提取器(LR关联),test>右击>添加>后置处理器>正则表达式提取器,如下图:

引用名称,即关联的名称;

正则表达式:parent.location='/bugfree/bug/(.+?)' (该路径正确,注该路径还是要根据抓包的情况去具体应用,但是之前的路径是不正确的所以导致在后边解决BUG的时候会有报错)

模板:$1$

匹配数字:0,随机

缺省值:error  可以自定义

在这里添加正则表达式提取器,主要是因为解决BUG的时候需要对BUGID进行关联

4、添加察看结果树,test>右击>添加>监听器>察看结果树,运行脚本,如下图:

如果这里你拿不准,那么可以登录Bugfree管理系统查看是否创建BUG成功

三、解决BUG

1、添加HTTP请求,test>右击>添加>sampler>HTTP请求,如下图:

修改名称,设置路径,添加传递的参数值

注意:这里的路径设置,需需要调用上面的关联ID的:调用方法如下:

bugfree/bug/${id}/resolved

2、添加察看结果树,test>右击>添加>监听器>察看结果树,运行脚本,如下图:

发现报错误信息,发现并未取到关联的ID值,猜测可能是关联错误导致;后去查看发现是由于关联时,正则表达式的路径书写错误,带改正后运行一切OK。

遇到的问题:

问题1:

运行报错;

分析:可能是关联错误导致,后去查看发现是由于关联时,正则表达式的路径书写错误导致

解决办法:

根据抓包中的路径进行修改后,OK

问题2:

创建新BUG的时候脚本运行正常,但是登陆查看发现BUG未创建成功

原因分析:可能是由于关联导致,但是由于创建的时候不需要关联所以排除;后查看响应数据信息发现数据中存在乱码的现象,由此推测可能是由于乱码问题导致新建不成功

解决办法:

在HTTp默认请求值中设置Content encoding=utf8,运行OK

如果没有HTTp默认请求值,则需要在每个HTTP请求中都需要修改编码格式

***************************************************************************************************************

参考文档:

http://www.cnblogs.com/wuxiaoyu-1537/p/6232470.html

http://blog.csdn.net/aduocd/article/details/46984009

http://blog.csdn.net/aduocd/article/details/46892593

Jmeter实现登录、创建BUG、解决bug的手写脚本的更多相关文章

  1. Jmeter实现登录bugfree、新建bug、解决bug脚本(抓包工具实现)

    环境 Chrome jmeter3.1 fiddler4 win7 32位 Linux CentOs6.4 bugfree3.0.1 链接:http://pan.baidu.com/s/1gfHpbp ...

  2. jmeter手写脚本,使用正则获取cookie(禁用cookies管理器)

    注:这里以bugfree为例 1.bugfree登录时会有重定向,这会导致每个URL都会有.因此要手动获取cookie的时候,需要去掉重定向勾选 正则获取动态PHPsession 获取到值后,放到信息 ...

  3. tensorflow创建cnn网络进行中文手写文字识别

    数据集下载地址:http://www.nlpr.ia.ac.cn/databases/handwriting/download.html chinese_write_detection.py # -* ...

  4. JUC 并发编程--05, Volatile关键字特性: 可见性, 不保证原子性,禁止指令重排, 代码证明过程. CAS了解么 , ABA怎么解决, 手写自旋锁和死锁

    问: 了解volatile关键字么? 答: 他是java 的关键字, 保证可见性, 不保证原子性, 禁止指令重排 问: 你说的这三个特性, 能写代码证明么? 答: .... 问: 听说过 CAS么 他 ...

  5. 在TFS中通过程序动态创建Bug并感知Bug解决状态

    为便于跟踪问题解决情况,预警引擎产生的比较严重的预警日志,需要在TFS中登记Bug,通过TFS的状态流转,利用TFS Bug的Web挂钩功能,动态感知Bug解决状态,从而跟踪预警问题的解决状态, 整体 ...

  6. dede留言板BUG解决

    dede留言板刷新后空白BUG解决 DEDE留言板验证码留空或者不正确返回空白页面的解决方法 解决方法如下进入文件/plus/guestbook.php 找到代码ShowMsg("验证码不正 ...

  7. IDEA插件(Android Studio插件)开发示例代码及bug解决

    IDEA插件(Android Studio插件)开发示例代码及bug解决 代码在actionPerformed方法中,有个AnActionEvent e 插件开发就是要求我们复写上述的这个方法即可,在 ...

  8. 写了一个Windows服务,通过C#模拟网站用户登录并爬取BUG列表查询有没有新的BUG,并提醒我

    写了一个Windows服务,通过C#模拟网站用户登录并爬取BUG列表查询有没有新的BUG,并提醒我 1.HttpUtil工具类,用于模拟用户登录以及爬取网页: using System; using ...

  9. MogileFS的实现和bug解决

    MogileFS的实现 准备三个主机: centos7.1:tracker节点.database节点.storage节点:192.168.213.251 centos7.2.centos7.3:sto ...

随机推荐

  1. 读书笔记 effective C++ Item 33 避免隐藏继承而来的名字

    1. 普通作用域中的隐藏 名字实际上和继承没有关系.有关系的是作用域.我们都知道像下面的代码: int x; // global variable void someFunc() { double x ...

  2. linux文件处理

    取中间的行数作为train.txt sed -n '1000000,170910580p' train.txt > trainv1.txt 取前面的行数作为dev.txt head -10000 ...

  3. Oracle 函数 “判断数据表中不存在的数据,才允许通过”

    create or replace function mca_detail_material_val(p_material_code VARCHAR2, --实参 p_material_name VA ...

  4. 洛谷P1938 找工就业

    传送门啦 这个题本质就是跑一边最长路,重点就是在怎么建图上. 我们可以把点权放到边权上面,即将每一个边的终点点权当做这个边的边权,这个题里就是将工钱 $ d $ 当做边权. 如果这一条边需要坐飞机才能 ...

  5. C#socket编程序(一)

    在讲socket编程之前,我们先看一下最常用的一些类和方法,相信这些能让你事半功倍. 一.IP地址操作类 1.IPaddress类 a.在该类中有一个 parse()方法,能够把点分十进制IP地址 转 ...

  6. JDBC连接池和DBUtils

    本节内容: JDBC连接池 DBUtils 一.JDBC连接池 实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程,为了解决此类性能问题,通常情况我们采取连接池技术,来共享连接Conne ...

  7. hdu 4349 求C(n,0),C(n,1),C(n,2)...C(n,n).当中有多少个奇数 (Lucas定理推广)

    Lucas定理:把n写成p进制a[n]a[n-1]a[n-2]...a[0],把m写成p进制b[n]b[n-1]b[n-2]...b[0],则C(n,m)与C(a[n],b[n])*C(a[n-1], ...

  8. Drawable子类之——StateListDrawable (选择器)

    Drawable子类之——StateListDrawable (选择器) https://www.jianshu.com/p/7257ce82c762 本文出自 “阿敏其人” 简书博客,转载或引用请注 ...

  9. 基于 Laravel 开发博客应用系列 —— 从测试开始(一):创建项目和PHPUnit

    1.创建博客项目 我们将遵循上一节提到的六步创建一个新 Laravel 5.1 项目的步骤,创建本节要用到的博客项目 —— blog. 首先,在本地主机安装应用骨架: nonfu@ubuntu:~/C ...

  10. CIDR的IP地址的表示与划分方法

    早期的ip地址划分: 最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID.同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包 ...