首页 文章

SoapUI不与fiddler一起进行REST服务测试

提问于
浏览
5

我在SoapUI中创建了一个REST项目来测试googlemapsapi休息服务(HTTPS) . 我将SoapUI配置为使用代理设置来设置fiddler(localhost:8888) . 在提琴手中,启用了Fiddler Tools - > Https下的“Decrypt Https Traffic”选项

当我发送请求时,握手成功 . 以下是请求和响应标头:

Request Headers

CONNECT maps.googleapis.com:443 HTTP / 1.1客户端用户代理:Apache-HttpClient / 4.1.1(java1.5)传输连接:Keep-Alive Host:maps.googleapis.com

Response Headers

Build HTTP / 1.1 200连接

Miscellaneous

FiddlerGateway:直接开始时间:15:45:06.462

Transport

连接:关闭

握手后,没有进一步的请求和响应 .

没有代理,握手和请求/响应工作正常 .

注意:我按照以下链接将证书添加到SoapUI证书断言和密钥存储区,没有运气 .

http://geekswithblogs.net/gvdmaaden/archive/2011/02/24/how-to-configure-soapui-with-client-certificate-authentication.aspx

http://qatesterblog.blogspot.com/2013/10/how-to-make-soapui-ssl-compatible.html

2 回答

  • 5

    这就是我为我工作的方式(在Windows 7上) . 我将Fiddler的根证书添加到JRE的可信证书中 .

    导出Fiddler根证书 . 您可以通过转到Tools / HTTPS找到导出按钮 .

    找到运行SoapUI的JRE的文件cacerts . 该文件位于JRE的lib / security下,如果已安装SoapUI,则JRE位于SoapUI的jre文件夹中 . 将此文件复制到您有权修改它的位置,这样您就不必摆弄提升cmd进程 .

    现在使用以下命令将Fiddler根证书添加到cacerts密钥库 .

    keytool -importcert -file FiddlerRoot.cer -keystore cacerts
    

    工具keytool位于JRE的bin文件夹中 . cacerts密钥库的密码是“changeit”或“changeme” .

    最后一步将cacerts文件复制回原始位置,重新启动SoapUI并享受代理的乐趣!

  • 12

    关于我成功尝试乔尔答案的一些注释和澄清(https://stackoverflow.com/a/22907237/1981358):

    • 在Windows Fiddler 4(4.5.1.0)上,该选项位于:工具> Fiddler选项...> HTTPS>将根证书导出到桌面

    • 我想我必须运行CMD作为管理员才能修改cacerts文件

    • 切换到SoapUI JRE中的安全目录 . 对我来说这是:C:\ Program Files(x86)\ SmartBear \ SoapUI-5.0.0 \ jre \ lib \ security

    • 我使用此命令更新cacerts文件: ..\..\bin\keytool.exe -importcert -file C:\Users\MyUserName\Desktop\FiddlerRoot.cer -keystore cacerts

    • 出现提示时输入 changeit

    • (重要:确认您实际上正在更新cacerts文件 . 我首先尝试从另一个文件夹创建一个新文件 . 如果它要求输入两次密码,您可能会创建一个新文件 . )

    Trust this certificate? [no]: yes Certificate was added to keystore

    • 成功(上面的消息),检查cacerts文件是否实际更改了 .

    • 启动SoapUI并再次尝试请求 .

相关问题