soapui调用java类_SoapUI如何调用外部的jar包

本文介绍了如何在SoapUI项目中引用外部Java类和jar包。对于非Maven项目,可以通过添加jar到SoapUI安装路径的lib或bin/ext目录来引用。如果是Maven项目,可通过在pom.xml配置依赖。对于Groovy Script,可以直接引用groovy自带的jar或放置自定义jar到指定路径。此外,还讨论了如何组织和引用Groovy Script文件,包括在项目内创建私有脚本库和打包Groovy项目为jar。
摘要由CSDN通过智能技术生成

Background:

1. 在Java Project中,我们是这样引用外部jar包的:

ade2fb7ad7e4ccdd10ee9960520691bf.png

点击“Add External JARs...”就可以增加该Project需要用到的额外jar包。(前提是你需要把这些jar包下载到本地)

2. 如果Project是Maven工程,就更方便了,不需要提前下载好jar包,只需要在pom.xml文件中配置一下即可:

c53b583ca44fac569324ec9d3b9e26b0.png

3.在调用jar包中的class的时候,需要在文件头部显式import即可:

e8d6917a75b0218139b434d4f24b5957.png

上面的“JsonSlurper”,“RealMatrix”和“DecimalFormat”类都是jar包中的class。

问题:

但是对于一个如下图所示的SoapUI project,上述两种jar包调用方式并不适用:

a8032955a2a8947cbc73f94aac2fd253.png

所以只能用SoapUI自己已经支持的方式:

a.下载需要的jar包至本地

b.将这些jar包放到"SoapUI安装路径"\lib, 或者"SoapUI安装路径"\bin\ext 路径下面

c.在Groovy Script中调用jar包中的class:

0fc1d190898b142038a7b75374b0c2c7.png

当然,这个JsonSlurper是groovy自带的jar包中的class,已经在"SoapUI安装路径"\lib文件夹下方了。

若你也跟我一样有深入研究的想法,想知道为什么一定要把jar包放入这两个文件夹下,可以参考如下一片文章:(关于Java类加载器的一篇干货)

http://blog.csdn.net/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 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值