SoapUI系列文章今年应该是基本完成,还剩三章,本来是每月一篇,谁知十月事太多,诸多不顺,又是母亲手肘骨折,又是家中老人仙逝。在加上公司太忙,一直迟迟未予动笔。赶紧补上十月的作业~~
前面的SoapUI系列文章参见以下链接:
1、SoapUI 入门之创建Project、生成TestCase以及参数化
2、SoapUI 入门之配置Headers,以及将Cookie、Token持久化存储
5、SoapUI入门之TestStep用法一(DataSource&DataSource Loop)
7、SoapUI入门之TestStep用法三(Groovy Script)
8、SoapUI入门之Discovery API(懒人利器)
一、何为Discovery API
Discovery API其实是一个利器。当我们使用Web服务时,他会自动监测Http request,然后将他记录在册。然后我们选择我们所需要测试的request,将其生成Test Case。
使用了Discovery API后,我们将不再需要自己手动添加API,添加参数,Head等等,只需打开监听、甄选Request、生成Test Case。它将解放我们双手,致力于快速创建一个模拟实际用户行为的测试用例。老铁们,这难道不香吗?🐂🍺
二、使用Discovery API
Discovery API有两种模式:Internal browser和Proxy。
2.1 如何打开Discovery API
我们可以两种入口打开Discovery界面进行记录我们Http Request:
-
创建一个新项目:
1、选择File > New Project
2、在弹出对话框中,选择REST Discovery
3、选择你所需要的Discovery类型
2.1.1.png
2.1.2.png -
如果我们已有一个Project:
1、鼠标右键单击所选Project
2、选择Discovery APIs
2.1.3.png
2.2 Internal browser
Internal browser 实际上和我们使用的浏览器没啥区别,我们可以将Url输入,然后我们该干嘛干嘛,各种正常和非正常的操作都是可以的,它会记录所有发出的请求和响应。因为你请求很多,它也可以提供过滤操作,提炼出你所需要的Request,再一键生成Test Case。
下面我们先使用Internal browser,来模拟记录测试简书的一些Request。
2.2.1.png在输入了简书的URL后,点击Go,就可以记录了,在这里我们可以做一些我们想要的操作,比如登陆、查看文章等等。
2.2.2.png然后待我们操作都做完了,我们可以点击Pause按钮暂停,然后点击Transaction,切换到记录页面
2.2.3.png 2.2.4.png
选择好我们捕获的需要生成Test Case的Request后,我们就可以点击Generate Services按钮生成Test Case了。
2.2.5.png
之后我们就可以在Projects和SoapUI Tap中看到已经自动生成好的Request和Test Case:
2.2.6.png
2.3 Proxy
顾名思义:代理。当我们需要记录无法从浏览器模拟的request时,我们可以使用ReadyAPI作为代理,然后通过代理发送请求,ReadyAPI将记录这些Request,并可以对它们生成Test Case。
进入Discovery的方式和Internal Browser一致,只是进入时务必要选择Proxy(HTTP,HTTPS)选项,因为默认为Internal Browser。
-
配置代理地址
2.3.1.png -
配置客户端
我们客户端以Android手机为例
1、我们选择我们连上的WIFI,选择修改网络
2.3.2.png
2、选择高级,将代理模式更改为手动,填入Host和Port
2.3.3.png
3、操作手机APP,ReadyAPI将记录Request,然后可以在Transaction页面选择需要的Request,生成Test case。操作同上面的Internal Browser。
三、结语
本章我们主要讲解了如何使用Discovery API来快速的生成Test Case,解放我们的脑子、手脚,解放生产力。
后面SoapUI还有两个章节运行,得出结果,查看结果和集成到Jenkins(持续集成),前几篇下来,我觉得应该基本可以使用SoapUI编写集成测试,那么下一篇我们将讲解如何运行TestCase,以及获取结果,分析结果。敬请期待。Thanks♪(・ω・)ノ
申明:禁用于商业用途,如若转载,请附带原文链接。https://www.jianshu.com/p/076d21f05192蟹蟹(#.#)
网友评论