19年都快过年了,我的SoapU系列教程还没写完,说来惭愧,大写的尴尬。还剩两篇,年前赶赶... 还是可以搞得定的~
前面的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(懒人利器)
9、SoapUI入门之运行测试、输出和查看Test Case结果报表
一、TestRunner
SoapUI中的TestRunner允许你运行SoapUI test,并输入结果报表。
它有两种方式:命令行方式运行和用户界面启动运行。
二、Command Line方式
1、首先我们要找到<ReadyAPI>/bin目录中找到运行程序,文件名为testrunner.bat(Windows)和testrunner.sh(Linux和macOS)。
Window:一般位于ReadyAPI安装目录下/ReadyAPI/bin下
Mac:位于/Applications/ReadyAPI.app/Contents/Resources/app/bin下(如图1.1)
2、我们要编写一个.bat或.sh可执行文件
2.1 在Windows中编写.bat文件:
@Echo Off
cd
cd ...(testrunner的位置)\bin\testrunner.bat -r -j D:\ReadyAPI_test.xml -f D:\temp\reports -FHTML
然后我们点击这个.bat文件,就会自动运行ReadyAPI的测试用例,并输出报告
对其中参数解释:
-j 生成junit风格的report
-r 运行完成以后打印一个简单的Summary
-f 指定运行结果的输出目录
-FHTML 生成Html格式的输出报告
D:\ReadyAPI_test.xml 这个是我们编写ReadyAPI测试用例
D:\temp\reports 这个是我们输出的测试报告目录
2.2 在Mac中编写.sh文件
其实在Mac中.sh文件内容和Windows中.bat文件内容差不多
cd /
cd /Applications/ReadyAPI-2.4.0.app/Contents/Resources/app/bin/
./testrunner.sh -r -j /Users//ReadyAPI_test.xml -f /Users//Documents/Reports -FPDF -o
2.3 定制化命令行
在ReadyAPI中,当我们选定TestCase后,选择Project->Launch TestRunner
就会打开TestRunner GUI对话框,这里我们先获取命令行:
如图2.3, 当我们在对话框做一些操作或者不做任何操作,点击Get Command Line,就会弹出命令行兑换框,我们可复制他们到我们的.bat/.sh文件当中。
2.3.png
2.4 命令行参数解读
-a 使testRunner导出所有的测试结果,否则,只会导出错误的测试信息。
-c 指定要运行的测试用例。如若不使用,则TestRunner将执行测试项目中所有测试用例
-f 指定运行程序将在其中保存测试结果文件的根目录
-F 指定 测试报告导出的格式
用法:-F<FormatName>。ReadyAPI支持以下格式:PDF,XLS,HTML,RTF,CSV,TXT和XML。如果您未指定参数,则ReadyAPI将使用PDF格式。要以多种格式导出结果,请用逗号分隔。例如:‑FPDF,XML,CSV。
-g 命令TestRunner创建覆盖率报告(HTML报告)
-G 指定测试运行的全局属性的值
跟多的命令行的一些参数我们可以在这里查询:https://support.smartbear.com/readyapi/docs/soapui/running/automating/cli.html
三、用户界面方式启动运行
3.1 在SoapUI中,从主菜单中选择“Project”>“Launch TestRunner ”
3.1.png3.2 在SoapUI中,右键单击所需的测试用例,然后选择Launch TestRunner
3.2.png3.3 配置对话框的各种参数
3.3.1 Basic
3.3.1.png参数 | 描述 |
---|---|
Test Suite | 指定要运行的测试套件。<all>表示运行程序将执行项目中的所有测试套件。此参数与-s 命令行参数相同。 |
Test Case | 指定要运行的测试用例。<all>表示运行程序将执行测试套件中的所有测试用例,或者,如果未指定套件,则将执行项目中的所有测试用例。此参数与-c 命令行参数相同。 |
Enable UI | 使用此选项启用UI组件。如果您的测试使用UISupport 该类,请使用它。此参数与-i 命令行参数相同。 |
TestRunner Path | 指定运行程序文件的标准名称(testrunner.bat或testrunner.sh)。默认情况下,您可以在ReadyAPI目录中找到该文件。 |
Save Project | 命令ReadyAPI在测试运行之前保存项目。使用它来确保对项目的所有最新更改将在运行期间可用。 |
Add Settings | 命令TestRunner使用soapui-settings.xml文件中的工作空间设置。您可以在用户目录中找到该文件。要指定另一个XML设置文件,请使用-t 命令行参数。在“ Lanuch TestRunner”对话框中,可以在“ Custom Args”选项卡中指定此参数。 |
Project Password | 如果您已经加密了整个项目或其某些自定义属性,则指定加密密码。此参数与-x 命令行参数相同。 |
user-settings.xml Password | 指定XML设置文件的密码。此参数与-v 命令行参数相同。 |
Ignore Errors | 命令TestRunner忽略测试运行期间发生的错误。如果选中此复选框,则如果发生错误,跑步者将不会停止测试。但是,在这种情况下,运行程序将不会记录有关错误的信息。如果清除此复选框,则运行器将在发生错误时停止并记录有关该错误的信息。此参数与-I 命令行参数相同。 |
Save After | 命令运行程序在测试运行完成后保存项目。如果您的测试将数据存储到项目中,这可能会很有用。此参数与-S 命令行参数相同。 |
Run in-process | 启用此选项可在与ReadyAPI相同的进程中运行测试运行程序。否则,跑步者将在单独的进程中工作。 |
3.3.2 Overrides
3.3.2.png参数 | 描述 |
---|---|
Environment | 指定测试运行的环境配置。该值将覆盖您在ReadyAPI工具栏中为项目选择的环境配置。此参数与-E 命令行属性相同。注意: 如果测试运行程序无法找到指定的环境,则测试运行将失败。 |
Endpoint | 指定在测试运行期间用于请求的端点。此值将覆盖您在项目的请求属性中指定的端点。此参数与-e 命令行参数相同。 |
Host:Port | 指定测试运行期间在请求中使用的主机和端口。用法格式:host:port 。您可以使用主机的IP地址或名称来指定主机。此值将覆盖您在项目的请求属性中指定的主机和端口。此参数与-h 命令行参数相同。 |
Username | 指定测试运行期间授权任务的用户名。此值将覆盖您在测试请求的授权属性中指定的用户名。此参数与-u 命令行参数相同。 |
Password | 指定测试运行期间授权任务的密码。此值将覆盖您在测试请求的授权属性中指定的密码。此参数类似于-p 命令行参数。 |
Domain | 指定测试运行期间授权任务的域。此值将覆盖您在测试请求的授权属性中指定的域。此参数与-d 命令行参数相同。 |
WSS Password Type | 指定WS-Security密码类型。您可以选择分别对应于WSS 和类型的“ 文本”或“摘要”。 此参数与命令行参数相同。 PasswordText``PasswordDigest``-w
|
3.3.3 Reports
3.3.3.png性质 | 描述 |
---|---|
Print Report | 命令运行程序将Summary包含到ReadyAPI创建的报告中。此参数与-r 命令行参数相同。默认启用 |
Export Junit Results | 命令运行程序创建JUnit样式的报告。此参数与-j 命令行参数相同。默认启用。 |
Export Junit Results with test properties | 命令运行程序将具有测试属性的JUnit XML报告包含到报告中。此参数与-J 命令行参数相同。 |
Export All | 如果清除此复选框,则报告将仅包含有关错误的信息。如果选中此复选框,则报告还将包含其他类型的消息。此参数与-a 命令行参数相同。默认启用。 |
Root Folder | 将存储测试报告ReadyAPI导出的目录的标准名称。如果该目录不存在,ReadyAPI将创建它。注意: 默认值为${WORKSPACE} ,它用于从Jenkins运行的Linux和Mac OS从属计算机。对于Windows从属计算机,将值更改为%WORKSPACE% 。 Tips: 如果该目录存在,则报告中的文件将被覆盖。 此参数与-f 命令行参数相同。 |
Coverage Report | 命令TestRunner创建测试覆盖率报告(HTML格式)。此参数与-g 命令行参数相同。 |
Open Report | 测试运行结束后,命令运行程序打开ReadyAPI在默认浏览器中创建的报告。此参数与-o 命令行参数相同。 |
Select Report Type | 指定ReadyAPI创建的报告的类型。您可以使用以下值:* TestCase报告 –以您可以通过“ 报告格式”参数指定的格式创建报告。* JUnit样式HTML报表 –以HTML格式创建JUnit样式的报表。使用此报告类型时,ReadyAPI会忽略“ 报告格式”参数。该值是默认选中的。* 数据导出 –生成XML格式的报告。要使用选择此类型,请指定XML 为“ 报告格式”参数。此参数与-R 命令行参数相同。 |
Report Formats | 指定ReadyAPI创建的报告的格式。可能的值:PDF,XLS,HTML,RTF,CSV,TXT,XML(默认值)。如果您将此编辑框保留为空,ReadyAPI将使用PDF格式。不要在格式名称中指定句点。要指定多种格式,请用逗号分隔。例如:PDF,XML,CSV 。此参数与-F 命令行参数相同。 |
Slack Access Token | 指定您的Slack机器人用户的身份验证令牌。 |
3.3.4 Properties
3.3.4.png在“ Properties”选项卡上,可以指定将在测试运行期间生效的变量值。
要指定变量值,请使用以下格式的字符串:<variable-name>=<value>。
用空格分隔多个“key=value”对,或将每对放入新行。如果变量名称或值包含空格,则将整个对括在引号中。例如:
file = C:\ Work \ File.txt
image_to_upload =“ C:\ My Application \ image.png”
性质 | 描述 |
---|---|
Global Properties | 指定测试运行的全局属性值。您指定的值将覆盖ReadyAPI首选项的“ Global Properties”页面上的属性。此参数与-G 命令行参数相同。 |
System Properties | 指定测试运行的系统属性值。您指定的值将覆盖“ Help”>“System Properties”对话框中的属性值。此参数与-D 命令行参数相同。 |
Project Properties | 指定测试运行的项目属性值。您指定的值将覆盖项目级别的属性。此参数与-P 命令行参数相同。 |
3.3.5 Tags
3.3.5.png性质 | 描述 |
---|---|
TestSuite Tags | 您已分配给项目中的测试套件的标签列表。当您检查一个或多个标签时,测试运行器将仅在测试运行中包含包含所有这些标签的测试套件。此参数与-T命令行参数相同。 |
TestCase Tags | 您已分配给项目或测试套件中的测试用例的标签列表。当您检查一个或多个标签时,测试运行器将仅在测试运行中包括包含所有这些标签的测试用例。此参数与-T命令行参数相同。 |
3.3.6 Custom Args
3.3.6.png“ Custom Args”选项卡允许您为运行器添加其他参数。
例如,您可以命令TestRunner使用与默认soapui-settings.xml文件不同的设置文件。为此,您可以在“ Tool Args”编辑框中输入以下文本:-t C:\Work\test-settings.xml
四、测试报告
如图是Pro版本和免费版本输出的测试报告,包含每个TestSuite的测试报告,可以选择html格式
4.1.png 4.2.png
五、结语
本节运行测试用例和输出测试报表就讲完了,两种方式。当然是用GUI图形化界面是最省事的,其实他也是基于testrunner脚本运行的,我们要知晓一些基本参数的意思,就可以定制化我们的测试报表了。下一节是集成Jenkins,敬请期待,ThanksO(∩_∩)O哈哈~
申明:禁用于商业用途,如若转载,请附带原文链接。https://www.jianshu.com/p/1e416290c889蟹蟹~
网友评论