利用Jmeter模拟Github登录

最近学习了Jmeter的简单操作,很想找点东西来实战一下,因为我之前写过一篇通过Python模拟登录的文章,于是便想尝试下学习通过Jmeter来模拟登录。

本人环境:Jmeter5.1.1

关于Github登录的过程,在这里就不详细说了,有兴趣的可以看我之前的文章: 利用Python模拟GitHub登录

通过Jmeter模拟Github登录的所有设置如下:

1. Jmeter设置请求头和Cookies管理器

首先,我们需要创建1个测试计划(相当于测试项目),测试计划下创建1个线程组(相当于测试场景),然后在线程组下设置请求头(线程组->添加->配置元件->HTTP信息头管理器),设置如下:

在之前的Python文章中,我是设置Session会话对象来帮助自动保存cookies信息的,那么在Jmeter中,我们也可以设置HTTP Cookies管理器来自动保存cookies。

为了达到自动管理Cookies的需求,在设置Cookies管理器之前,我们需要在Jmeter安装路径下bin目录中的 jmeter.properties 文件中定义属性:CookieManager.save.cookies=true。

接着,在Jmeter中设置Cookies管理器,(线程组->添加->配置元件->HTTP Cookies管理器),添加后不需要填写内容,它会自动管理cookies。

2. 获取authenticity_token

首先,设置1个HTTP请求(线程组->添加->取样器->HTTP请求),在HTTP请求下依次设置 正则表达式提取器和调试后置处理程序 。其中,正则表达式提取器用于提取authenticity_token,而调试后置处理程序,用于查看提取的结果。最后,设置如下:

在上面的设置中,我们的访问 https://github.com/login ,然后返回的HTML界面中存在2个authenticity_token,因此通过正则返回的是一个长度为2的列表,而GitHub在登录时用到的是列表中的第二个元素,因此设置参数匹配数字(0代表随机)的值为2。

3. 模拟登录

类似第二步,设置1个HTTP请求,并在HTTP请求下依次设置 正则表达式提取器和调试后置处理程序 ,这里登录的请求方式为POST,最后设置如下:

在这里,类似之前的Python文章中,添加POST登录过程中所需的参数,而authenticity_token的值,我们可以通过 ${authenticity_token} 来引用第二步骤中通过正则提取到的authenticity_token。

注意:在这里,authenticity_token需要勾选编码,如果不勾选的话,有时候可能会出现登录失败,这里我暂时还不明确具体原因,有大佬清楚的话烦请留言指导一下。

4. 断言,判断是否登录成功

接下来,在HTTP请求下设置断言来判断是否登录成功(HTTP请求->添加->取样器->HTTP请求)。GitHub登录成功后,界面的标题会显示"GitHub",而登录失败时,一般显示的标题则是"Sign in to GitHub · GitHub"。因此,我们可以设置响应断言如下:

在这里,我们对第三步骤中正则提取的 title 进行断言,当 title 变量的内容 和GitHub完全相等时,断言成功,否则失败。

5. 添加监听器

最后,为了方便查看运行后的结果,我们可以设置监听器,如图形结果、察看结果树、聚合报告等。以下是我本次设置的察看结果树(线程组->添加->监听器->察看结果树),通过它,我们可以查看线程组中各请求的具体响应过程。

OK,以上就是通过Jmeter模拟GitHub登录的过程,其实大致思路和利用Python来模拟相同,用Jmeter来模拟登录,好处就是不需要写代码也可以实践,相信大多数人阅读后都应该可以进行实践。

如有错误,欢迎指出!

原文地址:https://www.cnblogs.com/wintest/p/11183749.html

时间: 2024-08-03 22:50:14

利用Jmeter模拟Github登录的相关文章

利用Python模拟GitHub登录

最近学习了Fiddler抓包工具的简单使用,通过抓包,我们可以抓取到HTTP请求,并对其进行分析.现在我准备尝试着结合Python来模拟GitHub登录. Fiddler抓包分析 首先,我们想要模拟一个网站的登录,我们必须要简单了解其大致过程. 在这里,我通过Fiddler来抓取GitHub登录的请求,从网页上登录的URL为:https://github.com/login ,抓包结果如下: 左边的是会话列表,右边的是请求和响应的数据.一般情况下,登录都是用POST请求,因为我在左边的会话列表中

Python利用cookie模拟网站登录

Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密) 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么我们可以利用Urllib2库保存我们登录的Cookie,然后再抓取其他页面就达到目的了 [[email protected]~]# cat cscook.py #!/usr/bin/python #-*- coding: UTF-8 -*- import cookielib import urlli

如何利用JMeter模拟超过 5 万的并发用户

本文将从负载测试的角度,描述了做一次流畅的5万用户并发测试需要做的事情. 你可以在本文的结尾部分看到讨论的记录. 快速的步骤概要 编写你的脚本 使用JMeter进行本地测试 BlazeMeter沙箱测试 使用一个控制台和一个引擎设置Users-per-Engine的数量 设置并测试你的集合 (1个控制台和10-14 引擎) 使用 Master / Slave 特性来达成你的最大CC目标 步骤一1 : 编写你的脚本 开始之前,请确定从JMeter的Apache社区jmeter.apache.org

利用phantomjs模拟QQ自动登录

之前为了抓取兴趣部落里的数据,研究了下QQ自动登录. 当时搜索了一番,发现大部分方法都已经失效了,于是准备自己开搞. 第一个想到的就是参考网上已有方案的做法,梳理登陆js的实现,通过其他语言重写.考虑到js可能会更新,放弃了此方案. 第二个想到的是能不能直接调用QQ自己的js方法,模拟进行提交呢.搜索一番后发现神器 ---- "phantomjs". PhantomJS is a headless WebKit scriptable with a JavaScript API. It

Python3之利用Cookie模拟登录

利用Cookie模拟登录步骤: 1.       在浏览器输入http://demo.bxcker.com,输入用户名和密码登录. 2.登录成功点"客户管理"模块. 3. 进入客户管理模块,显示客户列表. 4.通过抓包工具抓取客户列表,得到登录后的Cookie信息. GET http://demo.bxcker.com/customer/index.shtml HTTP/1.1 Host: demo.bxcker.com Connection: keep-alive Pragma: n

lesson5:利用jmeter来压测消息队列(activemq)

本文讲述了利用jmeter来压测消息队列,其中消息队列采用apache的activemq,jmeter本身是支持符合jms标准消息队列的压测,由于jmeter的官方sampler配置比较复杂,本文直接使用sdk的方式来压测,与生产实际使用更加接近,各位如对官方的sampler感兴趣,可以自行去配置完成. 准备工作:下载activemq 地址:http://activemq.apache.org 本文中的activemq采用的是5.9.0版本. jMetterLessons工程源码地址:https

PHP 基于laravel框架获取微博数据之一 模拟新浪微博登录

参考资料:http://www.csuldw.com/2016/11/10/2016-11-10-simulate-sina-login/http://blog.csdn.net/fly_leopard/article/details/51148904http://www.tuicool.com/articles/uIJzYff http://blog.csdn.net/u010029983/article/details/46364113等 模拟新浪微博登录是抓取新浪数据的基础,网上的参考资料

利用反射模拟一个spring的内部工作原理

这个简单的案例是实行了登录和注册的功能,没有链接数据库. 在bean中id 是唯一的,id和name的区别在于id不能用特殊字符而name可以用特殊字符,比如:/-\.... 1 package com.obtk.reflect; 2 3 public class Logon { 4 /** 5 * 帐号密码长度大于六位字符就成功,否则失败! 6 * */ 7 public String select(String name, String pass) { 8 if (name.length()

cookielib和urllib2模块相结合模拟网站登录

1.cookielib模块 cookielib模块的主要作用是提供可存储cookie的对象,以便于与urllib2模块配合使用来访问Internet资源.例如可以利用 本模块的CookieJar类的对象来捕获cookie并在后续连接请求时重新发送.coiokielib模块用到的对象主要有下面几 个:CookieJar.FileCookieJar.MozillaCookieJar.LWPCookieJar.其中他们的关系如下: 2.urllib2模块 说到urllib2模块最强大的部分绝对是它的o