JMeter ----与WebDriver安装与测试
JMeter ----与WebDriver安装与测试
主要内容
JMeter安装
WebDriver安装
一个简单的JMeter+WebDriver示例
环境与参考
jvm版本: 1.8.0_65
jmeter版本: 2.13
firefox版本: 39.0.3
参考来源:
Leverage your Load Testing using JMeter and Selenium WebDriver
jmeter-plugins.org:FirefoxDriverConfig
jmeter-plugins.org:WebDriverTutorial
jmeter-plugins.org:WebDriverSampler
Using Selenium with JMeter's WebDriver Sampler
安装
有brew的童鞋可以很方便的通过命令行安装
$ brew install jmeter --with-plugins
然后运行
$ jmeter
没有brew的童鞋可以自行下载然后通过java运行,关于插件也需要自行手动下载安装:
- Unzip jmeter bundle
- Unzip jmeter-plugins bundles
- Copy JMeterPlugins-WebDriver-1.3.1/lib/ext/JMeterPlugins-WebDriver.jar into jmeter/lib/ext
- Copy JMeterPlugins-Standard-1.3.1/lib/ext/JMeterPlugins-Standard.jar into jmeter/lib/ext
- Copy JMeterPlugins-WebDriver-1.3.1/lib/*.jar into jmeter/lib/
*注意:Webdriver依赖的jar和JMeter依赖的jar会有冲突,可能会导致以下错误:

我们需要移除:
- httpclient-4.2.6.jar
- httpcore-4.2.5.jar
- httpmime-4.2.6.jar
并保留较高版本

测试
准备
在测试之前我们需要先查看firefox的版本,由于当前使用的最新版jmeter 2.13对firefox40+支持的还不是特别好,可能会出现错误,所以我将本地的firefox重新安装了一个实例,版本为39.0.3。firefox 40+下对Selenium IDE 2.9.1 Addon支持的也不是很好,在录制脚本的时候会漏掉某些动作,在此不赘述,会在Selenium自动化测试中详细介绍。

究其原因,主要是因为我们查看jmeter2.13的release note其依赖的WebDriver plugin 1.3.1依赖的是selenium-firefox-driver-2.47.0.jar,而这个版本对firefox的支持可以在其github的release note上找到


如果本地firefox是40+的版本,我这里使用的是43,可能会出现错误

一个简单的示例
为测试计划(Test Plan)新建一个线程组(Thread Group)

添加完成:

为线程组添加一个Firefox Driver配置

添加完成:

为线程组添加一个WebDriver Sampler配置

并加入以下脚本:
WDS.sampleResult.sampleStart()
try { WDS.browser.get('http://baidu.com')
WDS.sampleResult.sampleEnd()
} catch(ex) {
WDS.sampleResult.sampleEnd()
WDS.sampleResult.setSuccessful(false)
WDS.sampleResult.setResponseMessage('Expected title to be Baidu')
}添加完成:

为线程组添加一个结果配置(View Results in Table)

添加完成

运行测试计划

查看日志

这样就完成一个最简单的JMeter和WebDriver的例子。
本文摘自 :清明-心若淡定 https://www.cnblogs.com/saryli/p/5446525.html
JMeter ----与WebDriver安装与测试的更多相关文章
- JMeter (1) —— JMeter与WebDriver安装与测试(101 Tutorial)
JMeter (1) -- JMeter与WebDriver安装与测试(101 Tutorial) 主要内容 JMeter安装 WebDriver安装 一个简单的JMeter+WebDriver示例 ...
- JMeter (2) —— JMeter与WebDriver测试用户登陆以CAS SSO为例(101 Tutorial)
JMeter (2) -- JMeter与WebDriver测试用户登陆以CAS SSO为例(101 Tutorial) 主要内容 JMeter与WebDriver测试用户登陆以CAS SSO为例 环 ...
- JMeter (3) —— JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial)
JMeter (3) -- JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial) 主要内容 JMeter录制脚本并进行压力测试用户登陆场景,并以CAS SSO单点 ...
- 【JMeter】插件安装
安装插件的方法有两种,一种是传统的方式,即官网下载,本地配置,重启jmeter.现在有一种快捷的方法可以自定义安装插件-插件管理器 JMeter 插件管理器的使用方法很简单:不要手动安装各种插件,它提 ...
- 使用JMeter进行简单的压力测试
一.压力测试 顾名思义:压力测试,就是 被测试的系统,在一定的访问压力下,看程序运行是否稳定/服务器运行是否稳定(资源占用情况). 比如: 2000个用户同时到一个购物网站购物,这些用户打开页面的速 ...
- JMeter使用jar进行压力测试
最近需要对改造的redis缓存接口做压力测试,使用了开源压力测试工具JMeter,分享一下自己的使用经验,希望能对需要进行压力测试的开发同学有所帮助. JMeter介绍 JMeter是Apache软件 ...
- Windows和Linux的Jmeter分布式集群压力测试
Windows的Jmeter分布式集群压力测试 原文:https://blog.csdn.net/cyjs1988/article/details/80267475 在使用Jmeter进行性能测试时, ...
- Selenium (1) —— Selenium安装与测试(101 Tutorial)
Selenium (1) -- Selenium安装与测试(101 Tutorial) jvm版本: 1.8.0_65 selenium版本: v2.48.0 (Standalone Selenium ...
- 使用 JMeter 完成常用的压力测试 [转]
讲到测试,人们脑海中首先浮现的就是针对软件正确性的测试,即常说的功能测试.但是软件仅仅只是功能正确是不够的.在实际开发中,还有其它的非功能因素也起着决定性的因素,例如软件的响应速度.影响软件响应速度的 ...
随机推荐
- cc、gcc、g++、CC的区别概括
gcc是C编译器:g++是C++编译器:linux下cc一般是一个符号连接,指向gcc:gcc和g++都是GUN(组织)的编译器.而CC则一般是makefile里面的一个名字,即宏定义,嘿,因为Lin ...
- ChinaCock界面控件介绍-CCNavigateTitle
先看一下实际项目中的运行效果,如图,通过品牌的导航栏,显示不同品牌的商品列表. 完全基于ChinaCock控件包中CCNavigateTitle组件实现的,这是一个可视控件,从组件面板上拖放一个到Fo ...
- CentOS安装JDK9
1.使用XShell将下载好的jdk-9.0.1_linux-x64_bin.tar.gz包上传到/opt/下 2.解压文件 $ tar -zxvf jdk-9.0.1_linux-x64_bin.t ...
- sequence to sequence模型
sequence to sequence模型是一类End-to-End的算法框架,也就是从序列到序列的转换模型框架,应用在机器翻译,自动应答等场景. Seq2Seq一般是通过Encoder-Decod ...
- Git版本退回和修改
首先我们来看看我们的第一个版本: 我的git文件如下: 那我们来修改一下这个文件 然后提交 那我们来查看一下提交的记录:使用git log 当我们使用 git log --pretty=oneline ...
- mac上不了网
不知怎么回事勾选了socks代理导致ping的通但打不开网页软件登不了
- [LeetCode&Python] Problem 389. Find the Difference
Given two strings s and t which consist of only lowercase letters. String t is generated by random s ...
- input标签(单选框和复选框)
单选框: <form> <input type="radio" name="..." value="..." checke ...
- 2018.4.23 git常用操作命令收集(转)
Git常用操作命令收集: 1. 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v ...
- 2017.4.5 Strom
Strom是分布式实时计算系统,它对于实时计算的意义类似于hadoop对于批处理的意义.与Storm关系密切的语言:核心代码用clojure书写,实用程序用python开发,使用java开发拓扑. S ...