FunTester框架教程(一)
终于抽出来时间整理FunTester测试框架的教程了,可喜可贺,希望大家能多多支持FunTester。
PS:本教程以文字版为主,视频版视情况录制或者直播。
环境搭建
郑重承诺:FunTester框架教程会兼顾Java
和Groovy
两门语言,DCS_FunTester也是支持两门语言的,但不在本教程范围内。
Java环境
这个过于简单,不再赘述。
Groovy环境
这个可有可无,但是最好有,不然打包的时候会把Groovy
依赖当做环境变量,无法打包到jar包中。
- 下载Groovy3.0.8的zip包
- 解压,找个舒服的地方存储
- 配置环境变量
- 运行
groovy -v
测试是否安装成功
PS:如果找不到,或者下载特别慢,请后台回复 Groovy
获取网盘下载地址,一共71M。
这里有个坑,Groovy
需要环境变量里面有个Java_home
这个配置,我遇到过一次。大家可以根据自己的报错情况修改自己的配置。
这是我本机的配置,可以做个参考:
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Home
CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
GROOVY_HOME=/Users/oker/Library/groovy-3.0.8
GRADLE_HOME=/Users/oker/Library/gradle-6.8
PATH=$JAVA_HOME/bin:$PATH:
PATH=$GRADLE_HOME/bin:$PATH:
PATH=/Users/oker/Library/k6/0.31.1/bin:$PATH:
PATH=$GROOVY_HOME/bin:$PATH:
export JAVA_HOME
export CLASSPATH
export PATH
pull FunTester项目
gitee地址:
- git@gitee.com:fanapi/tester.git
- https://gitee.com/fanapi/tester.git
两种方式任选其一,如果其中一个失败,建议试试另外一个。不建议下载项目zip包。PS:请注意分支为oker。
FunTester使用Gradle
作为构建工具。我本机的版本是6.8
。据传说Intellij从2021开始,默认会有个Gradle版本,如果你第一次构建项目会使用默认版本,当然需要下载默认版本,可能会很慢。这个解决办法不便多说,可以上网搜一搜。
运行hello word
找个舒服的位置,创建一个测试类,记得创建Groovy class
(当然创建Java class
也行,后面教程会支持Java
和Groovy
),main
方法代码如下:
public static void main(String[] args) {
3.times {
output(it)
}
}
如果你控制台输出了以下内容,恭喜你本章结束啦!
INFO-> 当前用户:oker,工作目录:/Users/oker/IdeaProjects/funtester/,系统编码格式:UTF-8,系统Mac OS X版本:10.16
INFO-> 0
INFO-> 1
INFO-> 2
Process finished with exit code 0
项目结构
FunTester测试框架项目结构图如下,在oker
分支中用不到的包和类,我已经注释了。、
base(基础类)
bean(Java bean)
constaint(抽象类)
exception(自定义异常)
interfaces(接口集合)
config(配置和常量)
db(数据库封装)
mongodb(MongoDB封装,已注释)
mysql(mysql封装,已注释)
redis(Redis封装,已注释)
dubbo(dubbo封装)
frame(框架核心代码)
execute(执行工具类)
thread(性能测试多线程类)
JsonVerify(JSON验证封装,基于JsonPath)
Output(输出功能封装)
ResponseVerify(响应验证封装,即将放弃)
Save(数据存储方法封装)
SourceCode(常用方法封装)
httpclient(HTTP协议封装)
ClientManage(HTTP客户端封装)
FunLibrary(HTTP请求响应封装)
FunRequest(HTTP相关封装方法)
GCThread(资源回收多线程类)
socket(socket协议封装)
utils(工具类)
Have Fun ~ Tester !
FunTester测试框架和分布式测试框架DCS_FunTester官方账号,欢迎关注!
- FunTester测试框架架构图初探
- 10万QPS,K6、Gatling和FunTester终极对决!
- 单机12万QPS——FunTester复仇记
- 超万字回顾FunTester的前世今生
- 生产环境中进行自动化测试
- 编写测试用例的技巧
- 成为自动化测试的7种技能
- 物联网测试
- 测试为何会错过Bug
- Selenium自动化最佳实践技巧(上)
- Selenium自动化最佳实践技巧(中)
- Selenium自动化最佳实践技巧(下)
- Socket接口异步验证实践
- Selenium 4以后,再不相见的API
点击阅读阅文,查看FunTester历史原创集合
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2020-08-12 Charles报错Failed to install helper解决方案