Background:
- 用SoapUI(Ready!API)做API接口测试的时候,为了验证数据准确性,会封装很多Groovy Scripts到一个项目中,然后在添加Groovy Script Type的Test Step时,只需要package 该项目所在的文件夹即可。 这样在Groovy Script里面就不需要编写那么多脚本,也容易扩展和维护。
- 但是,如果编写的Groovy项目里面需要用到groovy提供的jar包以外的其他java jar,就需要将这些jar包放到SoapUI安装目录下的lib文件夹下(具体步骤可以参考我的另外一篇文章:https://my.oschina.net/u/942203/blog/699316) 。 这时可以将自己的Groovy Script所在工程打包成一整个jar包,然后在Groovy Script中直接调用jar包中的class。
具体步骤如下:
1.建立一个maven project,在里面编写自己需要的所有Groovy Scripts。
这是我在IDEAL里创建的Groovy Script工程:
2.打开pom.xml,然后配置如我上图所示的五行内容:
<groupId>BuySide</groupId> <artifactId>BuySide.GroovyScript</artifactId> <version>1.0-SNAPSHOT</version> <name>BuySide.GroovyLibrary</name> <packaging>jar</packaging>
3.最终要的是要加上编译Groovy的compiler 插件:
<build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <compilerId>groovy-eclipse-compiler</compilerId> <verbose>true</verbose> </configuration> <dependencies> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-eclipse-compiler</artifactId> <version>2.7.0-01</version> </dependency> </dependencies> </plugin> </plugins> </build>
要不然最后打包的时候,不会把Groovy文件编译成class文件的哦,即使最终打包成jar包了,里面也是没有东东的。
4.配置maven安装目录/bin 至系统环境变量Path里。
因为创建的是maven Project,所以一定要先安装maven哦。
如果Path里面的环境变量很多,用“;”隔开。。。 这些大家肯定都知道。。。。。就不多说了。
5.打开命令窗口,依次执行下面三个命令,直接打包工程:
cmd
cd GroovyScript项目的绝对路径
mvn clean package
下图是我打包成功的提示信息,因为我先切换到"D:\Msstash",所以使直接cd GroovyScript相对路径:
6.然后去GroovyScript项目所在路径的target文件夹下就可以找到该jar包了:
7.如果只是为了打包成jar包,到第6步就已经大功告成了。不过如果打包成jar包是为了在SoapUI里面调用的话,就需要把jar包放到“SoapUI安装目录/lib”或者“SoapUI安装目录/bin/ext”目录下面。 如果想知道为什么要放到这里,可以去搜索一下Java的类加载机制。