案例:如何使用接口测试框架Karate创建一个API测试?( 二 )


·testinFeaturePost(): 指定运行featurepost 文件夹里country-post.feature文件中的所有测试场景
·testAll(): 指定运行同一文件夹里所有feature文件中的所有测试场景
现在各位朋友清楚了在feature文件中 , 各个场景里@的不同意义了吧 。 同时写这么多运行方式也是想让大家更加明了当你有不同的需求时 , 如何快捷地运行你的测试场景 。
案例:如何使用接口测试框架Karate创建一个API测试?文章插图
脚本运行
1.运行在IDE
右键点击CountryRunnerTest文件 , 在弹出的菜单列表中点击 Run CountryRunnerTest 。收割的时候到了 , 快看一下结果吧 。
如下图(运行结果一)所示 , 从左边的窗口中, 可以看出
1) testAll() 运行了country-get.feature 和sample.feature 两个文件 。 country-get中显示运行了3个场景: 2 个成功 , 1个失败 。
2)失败的场景结果中: 我们设计去验证status 应该是整型而不是字符型 , 右边窗口显示了指示出清晰的错误原因
3)testTags(): 只运行了两个成功的场景 @Value
4)testFullPath(): 只运了失败的场景 @Contents
运行结果一:
案例:如何使用接口测试框架Karate创建一个API测试?文章插图
如下图(运行结果二)所示 , 从左边的窗口中, 可以看出
1)testTagsPost(): 没有运行 , 因为没有找到对应feature 文件或场景
2)testTagsPostinFeaturePost(): 运行正确
运行结果二:
案例:如何使用接口测试框架Karate创建一个API测试?文章插图
2.运行通过命令行
·指定运行某一个方法
执行命令: mvn test -Dtest=CountryRunnerTest#testFullPath
CountryRunnerTest: java class 文件名
#testFullPath: 指定运行测试 (注:这里就是CountryRunnerTest文件中的运行方法)
案例:如何使用接口测试框架Karate创建一个API测试?文章插图
·运行单个文件
移除其它的运行方法
执行命令: mvn test (注:当用这个命令时 , 运行的文件名必须是*Test.java)
案例:如何使用接口测试框架Karate创建一个API测试?文章插图
3.并行运行Parallel Run
·创建CountryPallelTest.java 文件 。如下图所示 , classpath:feature 是指当前的package feature, parallel: 示例中有2 thread to run country-get.feature and sample.feature (注: 把先前CountryRunnerTest文件名改为CountryRunner)
·执行 mvn test
案例:如何使用接口测试框架Karate创建一个API测试?文章插图
·如下图示 , 结果中显示 threads: 2, passed: 2 , failed:1
(注: 这里的两个feature 文件运行了1个 , ignored: 1, 是因为sample.feature 是一个空文件)
案例:如何使用接口测试框架Karate创建一个API测试?文章插图
4.如果您在运行时遇到错误信息: The forked VM terminated without properly saying goodbye. VM crash or System.exit called? 可以执行: mvn clean install
报告测试结果
1.Karate 报表
以执行mvn test -Dtest=CountryRunnerTest#testFullPath 为例 , 运行完毕以后 , target文件夹会自动生成 , 展开target > surefire-reports文件夹 , 找到feature.country-get.html , 右键点击 , 在显示的菜单列表中点击Open in Browser, 选择您想要找开文件的browser 。
案例:如何使用接口测试框架Karate创建一个API测试?文章插图
如下图所示 , karate 的报告中显示出很明确请求连接url与验证失败的原因 。
案例:如何使用接口测试框架Karate创建一个API测试?文章插图
2.并行运行报告
从产生的目录结构中 , 可以看出并行运行的结果与单个运行结果的报表是不同:
案例:如何使用接口测试框架Karate创建一个API测试?文章插图
Timeline.html中很明确显示了3个测试场景在2 threads 的分配和运行状况 。
案例:如何使用接口测试框架Karate创建一个API测试?文章插图
【案例:如何使用接口测试框架Karate创建一个API测试?】邀你进群?一起学习交流、听免费直播、答疑解惑
想要成为优秀的测试架构师 , 找到高薪工作 , 首先你得从人群中冒出来 , 要想冒出来 , 你就必须做到与众不同 , 要做到与众不同 , 你就要会得更多!
成为技术大牛梦想虽然很美好 , 但是要付出很多 , 都需要花费时间、金钱和精力 , 测试理论知识、缺陷管理规范、测试流程、设计及编写测试用例这些都是必备的技能 。
我期待对测试感兴趣的人 , 都能成为软件测试生力军~
没有过不去的火焰山 , 没有破不掉的技术难题 , 只要你敢 , 肯下功夫 , 都会取得最终的胜利 。 只要你想学习 , 完全可以参照老师的学习路线图来执行哦 。