「原创声明:保留所有权利,禁止转载」
终于抽出来时间整理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 历史原创集合
TesterHome 为用户提供「保留所有权利,禁止转载」的选项。
除非获得原作者的单独授权,任何第三方不得转载标注了「原创声明:保留所有权利,禁止转载」的内容,否则均视为侵权。
具体请参见TesterHome 知识产权保护协议。
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。