博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Karate轻松实现自动API测试
阅读量:6614 次
发布时间:2019-06-25

本文共 2940 字,大约阅读时间需要 9 分钟。

如果您想做自动API测试,但没有编程背景,那么你必须要给Karate一个机会!

Karate由Intuit作为开源工具发布。该工具旨在用于自动API测试,并具有使API测试变得轻而易举且实际上令人愉快的所有必需功能。

与需要大量编码的其他自动化API测试工具不同,即使只是做基本的东西,Karate开箱即用。您可以在不了解任何编程语言的情况下构建最复杂的请求 - 响应操作。您所要做的就是使用纯文本Gherkin样式编写要素文件。

因为Karate是一个完整的DSL并且位于Cucumber-JVM之上 ,所以你可以像任何标准的Java项目一样运行测试并生成报告,但是你不是编写Java代码,而是用一种用来处理HTTP,JSON的语言来编写测试。或XML简单易用。

虽然没有使用Karate的先决条件,但如果您对HTTP,JSON,XML,JsonPath以及XPath和JavaScript有基本的了解,它会有所帮助。

下面,我们将介绍一些您通常在自动API测试中执行的典型操作,但首先是关于为Karate设置环境的快速指南。

Maven的

如果您使用的是Maven,则需要以下两个依赖项

com.intuit.karate
karate-apache
0.6.0
test
com.intuit.karate
karate-junit4
0.6.0
test
复制代码

Gradle

或者,如果您使用的是Gradle,则需要

testCompile 'com.intuit.karate:karate-junit4:0.6.0'testCompile 'com.intuit.karate:karate-apache:0.6.0'复制代码

文件夹结构

Karate测试脚本具有文件扩展名 .feature ,后面是Cucumber的标准。您可以使用常规Java包约定来自由组织文件。

Maven的传统是将非Java源文件放在一个单独的 src/test/resources 文件夹结构中 - 但是Karate工具的创建者建议您将它们与*.java 文件并排放置 。

Karate Api测试工具 - 文件夹结构 Karate Api测试工具 - 文件夹结构 像Cucumber一样,你需要一个运行特征文件的“Runner”类。然而,与Cucumber不同,没有步骤定义!这就是Karate的魔力。

要使用TestRunner.java类来执行要素文件,您需要在pom.xml文件中包含构建部分。

4.0.0
Tutorials
Karate
1.0-SNAPSHOT
com.intuit.karate
如果对软件测试、接口测试、自动化测试、性能测试、LR脚本开发、
karate-apache
面试经验交流。感兴趣可以175317069,群内会有不定期的发放免费的
0.6.0.4
资料链接,这些资料都是从各个技术网站搜集、整理出来的,如果你有
好的学习资料可以私聊发我,我会注明出处之后分享给大家。
com.intuit.karate
karate-junit4
0.6.0.4
src/test/java
**/*.java
复制代码

你的TestRunner.java类看起来像

package com.tutorials.karate;import com.intuit.karate.junit4.Karate;import org.junit.runner.RunWith;@RunWith(Karate.class)public class TestRunner {}复制代码

使用Karate进行简单的自动API测试

假设您正在测试API(

[    {        "id": 1,        "name": "FirstUser",        "password": "User1Pass"    },    {     "id": 2,        "name": "SecondUser",        "password": "User2Pass"    }]复制代码

您的Karate功能文件如下所示:

Feature: Test User API  Scenario: Fetch all users    Given url 'https://some-api.com/api/users'    When method GET    Then status 200    And assert response.length == 2    And match response[0].name == 'FirstUser'复制代码

就是这样 - 非常简洁,重要的是,没有代码!

Karate具有非常丰富的实用功能,使您能够非常轻松快速地执行自动API测试。在后面,我们将深入研究这个神奇的工具,并举例说明在测试API时如何做任何你需要的东西!

转载于:https://juejin.im/post/5bf7a58ae51d45661d36eb12

你可能感兴趣的文章
jdbc oracle clob blob long类型数据
查看>>
tez-ui配置文档
查看>>
我的友情链接
查看>>
FileZilla Server配置
查看>>
文件管理
查看>>
smartd守护进程
查看>>
最新ensp1.3 380,NE40E NE5KE NE9KE CX CE12800都可以用
查看>>
什么是DAS、NAS、SAN、IP-SAN,它们之间有什么区别?
查看>>
我的友情链接
查看>>
同余方程
查看>>
P3144 [USACO16OPEN]关闭农场Closing the Farm
查看>>
学习SQL的九个理由
查看>>
AS学习笔记一
查看>>
移位运算
查看>>
过滤器案例,把所有的页面编码格式设为GBK
查看>>
网站性能提高之国外空间
查看>>
http get 方式参数的长度限制
查看>>
[应用模板]HTML5+Phonegap通讯录
查看>>
大小端模式
查看>>
HTML那些事
查看>>