休息 - 用groovy放心
最后修改:2020年2月12日
1.概述
在本教程中,我们将看看如何在Groovy中使用REST-assured库。
由于休息用罩下方使用Groovy,因此我们实际上有机会使用Raw Groovy语法来创建更强大的测试用例。这是框架真的来到的地方。
对于所需的设置休息,请查看我们的上一篇文章。
2. Groovy的集合API
让我们先快速浏览一下Groovy的一些基本概念——通过几个简单的例子来满足我们的需求。
2.1。这找到所有方法
在这个例子中,我们只会注意到方法那关闭和它隐式变量。让我们首先创建一个Groovy的单词集合:
def words = ['ant','buffalo','cat','恐龙']
现在,让我们现在用一个超过四个字母的单词创建另一个集合:
def wordswithsizegreaterthanfour = words.findall {it.length()> 4}
这里,findAll ()是应用于集合的方法关闭应用于方法。这方法定义适用于集合的逻辑和关闭为方法提供一个谓词来定制逻辑。
我们告诉Groovy循环通过集合并找到长度大于四个的所有单词,并将结果返回到新集合中。
2.2。这它变量
隐式变量它在循环中保存当前单词。新系列Wordswithsizegreaterthanfour.将包含单词水牛和恐龙。
['Buffalo','恐龙']
除了findAll (),还有其他Groovy方法。
2.3。这收集迭代器
最后,有收集,它调用收集中的每个项目上的关闭,并返回一个新集合,结果结果。让我们创建一个新的收集在每个项目的大小中字集合:
def sizes = words.collect {it.length()}
结果:
[3,7,3,8]
我们用和,正如名称所暗示在集合中添加所有元素。我们可以汇总物品尺寸系列如此:
def charCount = size .sum()
结果将会是21,也就是所有元素的字符数字收集。
2.4。这最大/分钟运营商
这最大/分钟运营商直观地命名为在集合中查找最大或最小数字:
def maximum = size .max()
结果应该是显而易见的,8。
2.5。这找迭代器
我们用找仅搜索匹配封闭谓词的一个集合值。
def mevertthanseven = sizes.find {它> 7}
结果,8,符合谓词的收集项的第一次出现。
3.使用Groovy验证JSON
如果我们有服务http:// localhost:8080 /赔率,它返回我们最喜欢的足球比赛的概率列表,如下所示:
{“几率”:[{“价格”:1.30,“状态”:0,“ck”:12.2,“名字”:“1”},{“价格”:5.25,“状态”:1、“ck”:13.1,“名字”:“X”},{“价格”:2.70,“状态”:0,“ck”:12.2,“名字”:“0”},{“价格”:1.20,“状态”:2,“ck”:13.1,“名字”:“2”}]}
如果我们想验证具有超过1的地位的赔率是否有价格1.20和5.25,然后我们这样做:
@test public void geturl_whenverifiesoddpricesAccurationByStatus_thencorRect(){GET(“/ odds”)。然后()。身体(“odds.findall {it.status> 0} .price”,hastitems(5.25f,1.20f));}
发生了什么事是这样;我们使用Groovy语法将JSON数组加载到密钥下赔率。由于它有多个项目,我们获得了一个Groovy系列。然后我们援引找到所有方法。
关闭谓词告诉Groovy与JSON对象创建另一个集合,其中状态大于零。
我们结束了我们的道路价格这告诉Groovy在我们以前的JSON对象列表中创建另一个唯一价格的列表。然后我们申请hastims.Hamcrest匹配者到此列表。
4.使用Groovy验证XML
让我们假设我们有服务http:// localhost:8080 /老师,该函数返回一个教师列表ID那部门和主题如下所示:
数学 物理 政治教育 0英语 1 2 3
现在我们可以验证答复的科学老师是否教导了数学和物理:
@test public void geturl_whenverifiesscienceTeacherfromxml_thencorrect(){get(“/教师”)。然后()。身体(“教师。[电子邮件受保护]=='Science'} .subject“,hastitems(”数学“,”物理“));}
我们使用了XML路径教师通过XML属性获取教师列表,部门。然后我们打电话给找此列表中的方法。
我们的关闭谓词找确保我们最后只有来自科学部门。我们的XML路径终止于主题标签。
由于有一个以上的主题,我们将获得我们与之验证的列表hastims.哈克斯特匹配者。
结论
在本文中,我们看到了如何在Groovy语言中使用REST-assured库。
有关文章的完整源代码,请查看我们的GitHub项目。