终于抽出来时间整理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历史原创集合