Background:
1. 在Java Project中,我们是这样引用外部jar包的:
点击“Add External JARs...”就可以增加该Project需要用到的额外jar包。(前提是你需要把这些jar包下载到本地)
2. 如果Project是Maven工程,就更方便了,不需要提前下载好jar包,只需要在pom.xml文件中配置一下即可:
3.在调用jar包中的class的时候,需要在文件头部显式import即可:
上面的“JsonSlurper”,“RealMatrix”和“DecimalFormat”类都是jar包中的class。
问题:
但是对于一个如下图所示的SoapUI project,上述两种jar包调用方式并不适用:
所以只能用SoapUI自己已经支持的方式:
a.下载需要的jar包至本地
b.将这些jar包放到"SoapUI安装路径"\lib, 或者"SoapUI安装路径"\bin\ext 路径下面
c.在Groovy Script中调用jar包中的class:
当然,这个JsonSlurper是groovy自带的jar包中的class,已经在"SoapUI安装路径"\lib文件夹下方了。
若你也跟我一样有深入研究的想法,想知道为什么一定要把jar包放入这两个文件夹下,可以参考如下一片文章:(关于Java类加载器的一篇干货)
http://blog.youkuaiyun.com/zhoudaxia/article/details/35824249
上述写的只是调用别人已经写好的公用jar包,如果是自己为自动化写的Groovy Script太多,想把整个都引入进来,有两种情况:
- 不想打包,直接想引用源文件,有两种方式:
1. 直接将所有的Groovy Script files放到“SoapUI安装目录\script\新建文件夹(名字任意) “ 路径下,然后在“Groovy Script” 类型的Test Step中,直接在第一行输入 “package 文件夹名字“ 即可。
不过这里是整个PC端SoapUI的全局类库,如果本地有多个SoapUI项目,这些项目都可以调用该文件夹下的Groovy files.
2.在SoapUI Project自带的"Project Properties"->"Script Library"中输入变量“${projectDir}”,然后在项目workspace目录下新建一个文件夹(比方说MyScripts), 然后把这些Groovy files都放到这个文件夹下面。 最后在“Groovy Script”类型的Test Step中,直接在第一行输入“package MyScripts”即可。
这里的Groovy Scripts将会是这个Project私有的,只能在本项目可以调用。
这两点都可以参考这篇文章: https://my.oschina.net/u/942203/blog/699316 。
- 所有Groovy Script都在一个大工程里,调用许多外部jar包,所以想把所有Groovy Script都打包引用:
利用Maven将Groovy Project打包成jar文件:https://my.oschina.net/u/942203/blog/1542023 。