jmeter学习记录--10--二次开发环境搭建

JMeter源码集成到EclipseJMeter二次开发(1)-eclipse环境配置及源码编译 ,根据此文章记录将jmeter源码集成到myecplise

第一步:下载jmeter源码http://jmeter.apache.org/download_jmeter.cgi,版本4.0。

第二步:jdk、ant环境配置。jdk1.8的。

在源码build.xml同一路径下,下载jar包。

ant download_jars

ant install 

第三步:ecplise中添加java project(注意jdk版本是1.8的),选中“Allow output folders for source folders”,完成。将源码导入到项目(import->文件系统)。 import到项目之后,会发现此时src中,有关于路径报错,此时找到项目所在目录,把eclipse.classpath中的内容复制到.classpath文件中,重启eclipese。

或者:关闭项目。在源码路径下,将原有.classpath文件删除,再将新的进行重命名。

D:\>cd D:\Workspaces\MyEclipse 10\jmeter

D:\Workspaces\MyEclipse 10\jmeter>del .classpath

D:\Workspaces\MyEclipse 10\jmeter>ren eclipse.classpath .classpath

第四步:导入jar包

1.下载Jmeter的Release版本

2.将Release版本下的lib文件夹中的jar文件拷贝到eclipse工程中的lib文件夹下

3.在java build path中查看是否有missing的jar包

4.把ant控制台打开路径:eclipse-->Window-->Show  View -->Ant,将ant加入Eclipse的控制面板上,然后选择Ant面板上的添加Buildfiles;

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

6.在ant页面上双击“download_jars”,这个时候ant运行自动下载缺省的jar文件到项目下指定的路劲下,直到显示Build Success

7.jar包下载完,这个时候右键选择项目 Build Path –> configure build path,然后选择“Add Jars”,将lib下面所有的jar包都导入到项目中

第五步:替换jmeter.properties文件

把release版中,jmeter/bin目录下的jmeter.properties文件,分别拷贝到eclipse工程中的 bin文件中和拷贝到eclipse工程中/src/core/org/apache/jmeter/下

第六步:再次打开,执行项目。

1.找到运行入口设置Run configurations

package org.apache.jmeter;

NewDriver.java

 

2.添加一个运行设置

 

3.选择工作目录

 

 4.Ant构建,双击即可

 

5.启动验证

 

执行时如果提示缺失文件,则到release版本相应的路径下拷贝一份过来。再次运行。

 

遇到问题:原来使用myecplise2013,jmeter3.2,jdk1.7总是报错。

执行报错:Errors running builder 'Java Builder' on project 'jmeter',还有 "The type java.lang.CharSequence cannot be resolved. It is indirectly referen"这类错误。

网上都说是,jre版本所致,然后在ecplise里将jdk由jdk1.8.0_131、jdk1.8.0_45、jdk1.7.0_79都切了一下,发现哪个版本下都有问题。

 

 

2018-04-24记录 环境搭建成功

本机环境:win7+32位操作系统

Myecplise环境:MyEclipse Enterprise Workbench Version: 2016 Stable 1.0 Build id: 14.0.0-20160624

Jdk环境:1.8.0_131

Ant环境:1.9.9

Jmeter版本:jmeter 4.0

 

http://www.cnblogs.com/buaawp/p/5287604.html

https://my.oschina.net/pEHq2WMa5p5/blog/863053

 

 

使用intellij开发工具:Jmeter + Intellij IDEA源码编译

 

<think>我们设计一个为期10周(每周日上课)的课程表,每天8小时(10:00-18:00),中午12:00-14:00休息。课程分为四个模块:Python基础、自动化测试(重点接口)、性能测试(Python+Locust)、测试开发。 思维导图形式展示课程内容: ```mermaid graph TD A[测试技术培训] --> B[Python基础<br>3周] A --> C[自动化测试<br>4周] A --> D[性能测试<br>1周] A --> E[测试开发<br>2周] B --> B1[语法基础] B --> B2[面向对象] B --> B3[测试相关库] C --> C1[UI自动化-Selenium] C --> C2[接口自动化-重点] C2 --> C21[Requests] C2 --> C22[Pytest] C2 --> C23[数据驱动] C2 --> C24[持续集成] D --> D1[Locust基础] D --> D2[性能测试场景] D --> D3[结果分析] E --> E1[测试框架设计] E --> E2[测试平台开发] E --> E3[工具链集成] ``` 详细课程表(每周日10:00-18:00,中午休息2小时): | 周次 | 模块 | 上午(10:00-12:00) | 下午(14:00-18:00) | 实战项目/作业 | |------|--------------------|------------------------------------------|-----------------------------------------------------|-------------------------------------------| | 1 | Python基础 | Python语法基础:变量、数据类型、流程控制 | 函数、模块、异常处理;文件操作(JSON/CSV) | 编写一个文件处理工具,支持JSON/CSV转换 | | 2 | Python进阶 | 面向对象编程:类、继承、多态 | 常用库:requests, logging, unittest;单元测试实践 | 实现一个支持日志记录的API请求工具 | | 3 | Python测试库 | Pytest框架入门:用例编写、断言、夹具 | 参数化测试、Allure报告生成;Mock技术 | 为API工具编写Pytest测试用例并生成报告 | | 4 | UI自动化 | Selenium基础:元素定位、页面操作 | Page Object模式;Pytest集成Selenium | 电商网站登录、搜索功能自动化 | | 5 | **接口自动化** | Requests深度使用:HTTP协议、会话管理 | 接口测试框架设计:封装请求、数据驱动 | 搭建接口测试框架,实现登录接口测试 | | 6 | **接口高级实战** | 接口安全:OAuth2.0/JWT;接口依赖处理 | Mock服务(使用Python库);持续集成(GitHub Actions)| 实现带Token验证的接口测试并集成到CI | | 7 | **接口性能一体化** | 接口性能测试基础:Locust核心概念 | 编写Locust性能测试脚本;分布式压测 | 对接口进行压力测试并生成报告 | | 8 | 性能测试 | 性能监控与分析:资源监控、结果分析 | 性能调优实战;Locust与Prometheus集成 | 分析性能瓶颈并优化 | | 9 | 测试开发(上) | 测试框架优化:插件机制、配置管理 | 测试报告定制:Allure二次开发;钉钉/邮件通知 | 开发一个带通知功能的测试报告插件 | | 10 | 测试开发(下) | 测试工具链:Docker化测试环境 | 低代码测试平台初探;测试数据工厂设计 | 构建一个测试用例管理平台原型 | ### 课程说明 1. **接口自动化重点强化**(第5-7周): - 第5周:基础框架搭建,使用`requests`+`pytest`实现接口测试。 - 第6周:高级主题,包括安全认证、Mock服务和CI集成。 - 第7周:接口性能测试,使用Locust替代JMeter,实现性能功能一体化。 2. **性能测试革新**: 使用Locust(基于Python)替代传统JMeter,优势包括: - 用Python编写脚本,与已有技能栈统一 - 支持分布式压测和动态扩展 - 与自动化测试框架无缝集成 3. **测试开发实战**: - 第9周:优化测试框架,增加插件和定制报告。 -10周:探索测试平台开发,使用Docker和低代码技术。 ### 每日课程时间安排 - **10:00-12:00**:理论讲解+示例演示 - **12:00-14:00**:午休 - **14:00-15:30**:实战练习(学员动手) - **15:30-15:45**:休息 - **15:45-17:30**:项目实战/小组协作 - **17:30-18:00**:作业点评与答疑 ### 配套资源 - **代码仓库**:提供每节课的示例代码和作业模板(GitHub私有仓库) - **实验环境**:在线Python环境(Jupyter+GPU加速),支持Locust分布式压测 - **学习平台**:课程视频回放+在线答疑论坛 ### 学习目标 完成课程后,学员将能够: 1. 使用Python编写自动化测试脚本(UI+接口) 2. 搭建企业级接口自动化测试框架 3. 使用Locust实施性能测试并分析结果 4. 开发测试效率工具和简单测试平台 ### 相关问题 1. 在接口自动化测试中,如何处理动态Token的认证机制? 2. Locust分布式压测时如何协调多个Worker节点? 3. 如何设计可扩展的测试框架以支持多种协议(HTTP/WebSocket/gRPC)? 4. 测试平台开发中,如何平衡低代码和灵活性的需求? > 参考精益创业思想,课程强调“边做边学”,学员在第一天就会开始编写可运行的测试脚本,并在后续课程中不断迭代完善,最终形成可投入实际项目的测试框架[^2]。</think>### 测试开发实战课程表设计(10周) ```mermaid graph TD A[测试开发课程体系] --> B[Python基础<br>3周] A --> C[自动化测试<br>4周] A --> D[性能测试<br>2周] A --> E[测试开发<br>1周] B --> B1[基础语法] B --> B2[数据结构] B --> B3[函数与OOP] B --> B4[文件处理] B --> B5[异常处理] B --> B6[测试框架基础] C --> C1[UI自动化-Selenium] C --> C2[接口自动化核心] C2 --> C21[Requests库] C2 --> C22[Pytest框架] C2 --> C23[数据驱动] C2 --> C24[Mock服务] C2 --> C25[持续集成] C2 --> C26[安全测试] D --> D1[Locust基础] D --> D2[场景设计] D --> D3[分布式压测] D --> D4[监控分析] E --> E1[框架设计] E --> E2[报告定制] E --> E3[工具链搭建] ``` ### 详细课程安排(每周日10:00-18:00,午休12:00-14:00) #### 时间分段: - **上午**:10:00-12:00(理论+演示) - **下午**:14:00-16:00(实战演练) - **傍晚**:16:15-18:00(项目开发+答疑) | 周次 | 模块 | 核心内容 | 实战项目 | |------|--------------------|--------------------------------------------------------------------------|--------------------------------------------------------------------------| | 1 | Python基础 | 语法/数据结构/函数/文件操作<br>Jupyter环境搭建 | 开发数据清洗工具处理测试数据 | | 2 | Python进阶 | OOP编程/装饰器/异常处理<br>Requests库基础 | 实现API请求工具包(支持GET/POST) | | 3 | 测试框架基础 | Pytest核心机制/夹具设计<br>Allure报告定制 | 搭建自动化测试脚手架框架 | | 4 | **UI自动化** | Selenium元素定位/Page Object<br>跨浏览器测试方案 | 电商网站核心流程自动化(登录-搜索-下单) | | 5 | **接口自动化核心** | RESTful接口测试/认证机制<br>(OAuth2/JWT)/数据驱动测试 | 支付系统接口测试框架开发 | | 6 | **接口高级实战** | 异步接口测试/Mock服务<br>自动化断言工厂/CI集成(GitHub Actions) | 搭建持续集成流水线(代码提交触发测试) | | 7 | **性能测试基础** | Locust核心架构/脚本开发<br>性能指标体系(TPS/响应时间) | 实现API压力测试脚本(模拟1000并发) | | 8 | **性能深度实践** | 分布式压测/场景设计<br>Prometheus监控集成/结果分析 | 电商系统全链路压测(登录→浏览→下单) | | 9 | 测试开发工具链 | 测试框架插件开发<br>Docker化测试环境 | 开发Allure+钉钉智能报告系统 | | 10 | 测试平台实战 | 低代码测试平台设计<br>测试数据工厂实现 | 构建测试用例管理平台原型 | ### 关键设计亮点 1. **接口测试强化**(占比40%): - 安全测试:OAuth2/JWT令牌处理 - 异步测试:WebSocket/MQ消息队列 - 契约测试:基于OpenAPI规范验证 ```python # 接口测试脚手架示例 class APITester: def __init__(self, base_url): self.session = requests.Session() self.base_url = base_url def auto_assert(self, response, validators:list): """智能断言工厂""" for v in validators: assert v(response), f"Assert failed: {v.__name__}" ``` 2. **Locust性能方案优势**: - 纯Python编写,与自动化测试技能栈统一 - 支持动态调整并发数:`$ locust -u 1000 -r 100` - 分布式压测:单机可模拟10万+并发 ```python from locust import HttpUser, task class PaymentLoadTest(HttpUser): @task(3) def pay_order(self): self.client.post("/pay", json={...}) ``` 3. **边做边学**实战设计: - 第1周即产出可用工具 - 每周项目迭代演进(工具→框架→平台) - 最终交付企业级测试框架原型[^2] ### 学习资源体系 ```mermaid flowchart LR A[课前] --> B[预习资料包] C[课中] --> D[在线实验环境] E[课后] --> F[自动化作业评测] G[结业] --> H[项目成果展示] ``` > 通过“边做边学”模式,学员将在第1周就产出可用工具,打破传统“先学习后实践”的模式,直接创造测试工具价值[^2]。 ### 相关问题 1. 在Locust中如何模拟真实用户的思考时间(think time)? 2. 如何设计数据驱动测试支持多环境(测试/预发/生产)? 3. 接口自动化框架如何处理动态令牌(token)的认证机制? 4. 在持续集成中如何设置质量门禁阻止不合格代码合并?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值