当前位置: 首页 > news >正文

在线做mtv网站网站建设 中企动力烟台

在线做mtv网站,网站建设 中企动力烟台,wordpress freehao123,crm管理系统的好处你真的会写自动化测试断言吗#xff1f; 在接口测试中#xff0c;断言是一项非常重要的操作#xff0c;它是用来校验接口返回结果是否符合预期的一种手段。一般来说#xff0c;接口测试断言大致可以分为以下几类#xff1a; 状态码断言#xff1a;这是最基本也是最常用的…你真的会写自动化测试断言吗 在接口测试中断言是一项非常重要的操作它是用来校验接口返回结果是否符合预期的一种手段。一般来说接口测试断言大致可以分为以下几类 状态码断言这是最基本也是最常用的一种断言方式。大部分情况下接口返回的HTTP状态码可以用来判断接口请求是否成功。 响应体断言基于接口的响应数据进行校验。 响应时间断言接口响应时间是否在可接受的范围之内。 数据库断言接口调用后数据是否有相应的变化。 这种使用断言来进行接口测试的方法在测试框架中的具体实现可能各不相同。 下文将以Python的requests模块来做一个简单的例子。 首先我们需要构造一个基本的GET请求并获取响应 import requestsresponse requests.get(http://api.example.com/data)在得到了响应后我们可以使用Python的assert关键字来进行断言。比如我们可以断言状态码是200 assert response.status_code 200如果状态码不是200那么这个语句会抛出AssertionError。 我们也可以断言响应的JSON数据中包含了某个特定的键 data response.json() assert key in data同样如果’key’不在data中那么这个语句也会抛出AssertionError。对于更复杂的断言我们可能需要使用一些第三方库来帮助我们。比如我们可以使用jsonschema库来断言响应数据符合某个JSON Schema from jsonschema import validateschema {type : object,properties : {key : {type : string},},required: [key] }validate(data, schema)那么对于更复杂的断言我们该怎么做呢 对于JSON响应断言主要是确认返回的JSON对象中的某个或者某些元素是否和预期的一致。这种断言的方式最常见的就是比对键值对是否相符了。举个例子假设我们期待的JSON响应如下 {title: foo,body: bar,userId: 1 }我们可以使用Python来做一个简单的断言操作 expected_json {title: foo,body: bar,userId: 1 }response_json response.json()assert response_json expected_json在上述代码中response.json()用来从响应中获取JSON数据然后使用assert语句来断言这个JSON数据和我们期待的JSON数据是否相同。 如果我们只关心返回结果中的某一部分例如我们只关心返回结果中的title字段那么我们可以做如下断言 assert response_json[title] expected_json[title]对于更复杂的JSON响应断言比如JSON响应为嵌套结构或者是JSON数组我们可能需要进行递归或者遍历等操作来进行断言这种情况下可以使用一些第三方的断言库来提升我们的效率。比如Python的jsonpath库可以帮助我们快速的定位JSON中的某一段数据并进行断言 JsonPah是一种信息检索语言可以让你用一个类似XPath的语法快速定位JSON结构中的部分内容。处理嵌套结构的JSON响应时JsonPath提供了一种简单有效的方法。重要的是理解JsonPath的语法比如 ‘$’ 表示根节点‘.’ 或 ‘[]’ 用于访问子节点‘*’ 用于通配等。 下面举个例子来说明如何使用JsonPath假定我们有一个如下的复杂JSON: response_json {store: {book: [{category: reference,author: Nigel Rees,title: Sayings of the Century,price: 8.95},{category: fiction,author: Evelyn Waugh,title: Sword of Honour,price: 12.99},{category: fiction,author: Herman Melville,title: Moby Dick,price: 8.99},{category: fiction,author: J. R. R. Tolkien,title: The Lord of the Rings,price: 22.99}],bicycle: {color: red,price: 19.95}}, }如果我们需要取出所有书的标题(title)可以使用如下语句 from jsonpath import jsonpathtitles jsonpath(response_json, $.store.book[*].title)print(titles) #输出[Sayings of the Century, Sword of Honour, Moby Dick, The Lord of the Rings]如果我们需要取出价格大于10的书的标题可以使用如下语句 titles jsonpath(response_json, $.store.book[?(.price 10)].title)print(titles) # 输出[Sword of Honour, The Lord of the Rings]JsonPath非常简洁高效能让我们的断言操作更简单代码更清晰既然这么强大的话 这不得有个使用方法 不着急下面给你列出了常用的通配符的解析说明 JsonPath表达式中的通配符通常有以下几种 通配符匹配所有的对象或元素。比如 $…book[].author 可获取所有作者的名字。 …深度操作符无论深度多少层都可以匹配到路径。比如 $…author 可获取所有的作者信息。 . 或 []逐层向下遍历. 针对于名字[] 针对于数组下标或者名称。比如 $[‘store’][‘book’][0][‘price’] 获取第一本书的价格。 现行节点信息常在过滤器中使用比如 $…book[?(.price10)] 意思是获取所有价格小于10的书。 ()表达式组用于根据自定义表达式过滤。比如 $…book[(.length-1)] 获取最后一本书。 ?()过滤操作符用于查找符合条件的元素。比如 $…book[?(.isbn)] 获取所有包含ISBN的书。 以上这些通配符让我们在使用JsonPath时有更大的灵活性可以在大型或者嵌套较深的JSON数据中准确地定位我们所需要的数据。 那么面试会怎么问呢 举个例子 面试官图片JsonPath表达式中的深度操作符…可以匹配到多少层的路径 YOU图片在JsonPath中深度操作符 … 在不知道精确路径或者需要查询多层嵌套数据时非常有用。… 不关心元素在JSON数据中的精确位置它会「深度搜索」也就是说无论数据嵌套在JSON结构的多深只要符合你的查询条件它都能找到。 可以用任何的名字或者通配符 * 来配合深度操作符一起使用它们的组合可以匹配到任何级别的元素。例如假设我们有一个JSON对象 {level_1: {level_2: {level_3: {item: value}}} }如果你不知道 “item” 的精确路径但你知道它的名字并且你想从JSON数据中找到它你可以使用 … 操作符加上名字进行深度搜索如$…item这将返回所有名为 “item” 的元素无论它们处在哪一层级。 总的来说深度操作符 … 可以匹配到无限多层的路径这对于处理深层嵌套的数据结构非常有用。 面试官 除了深度搜索JsonPath还有其他什么功能可以处理深层嵌套的数据结构 YOU 除了深度搜索外JsonPath还提供了一些其他功能来处理深层嵌套的数据结构 数组索引JsonPath允许你使用数组索引来访问特定位置的元素。例如表达式$.store.book[0]将返回图书数组的第一本书。 多个索引JsonPath还允许你在同一层级上访问多个元素。例如$.store.book[0,1]将返回图书数组的前两本书。 切片操作JsonPath支持Python风格的切片操作允许你访问一个连续的元素序列而不仅仅是单个元素。例如 $.store.book[1:3]将返回图书数组的第二和第三本书。 过滤表达式JsonPath支持过滤表达式允许你使用逻辑运算符和比较运算符来过滤返回的元素。例如$.store.book[?(.price 10)]将返回图书数组中价格低于10的所有书。 通配符正如我们前面讨论的*通配符可以用来匹配任意元素不论位置。 总的来说断言是接口测试中的一个重要部分合理、充分地使用断言不仅可以提升我们的测试质量也能帮助我们快速定位问题。同时塑造良好的断言策略对于维护和持续提升一个测试框架也是尤为关键的。 总结 感谢每一个认真阅读我文章的人 作为一位过来人也是希望大家少走一些弯路如果你不想再体验一次学习时找不到资料没人解答问题坚持几天便放弃的感受的话在这里我给大家分享一些自动化测试的学习资源希望能给你前进的路上带来帮助。 软件测试面试文档 我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。 视频文档获取方式 这份文档和视频资料对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你以上均可以分享点下方小卡片即可自行领取。
http://www.zqtcl.cn/news/981713/

相关文章:

  • 做网站需要几大模板河南中国建设信息网
  • 成都温江网站建设空间网页版
  • 做美股的数据网站邢台网站建设公司哪家好一点
  • 青岛即墨网站开发查询建设用地规划许可证在哪个网站
  • 成都APP,微网站开发芜湖企业100强
  • 江门搜索引擎网站推广网约车多少钱一辆
  • 北京高端网站建设宣传请人做软件开发的网站
  • h网站建设长沙本地公众号
  • 苏州工业园区劳动局网站做不了合同建域名做网站
  • 内蒙古建设兵团网站组建网站开发团队
  • 劳务派遣做网站的好处广州最新新闻事件
  • 海兴网站建设公司网站建设原则
  • 网站建设完不管了自己怎么接手wordpress个人主页
  • 具有品牌的网站建设霞浦建设局网站
  • 推荐个网站免费的wordpress force ssl
  • app网站搭建做英文网站的心得
  • 东莞企业网站制作推广运营多样化的网站建设公司
  • 深圳做网站那里好提交网址给百度
  • 泰州企业建站系统中企动力科技做什么的
  • 唐山公司网站建设 中企动力唐山宽带动态ip如何做网站访问
  • 个人商城网站怎么做电商网站及企业微信订烟
  • 温州市网站优化广告平面设计教程
  • 南通制作网站的有哪些公司吗sae 部署wordpress
  • 友情链接对网站的影响wordpress admin init
  • 渭南网站开发做网红用哪个网站
  • 湖北建设网站wordpress 翻页电子书
  • 网站设计命名规范厦门建站比较好的公司
  • 用vs2010做网站登入前端培训费用大概多少郑州
  • 网站建设后的效果评估杭州网站制作公司
  • 3网站建设公司影楼修图用什么软件