JMeter (1) —— JMeter与WebDriver安装与测试(101 Tutorial)


主要内容

  • JMeter安装

  • WebDriver安装

  • 一个简单的JMeter+WebDriver示例

环境与参考

jvm版本: 1.8.0_65

jmeter版本: 2.13

firefox版本: 39.0.3

参考来源:

jmeter官方网站

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

Homebrew

安装

有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,可能会出现错误

一个简单的示例

  1. 为测试计划(Test Plan)新建一个线程组(Thread Group)

    添加完成:

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

    添加完成:

  3. 为线程组添加一个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')
    }

    添加完成:

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

    添加完成

  5. 运行测试计划

    查看日志

这样就完成一个最简单的JMeter和WebDriver的例子。

结束

JMeter (1) —— JMeter与WebDriver安装与测试(101 Tutorial)的更多相关文章

  1. JMeter ----与WebDriver安装与测试

    JMeter ----与WebDriver安装与测试 主要内容 JMeter安装 WebDriver安装 一个简单的JMeter+WebDriver示例 环境与参考 jvm版本: 1.8.0_65 j ...

  2. JMeter (2) —— JMeter与WebDriver测试用户登陆以CAS SSO为例(101 Tutorial)

    JMeter (2) -- JMeter与WebDriver测试用户登陆以CAS SSO为例(101 Tutorial) 主要内容 JMeter与WebDriver测试用户登陆以CAS SSO为例 环 ...

  3. JMeter (3) —— JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial)

    JMeter (3) -- JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial) 主要内容 JMeter录制脚本并进行压力测试用户登陆场景,并以CAS SSO单点 ...

  4. JMeter和JMeterPlugin的下载安装

    JMeter和JMeterPlugin的下载安装 Apache Jmeter是一个100%的纯Java桌面应用,主要是针对web的压力和性能测试,但后来扩展到其他测试领域.Jmeter可以用于测试FT ...

  5. 【jmeter】jMeter使用Badboy录制Web测试脚本

    JMeter 是纯Java编写的软件功能和性.能测试工具,其录制脚本过于笨拙和复杂.而Badboy是用C++开发的动态应用测试工具,其拥有强大的屏幕录制和回放 功能,同时提供图形结果分析功能,刚好弥补 ...

  6. JMeter自学笔记1-环境安装

    一.写在前面的话: Jmeter是一款优秀的开源测试工具, 是每位测试工程师进阶过程中,需要熟悉并掌握的一款测试工具,熟练使用Jmeter能大大提高工作效率. Jmeter环境安装需要依赖JDK,所以 ...

  7. Jmeter 01 Jmeter下载安装及入门

    jmeter简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域.--百度百科 下载 下载 ...

  8. 05 - Jmeter连接多台电脑做压力测试

     在使用Jmeter进行接口的性能测试时, 由于Jmeter是JAVA应用, 对于CPU的内存消耗比较大, 所以, 当需要模拟数以万计的的并发用户时, 使用单台机器模拟所有用户并发就会有些力不从心了, ...

  9. JMeter在Mac下的安装

    其实不论操作系统是Windows.Unix(如Mac OS).Linux(如Ubuntu)等,JMeter所需要的基础环境配置都是类似的,本文介绍JMeter for MAC的安装与环境配置. JMe ...

随机推荐

  1. Ubuntu下设置开机后自动运行命令(转)

    从道理上来讲,Ubuntu开机应该是能够设置执行一些脚本的,事实上确实如此,网上给出了很多解决的方案,基本上是分为两种, 第一种是编辑/etc/下的rc.local脚本, 然后把对应的需要执行的脚本写 ...

  2. Linux系统和工具集

    Linux系统和工具集 阿里源 http://mirrors.aliyun.com/ http://centos.ustc.edu.cn/ 第三方包管理器 不同的发行版使用不同的软件包管理器,Cent ...

  3. Windows 计划任务 Task Schedule 怎么 运行 .bat文件

    1. 新建 test.bat 需要切换文件夹以后 并且执行程序. cd /D "F:\xxxfolder" && dotnet testdll.dll 2. 直接设 ...

  4. andorid 直接解压后的xml的解密

    1.首先可以去看看这个gitHub: https://github.com/tracer0tong/axmlprinter 2.把apk.py 和 axmlprinter.py下载下来. 2.1(如果 ...

  5. R概率分布函数使用小结

    记要 今天在计算分类模型自行区间时,用到了R中正太分布的qnorm函数,这里做简单记要,作为备忘. R中自带了很多概率分布的函数,如正太分布,二次分布,卡放分布,t分布等,这些分布的函数都有一个共性, ...

  6. 深入理解Linux内核-中断和异常

    Linux内核代码查看 http://androidxref.com/ 中断:被定义位一个事件,它能改变处理器执行指令的顺序.它对应硬件(CPU.其他硬件设备)电路产生的电信号. 同步中断:指令执行时 ...

  7. C++11 constexpr使用

    C++11为了提高代码执行效率做了一些改善.这种改善之一就是:生成常量表达式,允许程序利用编译时的计算能力.假如你熟悉模板元编程,你将发现constexpr使这一切变得更加简单.constexpr使我 ...

  8. Redis List数据类型

    一.概述:      在Redis中,List类型是按照插入顺序排序的字符串链表.和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素.在插入时,如果该键并不存在, ...

  9. 【驱动】USB驱动实例·串口驱动·键盘驱动

    Preface   USB体系支持多种类型的设备. 在 Linux内核,所有的USB设备都使用 usb_driver结构描述.    对于不同类型的 USB设备,内核使用传统的设备驱动模型建立设备驱动 ...

  10. FIDDLER的使用方法及技巧总结(连载三)FIDDLER使用技巧及方法

    (接上篇!~~~~) 三.FIDDLER使用技巧及方法 1.AutoResponder选项卡的使用 Fiddler的AutoResponder 选项卡允许你使用本地硬盘的文件来作为返回内容,而不是把请 ...