FunTester框架教程(一)

2021-08-18 11:28:15 浏览数 (1)

终于抽出来时间整理FunTester测试框架的教程了,可喜可贺,希望大家能多多支持FunTester

PS:本教程以文字版为主,视频版视情况录制或者直播。

环境搭建

郑重承诺:FunTester框架教程会兼顾JavaGroovy两门语言,DCS_FunTester也是支持两门语言的,但不在本教程范围内。

Java环境

这个过于简单,不再赘述。

Groovy环境

这个可有可无,但是最好有,不然打包的时候会把Groovy依赖当做环境变量,无法打包到jar包中。

  • 下载Groovy3.0.8的zip包
  • 解压,找个舒服的地方存储
  • 配置环境变量
  • 运行groovy -v测试是否安装成功

PS:如果找不到,或者下载特别慢,请后台回复 Groovy 获取网盘下载地址,一共71M。

这里有个坑,Groovy需要环境变量里面有个Java_home这个配置,我遇到过一次。大家可以根据自己的报错情况修改自己的配置。

这是我本机的配置,可以做个参考:

代码语言:javascript复制
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也行,后面教程会支持JavaGroovy),main方法代码如下:

代码语言:javascript复制
    public static void main(String[] args) {
         3.times {
            output(it)
        }
    }

如果你控制台输出了以下内容,恭喜你本章结束啦!

代码语言:javascript复制
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分支中用不到的包和类,我已经注释了。、

代码语言:javascript复制
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(工具类)

FunTester测试框架源码目录结构

Have Fun ~ Tester !

FunTester测试框架和分布式测试框架DCS_FunTester官方账号,欢迎关注!

0 人点赞