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. Linux 定时任务【转载,整理】

    目前,我已知的定时任务实现方法有两种:cron or systemd job,这里主要介绍cron的用法 一.crontab 简介 crontab命令的功能是在一定的时间间隔调度一些命令的执行.该命令 ...

  2. App开发准备

    一. Android开发 二. IOS开发 1. 准备苹果电脑 Mac pro 一般比较贵,很少人或公司使用 替代的产品为 iMac 或 Mac mini 中配8G内存版 2. 准备苹果开发者账户,才 ...

  3. thinkphp的系统变量

    define('EXT', '.php'); define('DS', DIRECTORY_SEPARATOR); defined('THINK_PATH') or define('THINK_PAT ...

  4. thinkphp AOP(面向切面编程)钩子和行为

    在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是OOP的延续,是软件开发中的 ...

  5. django 文档生成器

    参考博客:http://www.liujiangblog.com/course/django/160

  6. [转载]Cortana 设计指导方针

    来源:@微软中国MSDN,源地址:http://weibo.com/p/1001603898586285925224 使用语音命令,延伸 Cortana 与您的应用程序所提供的功能.启动应用程序,启动 ...

  7. [LintCode] Subarray Sum & Subarray Sum II

    Subarray Sum Given an integer array, find a subarray where the sum of numbers is zero. Your code sho ...

  8. C++ Primer笔记 容器和算法(2)

    erase 删除后  返回的是删除元素的后一个迭代器位置 int main() { //怎样正确的删除全部元素 循环 int a[]={1,2,3,4,5,6,7,8,9}; vector<in ...

  9. Android学习之Design Support Library中TextInputLayout的使用

    今天学习了一个Android Design Support Library 中的TextInputLayout控件,感觉还不错,较之以往的Editetxt,多了几分灵活性,使用也非常easy,故此给大 ...

  10. setRequestedOrientation

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//通过程序改变屏幕显示的方向 1.landscape:横屏(风景 ...