JMeter之代理服务器录制脚本
在JMeter中可以使用自身就带的HTTP代理服务器组件录制脚本,可以录制在WEB上的操作,也可以录制在手机App上的操作。
1、测试计划内包含的元件
添加元件操作步骤:
创建测试计划
创建线程组:选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组。
在线程组中,添加配置原件“HTTP Cookie管理器”组件:选中“线程组”右键 —> 添加 —> 配置元件 —> HTTP Cookie管理器。
说明:如果录制的操作包括 用户登录操作 ,则需要添加“HTTP Cookie管理器”,添加之后不需要任何配置,录制后,脚本中便保存用户登录的相关信息。
在测试计划下,添加非测试元件“HTTP代理服务器”组件:选中“测试计划”右键 —> 添加 —> 非测试元件 —> HTTP代理服务器。
在HTTP代理服务器组件下,添加监听器“察看结果树”组件:选中“HTTP代理服务器”右键 —> 添加 —> 监听器 —> 察看结果树。
最终测试计划中的元件如下:
点击运行按钮,会提示你先保存该脚本,脚本保存完成后会直接自动运行该脚本。
2、HTTP代理服务器的设置内容
在HTTP代理服务器组件中,我们需要编辑:
端口: 默认8888,一般使用默认即可。主要不能与本地其他服务的端口号冲突,否则启动不了。
HTTPS Domains: 我的理解就是,设置代理服务器的主机IP地址或者域名。因为在我们本地使用,一般就是 localhost 或者127001即可,当然不填写也是可以的。(此填写的地址一定要能够连接外网)
设置目标控制器: 也就是录制的组件存储到什么位置。这个一定要选,下图中选择了存储到目标线程组中。
配置完的界面内容,如上图所示。
3、设置浏览器的代理服务器
每个浏览器都可以设置服务器的代理,以Chrome浏览器为例。设置需要区分是否为局域网
点击右上角的设置 —> 高级 —> 系统 —> 最下面的‘’打开您计算机的代理设置‘’,点击右侧图标,就可以进入到代理服务器的设置页面了。
选要选中手动配置代理服务器,然后输入代理服务器的地址或者域名,还有端口号。
这里的配置,要和上面JMeter的HTTP代理服务器中的端口和HTTPS Domains的配置要对应上。
这样的话,浏览器中的操作,会先发送到JMeter中的HTTP代理服务器,在通过网络进行传输。这样JMeter中就可以录制下我们的操作,生成脚本了。
如下图所示:
4、录制脚本
以上内容设置完毕后,在浏览器地址栏中输入要录制脚本的地址。
然后在JMeter中的HTTP代理服务器界面,点击启动按钮。
提示:在HTTP代理服务器界面点击“启动”时,Meter将生成自己的证书。证书生成可能需要一些时间,在此期间,GUI将无响应。证书生成完成后,GUI将显示一个弹出对话框,其中包含根CA证书的详细信息,证书有效期为7天。该证书需要由浏览器安装,以便接受JMeter生成的主机证书。
如下图所示:
浏览器配置证书: 浏览器中导入证书 ,jmeter安装目录下的ApacheJMeterTemporaryRootCAcrt
之后开始在网站上进行操作,所有操作发出的请求,都会录制到JMeter脚本中。
操作完成之后,到JMeter的HTTP代理服务器中点击“停止”,然后将浏览器的代理设置恢复原样即可。
不恢复的话,会导致你无法使用浏览器访问外网。
如下图所示:录制时弹出的控制器,不用进行设置,关闭时 点击 停止 即可
5、查看录制的脚本
在JMeter中我们可以看到已经 记录 了许多请求对应的信息,包括PHP、js、jpg、png、txt等请求。
如下图所示:
我们可以看到,我们只进行了简单的几步操作,却录制这么的请求。是因为JMeter录制很多非关键性的请求,这就需要我们进行一些优化。
录制脚本的优化有两个步骤:
在录制的时候,做一些过滤和排除操作。
在录制后的脚本中手动优化,删除不需要的组件,增加自己需要的组件。
1)服务器名称或IP与目标网站不同的、无关的,可以删除。
2)js/css/png/jpeg等这类请求删掉。
3)没有传递任何数据的请求可以屏蔽掉,等流程能回放成功了,这些再删除。如果回放不成功,再一个一个打开,进行检查。
6、HTTP代理服务器的排除模式
在测试脚本中有一些录制的信息是没有任何作用的,所以我们在录制脚本的时候,就可以通过HTTP代理服务器的排除模式,排除一些不需要的请求信息,如css、gif、png等请求。
例如:
在包含模式添加填上 \jsp,只在请求JSP文件时录制脚本。
这里通常都是设置JSP或者HTML,可以根据具体情况进行填写。
在排除模式处填上\js ,在请求js文件时不录制脚本。
这里通常都是设置js、jpg、png、gif、css等,这些类型文件请求都是不需要录制的。
当然我们也可以点击添加建议排除按钮,会自动生成一个过滤的正则表达式。
如下图所示:
添加上这些时候,录制出来的脚本,多余的累赘会减少很多。
7、保存脚本
脚本录制完成后,需要进行脚本的保存。
把脚本保存到本地,可以分享给其他成员,进行查看、编辑、回放等操作。
代理上网和脚本上网其实是一样的 没什么区别 只不过是 代理上网需要手动配置代理服务器的IP地址和端口 而脚本上网不需要设置 只需要把脚本文件填写在自动配置的脚本处即可
一般脚本文件都是pac为扩展名的 它相当于一个批处理文件也就是说它文件的内容是代理服务器的IP 端口 等其他内容信息 那么其他机器把自动配置那里直接指向它就可以上网了无需手动设置 这样可以防止代理服务器的变更导致一些不知道的用户无法上网
具体看下面:
很多时候在Internet接入时只使用代理方式而非NAT,那么给使用代理的客户终端设置代理服务器将是一件很烦琐的事情,特别是当代理服务器进行各种改动(比如服务器IP地址,服务端口等等变了)后,不得不对通知所有的客户重新进行设置。Proxy Auto-Config(PAC)脚本解决了这些问题。
在Internet Explorer的代理设置里面有一个“使用自动配置脚本”的选项,这里的自动配置脚本指的就是PAC脚本。这是一种以pac为扩展名的 JavaScript脚本,可以把它放在内部网络的某个web服务器上,设置客户端IE浏览器把“自动配置脚本选项”指向它(比如http: //1921681001/proxypac),完成集中设置代理配置的工作。
PAC脚本还可以根据用户访问请求的不同设置不同的代理策略,比如,用户访问内部网的某台服务器时,PAC脚本可以告诉浏览器该访问将不通过代理服务器,而用户访问的是内部网以外的地址时,PAC脚本告诉浏览器这个访问请求使用代理。
PAC脚本另外一个重要的应用是多台代理服务器并存的情况下,通过pac脚本的控制:
用户随机选择使用多台代理服务器中的任意一台来达到流量负载均衡的目的;
管理员通过PAC脚本控制用户使用和不使用某台代理服务器,这样可以空出时间对代理服务器进行维护;
让服务器工作在主备模式,当主服务器宕机时,会自动切换到其它备用服务器而不会中断服务;
根据访问目的地的不同,自动选择最佳代理服务器。
PAC脚本中必须定义一个名为FindProxyForURL的函数,这个函数会被浏览器自动调用。其格式如下:
function FindProxyForURL(url, host)
{
……
}
下面给出一个实际应用中使用过的简单例子,这里只有1台squid代理服务器:134402248,服务端口是3128,脚本中根据客户端IP地址判断用户通过何种途径访问Internet或其他资源:
function FindProxyForURL(url, host)
{
if (isInNet(myIpAddress(), "10211930", "2552552550")) {
return "DIRECT";
} else {
return "PROXY 134402248:3128";
}
}
根据上面的脚本,整个局域网中,除了地址是10211930/2552552550的终端,其他终端访问Internet都要经代理服务器134402248。
以上是让你了解一下 代理服务器和 使用脚本上网的形式 也就是 IE中的脚本是为了简化代理服务器设置的方式而已他们之间没区别 都是代理上网
至于你问是否和DNS有关 所有的上网方式都需要设置DNS 我们都知道DNS是域名解析系统 如果没有正确设置DNS的话 那么域名就不起作用了 这就是常见的有的机器只能上QQ和玩游戏但不能访问网站 其实就是DNS没有设置正确 如果你直接访问IP地址的话是可以访问的
那么你访问域名也就是网址的时候 就无法进行解析了也就是没有DNS域名就无法解析成IP自然也就无法访问网站了
DNS服务器有指顶的IP地址 所以一般与是否是代理还是其他上网方式没有什么关系 你只要获得了正确的DNS 就可以了 不管你是代理上网也好 ADSL上网也好 都是一样的
最后解释一下你们项目组无法使用脚本配置方式使用代理的问题。
其他的项目组在一个内网那么它们肯定可以使用IP方式互相访问 当然一定要开放WEB服务 那么他们肯定有一个WEB服务器 服务器上放置了pac的文件 也就是代理上网的脚本 我这里管它叫自动批处理文件
你们的工作组不能使用 有两个原因
1 你们工作组没有和其他项目组在一个内网 或者在一个内网由于路由或防火墙的设置不能进行互相通讯
2 你们项目组没有设置WEB服务器当然也就没有pac文件自然不能使用脚本的方式处理代理上网
结合上面所说 你应该初步了解代理上网与自动配置脚本的关系了吧
那么你们不能使用的原因你自己可以找一找了 到底是哪个环节出现问题了
打的好累 分应该给我了吧 嘿嘿!
PAC的配置方法非常简单,不需要安装任何软件或插件,只需用记事本建立一个脚步文件即可,我们可以把这个文件保存在硬盘的任何位置,也可以保存在服务器上,然后打开Internet选项 - 进入 连接 选项卡 - 点击局域网选项 - 选中 使用自动配置脚本 选项 - 在地址里面填入你的文件位置,比如files://d:/goagentpac ,即可完成配置。
打开”ie浏览器“。点击”设置“打开”Internet选项“。点击将使用“自动配置脚本”改为“自动检测设置”即可,详细步骤:
1、搜索栏输入“ie”搜索,点击“打开”打开“ie浏览器”。
2、在ie浏览器中,点击右上角“设置”——“Internet选项”。
3、在“Internet选项”设置页面,点击“连接”——“局域网设置”。
4、在“局域网设置”页面,设置“自动配置”。
5、点击将使用“自动配置脚本”改为“自动检测设置”,然后点击“确定”。
6、最后,再点击打开“ie浏览器”,可以发现“网页正常访问”,“远程计算机或设备将不接受连接”已经解决。
查杀病毒,您的电脑肯定中了病毒。
您可以对网络进行相关配置,使 Internet Explorer 8 在用户首次启动时自动自定义。 这可减少与用户浏览器设置相关的管理开销和客户支持电话数目。
自动检测基于 Web 代理服务器自动发现协议 (WPAD)。 自动检测受动态主机配置协议 (DHCP) 和域名系统 (DNS) 的支持。 如果选择了适当的设置,DHCP 和 DNS 服务器可将 Internet Explorer 8 定向到配置文件的位置,从而自动检测和配置浏览器设置。 此功能构建在现有自动配置技术的基础上,该技术可使用自动代理脚本文件(wpad 或 pac 文件),从中心位置配置浏览器。
通过自动检测,Internet Explorer 8 可在启动时自动配置,即使最初不是管理员自定义和部署它也是如此。 例如,自动检测可自动配置和自定义用户自行从 Internet 下载的 Internet Explorer 8 浏览器。
若要启用自动检测,请在 IEAK 8 工具或 IEM 中,选择自动浏览器配置,然后选中自动检测配置设置复选框。
为自动检测配置服务器
若要实现自动检测,必须在 DHCP 服务器和/或 DNS 服务器上配置特定设置。
DHCP 服务器使您可集中指定全局和子网 TCP/IP 参数,以及使用保留地址来定义用户参数。 用户计算机在子网之间移动后,计算机启动时,将自动重新配置其 TCP/IP。
DNS 是 TCP/IP 网络上的一组协议和服务,允许用户使用分层的用户友好名称(主机)而不是数字 IP 地址来搜索其他计算机。
对于基于局域网 (LAN) 的用户,DHCP 服务器与自动检测功能的结合使用效果最佳;而无论计算机是使用基于 LAN 的连接还是拨号连接,DNS 服务器都支持在这些计算机上进行自动检测。 尽管 DNS 服务器可处理网络连接和拨号连接,但 DHCP 服务器可帮助更快地访问 LAN 用户,以及更灵活地指定配置文件。
0条评论