• JMeter ----与WebDriver安装与测试


    主要内容

    • 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的例子。

  • 相关阅读:
    一次http请求,谁会先断开TCP连接?什么情况下客户端先断,什么情况下服务端先断?
    nginx.conf详解
    50:树中两个结点的最低公共祖先
    49:把字符串转换为整数
    48:不能被继承的类
    47:不用加减乘除做加法
    46:求1+2+...+n
    45:圆圈中最后剩下的数字
    44:扑克牌顺子
    43:n个骰子的点数
  • 原文地址:https://www.cnblogs.com/saryli/p/5446525.html
Copyright © 2020-2023  润新知