专栏首页测试技术圈JMeter 接口自动化:二次封装源码

JMeter 接口自动化:二次封装源码

转自:测试窝公众号

JMeter纯Java开发,界面也是基于Swing或AWT搞出来的,所以想更深层次的去了解这款工具或对于想了解JMeter插件开发或二次开发的童鞋们来说,读读JMeter的源码估计是必不可少的,所以首先就得把源码整合起来,方便后面的Debug和二次开发,下面整理了关于JMeter源码整合到Eclipse中的一个过程,希望对大家有一定的帮助。

1. 首先下载源文件:http://jmeter.apache.org/download_jmeter.cgi

2. 然后解压下载的源码文件到本地路劲下面;

3. 打开Eclipse,建立一个JavaProject,按照下面的截图建立JavaProject;

4. 选择创建的Java项目,右键选择Import,然后选择“File System”

5. 定位到解压到本地路劲下的JMeter源码文件下,选择全部导入

6. 导入完成后,查看项目,全部是红色的X,这个太令人苦恼了,造成出现错误的原因是没有导入对应的jar包,

7. 我们可以利用Ant下载项目所需要的jar文件,操作步骤如下:

Eclipse –> Window –> Show View –> Ant, 将ant加入Eclipse的控制面板上,

然后选择Ant面板上的添加Buildfiles;

8. 选择该项目下的ant的构建文件“build.xml”

9. 在ant页面上双击“download_jars”,这个时候ant运行自动下载缺省的jar文件到项目下指定的路劲下,直到显示Build Success(这个过程中可能出现一些问题,由于网络受限,部分jar包无法下载,可能需要FQ,如果不想麻烦的,我稍后直接将所需要的jar包上传到云盘中,直接将jar包丢到lib下)

10. jar包下载完或直接将jar包已经复制到Lib文件夹下以后,这个时候右键选择项目 Build Path –> configure build path,然后选择“Add Jars”,

将lib下面所有的jar包都导入到项目中,jar包在lib下面的目录结构如下图所示,这个不能错(如果是用ant下载的,创建的目录结构就是这样的,如果自己下载jar包导入的,一定要注意lib下面的目录结构)。

jar包下载地址: https://yunpan.cn/crdkymEH8hD49 (提取码:3b14)

11. 导入成功以后再次查看项目,就可以看到万恶的红X都没有了,但是这个时候项目还不能成功运行,还需要进行下面的操作,

12. 关闭Eclipse, 进入到该Java项目的本地文件夹下,需要删除原有的“.classpath”,将“eclipse.classpath”重命名为“.classpath”,由于Windows本身的限制,所以需要进入到CMD下面进行对应的操作,如下图所示:

13. 上述操作完成后,重新打开Eclipse,找到项目的入口,

main方法,/jmeter/src/core/org/apache/jmeter/NewDriver.java

运行该项目发现还是报错,如下图所示,各种Google,各种尝试,都没有解决,其实错误的原因说的非常明确,就是bin下面缺少“jmeter.properties”,万万没想到啊,完整的项目导入为什么就没有将该配置文件导入呢?想不通,只要到源码文件中的bin目录下将该配置文件复制到项目的bin目录下,就解决了这个问题一大步了,操作如下图所示:

14. 上述操作完成以后,再次选择该项目,右键选择NewDriver这个main类, 选择 Run As –> Run Configuration, 按照下面的操作,就完美的解决了上面的报错。

15. 完成上面所有的操作以后,就可以尽情的各种Debug和二次开发操作了。

本文分享自微信公众号 - V社 北京社(SoftwareTesters)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 客户实践 | 泰康保险集团基于 Jira 打造 DevOps 工具链

    作者简介:郭鸿,泰康保险集团 Jira 和 Confluence 组织级管理员及敏捷教练。负责集团及子公司的 DevOps 落地实施及推广和 TDS(Taika...

    Criss@陈磊
  • DockerFile 详解

    Dockerfile由一行行命令语句组成,并且支持用“#”开头作为注释,一般的,Dockerfile分为四部分:基础镜像信息,维护者信息,镜像操作指令和容器启动...

    Criss@陈磊
  • UI自动化(Webdriver+Appnium通吃方案)中验证码的识别方法(源代码)

    下载 tesseract-ocr-setup-3.02.02.exe安装(双击一路下一步然后finish),然后把tesseract-ocr的的安装目录添加到系...

    Criss@陈磊
  • maven依赖冲突以及解决方法

    依赖冲突很经常是类包之间的间接依赖引起的。每个显式声明的类包都会依赖于一些其它的隐式类包,这些隐式的类包会被maven间接引入进来,从而造成类包冲突

    lyb-geek
  • maven依赖冲突以及解决方法

    依赖冲突很经常是类包之间的间接依赖引起的。每个显式声明的类包都会依赖于一些其它的隐式类包,这些隐式的类包会被maven间接引入进来,从而造成类包冲突

    lyb-geek
  • Rust FFI 编程 - 手动绑定 C 库入门 04

    本篇,我们说明 Rust 调用 C 的另外一种场景:内存在 Rust 这边分配,在 C 中进行填充。

    MikeLoveRust
  • Townscript票务平台的任意账户劫持

    本文讲述了印度票务平台Townscript缺乏速率限制,以及密码重置缺陷导致的任意账户劫持漏洞。速率限制(Rate Limiting)仍是大多数Web应用不太重...

    FB客服
  • HTML5学习-day01【悟空教程】

    网页超文本应用技术工作小组是一个以推动网络HTML 5 标准为目的而成立的组织。在2004年,由Opera、Mozilla基金会和苹果这些浏览器厂商组成。

    Java帮帮
  • 潘石屹用Python解决100个问题 | 集合

    两个乒乓球队进行单打比赛,每队各有三人。其中甲队是a、b、c三人,乙队是x、y、z三人,已根据抽签结果确定了比赛的名单,但没有公开,有人向队员打听对战的名单。a...

    week
  • struts

    客户端浏览器通过HTTP请求,访问控制器,然后控制器读取配置文件,然后执行服务器端跳转,执行相应的业务逻辑,然后,在调用模型层,取得的结果展示给jsp页面,最后...

    mySoul

扫码关注云+社区

领取腾讯云代金券