1.1历史
Apache软件基金会的斯特凡Mazzocchi JMeter的原开发商。 他写道:它主要测试的Apache JServ(已经被取代Apache Tomcat项目的项目)的性能。 我们重新设计了JMeter的提高图形用户界面和添加功能测试能力。
1.2未来
我们希望看到JMeter的能力,迅速扩大为开发商拿可插拔的体系结构的优势。 进一步发展的主要目标是使JMeter的,而不损害JMeter的负载测试功能最有用的回归测试工具,尽可能。
2。 新手入门
开始使用JMeter最简单的方法是先下载最新版本的生产和安装。 本新闻稿中包含的所有文件,你需要建立和运行大多数类型的测试,例如,Web(HTTP / HTTPS),FTP,JDBC,LDAP,Java中,和JUnit。
如果你想执行JDBC测试,那么你会,当然,需要适当的JDBC驱动程序从您的供应商。 JMeter的不附带任何JDBC驱动。
JMeter的包括JMS API的JAR文件,但不包括JMS客户端实现。 如果你想运行JMS测试,你需要下载JMS提供者的合适的jar。
参见JMeter 的classpath中部分细节上安装额外的罐子。
接下来,启动JMeter并通过建立一个测试计划 “用户指南”一节,以了解自己使用JMeter基础(例如,添加和删除元素) 。
最后,经过对如何建立一个测试计划的具体类型的相应部分。 例如,如果你是在测试一个Web应用程序感兴趣,然后看到一个Web测试计划的部分建筑 。 其他具体的测试计划部分是:
高级Web测试计划
JDBC的
FTP
JMS点到点
JMS主题
LDAP
LDAP扩展
Web服务(SOAP)
一旦你舒适的建设和运行JMeter测试计划,你可以寻找到的各种配置元素(定时器,监听器,断言,和其他人),让您更好地控制您的测试计划。
2.1需求
JMeter要求在您的计算环境,满足一些最低要求。
2.1.1 Java的版本
JMeter要求在一个完全兼容的JVM 1.5或更高。
因为JMeter的只使用标准的Java API,请不要提交错误报告,如果你的JRE失败运行JMeter的,因为JRE的实施问题。
2.1.2作业系统
JMeter是100%的Java应用程序,并应在任何系统中,有一个兼容的Java实现正确运行。
JMeter已经和工程:
UNIX(Solaris上,Linux等)
的Windows(98,NT,XP等)
的OpenVMS Alpha 7.3 +
2.2可选
如果你做JMeter的发展计划,那么你会需要下面列出的一个或多个可选包。
2.2.1 Java的编译器
如果你想建立JMeter的源或开发JMeter的插件,那么您将需要一个完全兼容JDK 1.5或更高。
2.2.2 SAX的XML解析器
JMeter的来自Apache的Xerces XML解析器 。 你必须告诉JMeter的使用不同的XML解析器的选项。 要做到这一点,包括第三方解析器在JMeter的classpath中的类,和更新的jmeter.properties文件解析器实现的完整类名。
2.2.3电子邮件支持
JMeter的具有丰富的电子邮件功能。 根据测试结果,它可以发送电子邮件,并有一个POP3(S)/ IMAP(S)取样。 它也有一个SMTP取样。
2.2.4 SSL的加密
要测试一个Web服务器,使用SSL加密(HTTPS),JMeter要求提供SSL实现,是与Sun Java 1.4及以上的情况下。 如果您的Java版本不包括SSL支持,那么很可能增加一个外部的实施。 包括必要的加密包在JMeter 的classpath中。 此外,更新system.properties注册SSL提供者。
JMeter的HTTP默认协议水平的TLS。 这是可以改变的,编辑工作JMeter的属性“https.default.protocol”jmeter.properties或user.properties。
JMeter的HTTP取样器配置为接受的所有证书,是否信任与否,不管有效期等 ,这是为了让最大的灵活性,在测试服务器。
如果服务器要求客户端证书,这可以提供。
还有的SSL管理 ,为更大的控制证书。
JMeter的代理服务器(见下文)支持在2.3.4之后的版本录制的HTTPS(SSL)
SMTP采样可以选择使用一个本地的信托商店或信任的所有证书。
2.2.5 JDBC的驱动
您需要将您的数据库厂商的JDBC驱动程序添加到 classpath中,如果你想要做的JDBC测试。 请确保该文件是一个JAR文件,而不是一个zip。
2.2.6的JMS客户端
JMeter的现在包括从Apache Geronimo的JMS API,所以你只需要添加从JMS提供适当的JMS客户端执行的JAR(S)。 请参阅其文档以了解详情。 也有可能是JMeter的维基上的一些信息。
2.2.7图书馆的ActiveMQ JMS的
在写作时,当前版本的ActiveMQ 5.3.2。 您将需要添加ActiveMQ的所有- 5.3.2.jar到你的classpath中,如存储在lib /目录下的jar。
另外,添加ActiveMQ的核心- 5.3.2.jar到classpath中的jar,这是需要的,可在Apache Geronimo Geronimo的J2EE management_1.0_spec - 1.0.jar的jar发现javax/management/j2ee类。 其他需要的jar(如下议院记录)已经包含使用JMeter。
有关详细信息,请参阅http://activemq.apache.org/initial-configuration.html 。
JMeter 的classpath中的更多细节部分上安装额外的罐子。
2.3安装
我们建议大多数用户运行最新的版本 。
要安装一个发布版本,只需将其解压缩到的zip / tar文件的目录,你想JMeter的安装。 只要你有一个JRE / JDK的正确安装和JAVA_HOME环境变量设置,是为你做而已。
注意:如果目录路径中包含任何空格,可以有问题(特别是客户机 - 服务器模式)。
安装目录结构应该是这个样子(版本2.3.1):
雅加达JMeter的- 2.3.1
jakarta-jmeter-2.3.1/bin
jakarta-jmeter-2.3.1/docs
jakarta-jmeter-2.3.1/extras
jakarta-jmeter-2.3.1/lib /
jakarta-jmeter-2.3.1/lib/ext
jakarta-jmeter-2.3.1/lib/junit
jakarta-jmeter-2.3.1/printable_docs
如果你想,可以重命名的父目录(即雅加达JMeter的2.3.1),但不改变任何子目录名称。
2.4运行JMeter的
要运行JMeter,运行jmeter.bat(Windows)或JMeter的(对于Unix)文件。 这些文件是在bin目录中找到。 在短暂的停顿后,JMeter的GUI应该会出现。
有一些额外的脚本,在bin目录中,你会发现有用的。 Windows脚本文件(cmd文件需要Win2K或更高版本)。
jmeter.bat - 运行JMeter(默认情况下,在GUI模式)
JMeter的n.cmd - 砸一个JMX文件运行一个非GUI测试
JMeter的nr.cmd - 砸一个JMX远程文件运行一个非GUI测试
JMeter的t.cmd - 下降这是一个JMX文件加载在GUI模式下
JMeter的server.bat - 在服务器模式下启动JMeter的
镜子server.cmd - 在非GUI模式运行JMeter的镜像服务器
shutdown.cmd - 关闭客户端运行正常停止非GUI实例
stoptest.cmd - 运行关机客户机突然停止一个非GUI的实例
注:去年特殊的名字,可用于使用JMeter n.cmd的,JMeter t.cmd和JMeter的nr.cmd和手段,以交互方式运行的最后一个测试计划。
环境变量JVM_ARGS可用于覆盖在jmeter.bat脚本JVM设置。 例如:
设置JVM_ARGS =“- Xms1024m - Xmx1024m - Dpropname = propvalue”
JMeter的- T test.jmx ...
UN * X的脚本文件,在大多数Linux / Unix系统的工作:
JMeter的 - 运行JMeter(默认情况下,在GUI模式)。 定义了一些JVM的设置可能不适合所有JVM。
JMeter的服务器 - 在服务器模式下启动JMeter的(用适当的参数调用JMeter的脚本)
jmeter.sh - 没有JVM指定的选项非常基本的JMeter的脚本。
镜面server.sh - 在非GUI模式运行JMeter的镜像服务器
shutdown.sh - 关闭客户端运行正常停止非GUI实例
stoptest.sh - 运行关机客户机突然停止一个非GUI的实例
它可能是必要的编辑JMeter的shell脚本,如果一些JVM选项不支持您使用的是由JVM。 JVM_ARGS环境变量可以用于覆盖或设置其他JVM选项,例如,
JVM_ARGS =“- Xms1024m - Xmx1024m”JMeter的- T test.jmx [等]
将覆盖脚本中的堆设置。
2.4.1 JMeter的Classpath的
JMeter会自动找到以下目录罐中的类:
JMETER_HOME / LIB - 实用罐
JMETER_HOME / lib / ext目录 - JMeter组件和附加使用
如果您已经开发了新的JMeter组件,那么你应该JAR,并复制到JMeter的lib / ext目录下的JAR。 JMeter会自动找到在这里找到任何罐JMeter组件。
支持罐(库等)应放置在 lib目录中。
如果你不想把JMeter的lib / ext目录扩展罐,然后在jmeter.properties定义的属性search_paths。 不要实用罐使用LIB / EXT,它是唯一的JMeter组件。
其他的jar(如JDBC,JMS实现和JMeter的代码所需要的任何其他支持libaries等),应放置在lib目录-不是lib / ext目录
注:JMeter会只找到jar文件,而不是拉链。。
您还可以安装实用程序JAR文件在$ JAVA_HOME / JRE / lib / ext目录,或(2.1.1),您可以设置在jmeter.properties 财产 user.classpath
请注意,设置CLASSPATH环境变量,将没有任何效果。 这是因为JMeter是开始与“Java的JAR”,和java命令默默地忽略CLASSPATH变量,而当罐子-classpath/-cp选项。 出现这种情况所有的Java程序,而不仅仅是JMeter的。]
2.4.2使用代理服务器
如果您是从后面的防火墙/代理服务器的测试,您可能需要提供JMeter的防火墙/代理服务器的主机名和端口号。 要做到这一点,从以下参数的命令行运行jmeter.bat / JMeter的文件:
- H [代理服务器主机名或IP地址]
- P [代理服务器的端口]
- N [nonproxy主机](如*. apache.org |本地主机)
- U [代理身份验证的用户名 - 如果需要的话]
[代理身份验证密码 - 如果需要的话]
例如 :my.proxy.server JMeter的- H - P 8000 - u用户名- A - N的密码本地主机
或者,您可以使用 - proxyHost, - proxyPort, - 用户名,和 - 密码
JMeter的也有其自身内置的HTTP代理服务器,可用于记录HTTP或HTTPS浏览器会话。 这不是与上面所述的代理设置,这是用来当JMeter的HTTP或HTTPS请求本身混淆。
2.4.3非GUI模式(命令行模式)
对于非交互式的测试,你可以选择没有GUI运行JMeter的。 要做到这一点,使用下面的命令选项
- N指定JMeter是在非GUI模式下运行
- T [JMX的文件名称包含测试计划]。
- L [JTL文件的名称记录样本的结果]。
- J [JMeter的运行日志文件的名称]。
- R运行JMeter的财产“remote_hosts”中指定的服务器测试
- R [远程服务器列表在指定的远程服务器上运行测试
该脚本还可以让你指定可选的防火墙/代理服务器信息:
- H [代理服务器主机名或IP地址]
- P [代理服务器的端口]
例如 :JMeter的- N - T log.jtl my_test.jmx - L - H my.proxy.server - P 8000
2.4.4服务器模式
对于分布式的测试,在服务器模式下运行JMeter的遥控器上的节点(S),然后从GUI控制服务器(S) 。 您也可以使用非GUI模式下运行远程测试。 要启动服务器(S),每台服务器主机上运行jmeter-server/jmeter-server.bat。
该脚本还可以让你指定可选的防火墙/代理服务器信息:
- H [代理服务器主机名或IP地址]
- P [代理服务器的端口]
例如 :JMeter的服务器- H my.proxy.server - P 8000
如果你想在服务器退出后,已运行一个单一的测试,然后定义JMeter的财产server.exitaftertest = TRUE。
要在非GUI模式下的客户端运行测试,使用下面的命令:
JMeter的testplan.jmx - N - T - R - Gprop = VAL] [ - Gglobal.properties] [- Z]
其中:
- G是用来定义JMeter的属性设置在服务器
- “X”表示退出的服务器,在测试结束
Rserver1,server2的 - 可以用来代替- R提供一个服务器列表启动
覆盖remote_hosts,但不定义该属性。
2.4.5通过命令行的首要 ¶
Java系统属性,JMeter的属性和记录属性可以直接在命令行上(而不是修改jmeter.properties)重写。 要做到这一点,使用下列选项:
D [prop_name] = [值] - 定义了一个Java系统属性的值。
- J [道具名] = [值] - 定义一个本地的JMeter的财产。
- G [道具名] = [值] - 定义了一个JMeter属性被发送到所有远程服务器。
- G [propertyfile] - 定义一个文件被发送到所有远程服务器包含JMeter的属性。
- L [类别] = [优先] - 覆盖了日志记录设置,设置特定类别的优先级。
- L标志也可以使用无根日志记录级别设置的类别名称。
例如 :
JMeter的,Duser.dir = / / mstover / jmeter_stuff \
- Jremote_hosts = 127.0.0.1 - Ljmeter.engine =调试
JMeter的,LDEBUG
注意:
早在启动命令行属性的处理,但后测井系统已成立。 尝试使用- J标志,更新LOG_LEVEL或log_file属性不会有任何效果 。
2.4.6日志和错误消息
JMeter的一般不使用错误弹出对话框,因为这些会干扰运行测试。 也没有报告任何一个错误拼写的变量或函数的错误,而只是用于参考。 更多信息 , 请参阅函数和变量。
如果JMeter的检测在检测过程中的错误,一个消息将被写入到日志文件。 日志文件的名称是指在jmeter.properties文件(或使用- j选项,见下文)。 它默认为jmeter.log,并会从中JMeter的启动目录中发现。
JMeter的2.2之后的版本中添加了一个新的命令行选项- J jmeterlogfile。 这是处理后的初始属性的文件被读取,处理之前,任何进一步的属性。 因此,它允许重写jmeter.log默认。 JMeter的脚本,测试计划名称作为参数(如JMeter的n.cmd)已更新定义日志文件的使用,例如Test27.jmx的日志文件设置为Test27测试计划测试计划名称。日志。
在Windows上运行时,该文件可能会出现像刚才JMeter的 ,除非你有Windows设置为显示文件扩展名。 你应该做的,可以更容易地检测病毒和其它脏东西,伪装成文本文件...]
以及记录错误,jmeter.log文件记录了一些有关测试运行的信息。 例如:
2003年10月17日下午12时一十九分20秒信息 - jmeter.JMeter:版本1.9.20031002
2003年10月17日下午12时19分45秒INFO - jmeter.gui.action.Load:加载文件:C:\ mytestfiles \ BSH.jmx
2003年10月17日12时十九分52秒信息 - jmeter.engine.StandardJMeterEngine:运行测试!
2003年10月17日12时十九分52秒INFO - jmeter.engine.StandardJMeterEngine:开始1线程组博西。 斜坡上升= 1。
2003年10月17日12时十九分52秒INFO - jmeter.engine.StandardJMeterEngine:继续对错误
2003年10月17日12时十九分52秒INFO - jmeter.threads.JMeterThread:主题BSH1 1日开始
2003年10月17日12时十九分52秒INFO - jmeter.threads.JMeterThread:主题BSH1 - 1完成
2003年10月17日12时十九分52秒信息 - jmeter.engine.StandardJMeterEngine:测试已经结束
日志文件可以帮助确定错误的原因,像JMeter不中断测试显示错误对话。
2.4.7完整的命令行选项列表
调用像JMeter JMeter的 - 吗?“ 会打印出所有的命令行选项的列表。 这些所示。
- H, - 帮助
打印用法信息并退出
- V, - 版
打印版本信息并退出
- P, - propfile {参数}
使用JMeter的属性文件
- Q, - addprop {参数}
额外的属性文件(S)
- T, - testfile将{参数}
JMeter测试(JMX)文件运行
- J - jmeterlogfile {参数}
JMeter的日志文件
- L, - 日志文件{参数}
日志文件的样本,以
- N, - nongui
nongui模式运行JMeter
- S, - 服务器
运行JMeter的服务器
- H - proxyHost {参数}
JMeter的使用设置代理服务器
- P - proxyPort {参数}
JMeter的使用设置代理服务器的端口
- U, - 用户名{参数}
设置代理服务器的用户名,JMeter是使用
- A, - 密码{参数}
代理服务器的设置密码,JMeter是使用
- J - jmeterproperty {参数} = {值}
定义附加的JMeter的属性
- G - globalproperty(参数)=(值)]
定义全局属性(发送到服务器)
EG - Gport = 123
或- Gglobal.properties
- D - systemproperty {参数} = {值}
定义额外的系统性能
- S - systemPropertyFile {文件名}
要添加一个属性文件为系统属性
- L - 的loglevel {参数} = {值}
定义的loglevel:[类别]水平
例如jorphan = INFO或jmeter.util = DEBUG
- R, - runremote(非GUI)
启动远程服务器(JMeter的属性remote_hosts定义)
- R, - remotestart server1上,... ... (仅限于非GUI)
启动这些远程服务器(覆盖remote_hosts)
- D, - HOMEDIR {参数}
使用JMeter的主目录
- X - remoteexit
退出远程服务器,在测试结束(非GUI)
注:。JMeter的日志文件的名称是一个SimpleDateFormat的(适用于当前日期),如果它包含单引号配对,如“jmeter_'yyyyMMddHHmmss”格式化日志“
如果特殊的名字,最后是使用了- t,- J - l标志,那么JMeter需要,意味着最后的测试计划,在交互模式下运行。
2.5配置JMeter的
如果你想修改与JMeter的运行,你需要修改/ bin目录的jmeter.properties或创建您自己的jmeter.properties副本,并在命令行中指定它的属性。
注意:从2.2开始,您可以定义附加的JMeter的属性在JMeter 的财产user.properties有默认值user.properties的定义的文件。 该文件将被自动加载,如果发现在当前目录中,或者如果它是在JMeter的bin目录中找到。 同样,system.properties是用来更新系统属性。
参数
属性 说明 要求
ssl.provider 您可以指定您的SSL实现的类,如果你不想使用内置的Java实现。 无
xml.parser 您可以指定您的XML解析器的实现。 默认值是:org.apache.xerces.parsers.SAXParser 无
remote_hosts 逗号分隔的列表远程JMeter的主机(或主机:端口如果需要的话)。 如果你是在分布式环境中运行JMeter中,列出的机器,你必须JMeter的远程服务器上运行。 这将允许您从本机的图形用户界面控制那些服务器 无
not_in_menu 一个组件的列表,你不希望看到在JMeter的菜单。 像JMeter有越来越多的组件,您不妨来定制你的JMeter的,只显示那些您感兴趣,您可以列出他们的类名或类标签(JMeter的用户界面出现的字符串)的组成部分,他们将没有不再出现在菜单中。 无
search_paths 路径列表(分隔;),JMeter会为JMeter的搜索类上;例如额外的采样。 这是除了在lib / ext目录中发现的任何jar文件。 无
user.classpath 路径列表,JMeter将搜索的实用工具类。 这是除了在lib目录中发现的任何jar文件。 无
user.properties 文件包含附加的JMeter的属性的名称。 这些补充后的初始属性文件,但前- Q和- J选项的处理。 无
system.properties 含有额外的系统属性的文件的名称。 这些都是加入前- S和- D选项的处理。 无
命令行选项和属性文件按下列顺序处理:
- p propfile
jmeter.properties(或- p选项的文件),然后装入
- j日志文件
记录初始化
装入了user.properties是
装入了system.properties是
所有其他命令行选项的处理
在jmeter.properties,user.properties system.properties你可以改变其他设置的进一步信息的文件的意见。
3。 建立测试计划
一个测试计划描述了一系列步骤,JMeter会在运行时执行。 一个完整的测试计划将包括的一个或多个线程组,逻辑conrollers,样本生成控制器,监听器,定时器,断言,并配置元素。
3.1添加和删除元素
一个测试计划中添加元素,可以通过右键单击树中的元素,从“添加”列表中选择一个新的元素。 另外,元素可以从文件中载入,选择“合并”或“打开”选项添加。
要删除一个元素,确保元素被选中,右键单击该元素,然后选择“删除”选项。
3.2加载和保存元素
若要从文件中加载一个的元素,右键单击您要加载的元素添加在现有的树中的元素,并选择“合并”选项。 选择元素保存的文件。 JMeter会合并成树的元素。
为了保存树中的元素,右键单击一个元素,并选择“保存选择为... ...” 选项。 JMeter会保存所选的元素,再加上它下面的所有子元素。 通过这种方式,可以节省测试树片段和单个元素,以供日后使用。
工作台自动保存测试计划,但可以单独保存上述。
3.3配置树中的元素
在测试树中的任何元素将出现在JMeter的右侧框架的控制。 这些控件允许您配置的特定测试元素的行为。 可以配置一个元素取决于它是什么类型的元素。
测试树本身可以被操纵,通过拖放组件的测试树周围。
3.4保存测试计划
虽然它不是必需的,我们建议您保存在运行前的测试计划文件。 为了保存测试计划,选择“保存”或“保存测试计划... ...” 从文件菜单(使用最新版本,它不再需要首先选择测试计划元件)。
JMeter允许在您保存整个测试计划树或只是它的一部分。 仅保存在一个特定的“分支”的测试计划树中的元素,在树中选择测试计划元件,从开始的“分支”,然后点击鼠标右键来访问“保存选择,。 ... ...“ 菜单项。 另外,选择适当的测试计划元件,然后选择“保存选择... ...” 从编辑菜单中。
3.5运行测试计划
要运行您的测试计划,选择“运行”菜单项从“开始”(控制+ R)。 JMeter是运行时,它显示了一个绿色的小盒子,在菜单栏下的部分的右手结束。 您也可以检查“运行”菜单。 如果禁用“开始”,并启用“停止”,那么JMeter正在运行您的测试计划(或者,至少,它认为它是)。
绿色方块左侧的数字是活动线程数/线程总数。 这些只适用于本地运行的测试,他们不包括远程系统上的任何线程开始时,使用客户机 - 服务器模式。
3.6停止测试
停止命令,从菜单有两种类型:
停止(控制+'。') - 如果可能的话立即停止线程。 在JMeter的2.3.2版本后,现在很多采样中断的这意味着,活跃的样品可以提前终止。 stop命令将检查所有线程都默认的超时时间,这是5000毫秒= 5秒内停止。 这是可以改变的使用JMeter的财产jmeterengine.threadstop.wait ]如果线程没有停止过,然后显示一条消息。 “停止”命令,可以重试,但如果失败,那么它需要退出JMeter的清理。
关闭(控制+ ',')-请求线程停止任何当前工作结束。 不会中断任何积极的样品。 模态关机对话框中,将仍然有效,直到所有的线程都停止。
2.3.2 JMeter的版本后,允许将要发起的停止,如果关机时间过长。 关闭关机对话框中,选择“运行/停止,只要按下Control +'。”“。
当在非GUI模式运行JMeter中,有没有菜单,和JMeter没有反应,如控制按键+“。” 所以在2.3.2版本后,JMeter的非GUI模式将在一个特定的端口(默认为4445,见JMeter的jmeterengine.nongui.port jmeterengine.nongui.port )的命令听。 JMeter的支持在2.4之后的版本,自动选择备用端口,如果默认端口正在使用(例如另一个JMeter的实例)。 在这种情况下,JMeter将尝试下一个更高的端口,继续,直到它到达JMeter的财产jmeterengine.nongui.maxport )默认4455。 如果maxport是小于或等于port ,端口扫描不会发生。 注意JMeter的2.4和更早版本,没有设立非GUI客户端,只有非GUI的独立测试监听器,这已得到修复。
显示在控制台窗口中选择的端口。
目前支持的命令是:
关机 - 正常关机
StopTestNow - 立即关机
这些命令可以通过shutdown[.cmd|.sh]或stoptest[.cmd|.sh]脚本分别发送。 在JMeter的bin目录中找到这些脚本。 如果脚本是来自同一主机上运行,该命令将只接受。
3.7错误报告
JMeter的报告的jmeter.log文件中的警告和错误,以及一些测试运行本身的信息。 只是偶尔可能会出现一些错误,JMeter是无法捕捉和记录,这些将出现在命令控制台。 如果测试不行为像您期望的那样,请检查日志文件的情况下,任何已报告错误(例如,也许在一个函数调用的语法错误)。
抽样误差(如HTTP 404 - 找不到文件),一般都不会在日志文件中报告。 相反,这些存储作为样本结果的属性。 样本结果的状态可以看出,在各种不同的听众。
4。 测试计划的要素 | ||||||||||||||||||||||||||||||||||||||||||||
|
5。 建立一个Web测试计划 |
|
5.1添加用户 | |||
|
|||
5.2添加默认的HTTP请求属性 | |||
|
|||
5.3添加cookie支持 |
|
5.4添加HTTP请求 | |||
|
|||
5.5添加一个监听器来查看存储的测试结果 | |
|
|
5.6记录一个网站 | |
|