自动化测试,首先想到的就是fitnesse。但是毕竟fitnesse功能优先,在自动化测试中,会遇到瓶颈。这个时候就需要对fitnesse进行二次开发。fitnesse不但有可以直接部署运行的jar包,在github上也可以下载到源代码。
源码是用gradle工具进行构建的。
Github下载地址:https://github.com/unclebob/fitnesse.git
一、Gradle安装
我使用的是IDEA 2017,对应的gradle版本是3.5,安装过程很简单,网上一查便知。完成后需要配置系统环境变量:GRADLE_HOME、GRADLE_USER_HOME
以及path
变量。
Path变量
打开cmd命令行,然后运行gradle -v
,会显示gradle的信息,则表示安装成功。
二、IDEA导入fitnesse项目
打开idea,导入项目后,需要配置很多信息。gradle目录下的gradle-wrapper.properties中改成版本3.5
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-3.5-bin.zip
zipStorePath=wrapper/dists
build.gradle文件是利用gradle进行项目构建的核心配置文件,以下是经过我修改后可行的配置。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'info.solidsoft.gradle.pitest:gradle-pitest-plugin:1.1.9'
}
}
plugins {
id 'java'
id "maven-publish"
id "com.jfrog.bintray" version "1.8.4"
id "com.github.ben-manes.versions" version "0.20.0"
}
apply plugin: "info.solidsoft.pitest"
version = new Date().format('yyyyMMdd')
println "Building FitNesse v${project.version}..."
repositories {
mavenCentral()
}
configurations {
lesscss
optional
compile {
transitive = false
extendsFrom optional
}
runtime {
transitive = false
}
}
sourceSets {
main {
java.srcDir 'src'
resources.srcDir 'src'
output.resourcesDir output.classesDir
}
test {
java.srcDir 'test'
}
}
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
dependencies {
compile "org.htmlparser:htmlparser:2.1"
compile "org.htmlparser:htmllexer:2.1"
compile ("org.apache.velocity:velocity-engine-core:2.0") {
exclude group:"org.apache.commons", module: "commons-lang3"
exclude group: 'org.slf4j', module: 'slf4j-api'
}
compile "org.apache.commons:commons-lang3:3.8.1"
compile "org.slf4j:slf4j-api:1.7.25"
compile "org.slf4j:slf4j-jdk14:1.7.25"
compile "org.json:json:20180813"
compile "com.googlecode.java-diff-utils:diffutils:1.3.0"
optional "org.apache.ant:ant:1.10.5"
optional "junit:junit:4.12"
testCompile "junit:junit:4.12"
t