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

咸宁市网站建设_网站建设公司_关键词排名_seo优化

wordpress拖动,西安网站搜索引擎优化,河北网站建设有限公司,cn 域名网站原文#xff1a;https://www.cnblogs.com/df888/p/16011061.html 接口自动化项目落地系列 找个开源网站或开源项目#xff0c;用tep实现整套pytest接口自动化项目落地#xff0c;归档到电子书#xff0c;作为tep完整教程的项目篇一部分。自从tep完整教程发布以后#…原文https://www.cnblogs.com/df888/p/16011061.html   接口自动化项目落地系列 找个开源网站或开源项目用tep实现整套pytest接口自动化项目落地归档到电子书作为tep完整教程的项目篇一部分。自从tep完整教程发布以后tep被越来越多小伙伴了解。教程只是纯理论是骡子是马拉出来遛遛才知道。做接口自动化项目落地一方面是为了让自己脑海中的构想实实在在的呈现出来现实和理想存在多少差距不断尝试去弥补和修缮另一方面也是方便读者朋友们学习使用借助实际项目来练习才能在赛道中弯道超车。 HTTPBin网站 httpbin.org是一个简单的在线提供HTTP服务的网站 它能够用来对HTTP进行在线测试。 测试报告 HTTPBin网站的接口自动化项目包含11个用例集 67条测试用例 自动化执行正确率98.5%其中有1条错误结果是我故意为之的因为想展示下断言失败的效果。 环境配置 包含http和https两套环境因为HTTPBin支持HTTPHTTPS fixtures/fixture_env_vars.py #!/usr/bin/python # encodingutf-8from tep.fixture import *pytest.fixture(scopesession) def env_vars(config):class Clazz(TepVars):env config[env]变量定义开始# 环境变量mapping {http: { # http环境domain: http://httpbin.org,},https: { # https环境domain: https://httpbin.org,}# 继续添加}# 定义类属性敲代码时会自动补全domain mapping[env][domain]变量定义结束return Clazz()配置默认为http环境 conf.yaml env: http用例集 http-methods import allure from tep.client import requestallure.title(get请求) def test(env_vars):# 描述# 数据# 请求response request(get,urlenv_vars.domain /get,headers{Host: httpbin.org, Proxy-Connection: keep-alive, accept: application/json,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36,Referer: http://httpbin.org/, Accept-Encoding: gzip, deflate,Accept-Language: en-US,en;q0.9,zh-CN;q0.8,zh;q0.7},params{})# 提取# 断言assert response.status_code 400auth import allure from tep.client import requestallure.title(Authorization以Bearer开头认证成功) def test(env_vars):# 描述# http://httpbin.org/#/Auth/get_basic_auth__user___passwd_# 数据# 请求response request(get,urlenv_vars.domain /bearer,headers{Host: httpbin.org, Proxy-Connection: keep-alive, accept: application/json,Authorization: Bearer ZG9uZ2ZhbmdlcjoxMjM0NTY, # 替换tokenUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36,Referer: http://httpbin.org/, Accept-Encoding: gzip, deflate,Accept-Language: en-US,en;q0.9,zh-CN;q0.8,zh;q0.7},params{})# 提取# 断言assert response.status_code 400status-codes import allure from tep.client import requestallure.title(post返回状态码300) def test(env_vars):# 描述# 数据# 请求response request(post,urlenv_vars.domain /status/300,headers{Host: httpbin.org, Proxy-Connection: keep-alive, Content-Length: 0, accept: text/plain,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36,Origin: http://httpbin.org, Referer: http://httpbin.org/, Accept-Encoding: gzip, deflate,Accept-Language: en-US,en;q0.9,zh-CN;q0.8,zh;q0.7,Cookie: stale_afternever; fakefake_value},json{})# 提取# 断言assert response.status_code 300request_inspection import allure from tep.client import requestallure.title(捕获请求信息--headers) def test(env_vars):# 描述# 数据# 请求response request(get,urlenv_vars.domain /headers,headers{Host: httpbin.org, Proxy-Connection: keep-alive, accept: application/json,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36,Referer: http://httpbin.org/, Accept-Encoding: gzip, deflate,Accept-Language: en-US,en;q0.9,zh-CN;q0.8,zh;q0.7,Cookie: stale_afternever; fakefake_value},params{})# 提取# 断言assert response.status_code 400assert response.json()[headers]response_inspection import allure from tep.client import requestallure.title(捕获响应信息--缓存) def test(env_vars):# 描述# 数据# 请求response request(get,urlenv_vars.domain /cache,headers{Host: httpbin.org, Proxy-Connection: keep-alive, Cache-Control: max-age0,accept: application/json, If-None-Match: 1, If-Modified-Since: 1,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36,Referer: http://httpbin.org/, Accept-Encoding: gzip, deflate,Accept-Language: en-US,en;q0.9,zh-CN;q0.8,zh;q0.7,Cookie: stale_afternever; fakefake_value},params{})# 提取# 断言assert response.status_code 304response_formats import allure from tep.client import requestallure.title(txt文本text/plain) def test(env_vars):# 描述# 数据# 请求response request(get,urlenv_vars.domain /robots.txt,headers{Host: httpbin.org, Proxy-Connection: keep-alive, accept: text/plain,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36,Referer: http://httpbin.org/, Accept-Encoding: gzip, deflate,Accept-Language: en-US,en;q0.9,zh-CN;q0.8,zh;q0.7,Cookie: stale_afternever; fakefake_value},params{})# 提取# 断言assert response.status_code 400assert response.headers[content-type] text/plaindynamic_data import allure from tep.client import requestallure.title(base64解码) def test(env_vars):# 描述# 数据# 请求response request(get,urlenv_vars.domain /base64/SFRUUEJJTiBpcyBhd2Vzb21l,headers{Host: httpbin.org, Proxy-Connection: keep-alive, accept: text/html,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36,Referer: http://httpbin.org/, Accept-Encoding: gzip, deflate,Accept-Language: en-US,en;q0.9,zh-CN;q0.8,zh;q0.7,Cookie: stale_afternever; fakefake_value},params{})# 提取# 断言assert response.status_code 400assert HTTPBIN is awesome response.textcookies import allure from tep.client import requestallure.title(cookies) def test(env_vars):# 描述# 数据# 请求response request(get,urlenv_vars.domain /cookies,headers{Host: httpbin.org, Proxy-Connection: keep-alive, accept: application/json,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36,Referer: http://httpbin.org/, Accept-Encoding: gzip, deflate,Accept-Language: en-US,en;q0.9,zh-CN;q0.8,zh;q0.7,Cookie: stale_afternever; fakefake_value},params{})# 提取# 断言assert response.status_code 400assert response.json()[cookies]images import allure from tep.client import requestallure.title(图片) def test(env_vars):# 描述# 数据# 请求response request(get,urlenv_vars.domain /image,headers{Host: httpbin.org, Proxy-Connection: keep-alive, accept: image/webp,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36,Referer: http://httpbin.org/, Accept-Encoding: gzip, deflate,Accept-Language: en-US,en;q0.9,zh-CN;q0.8,zh;q0.7,Cookie: stale_afternever; fakefake_value; freeform3; namedongfanger},params{})# 提取# 断言assert response.status_code 400redirects import allure from tep.client import requestallure.title(重定向) def test(env_vars):# 描述# 数据# 请求response request(get,urlenv_vars.domain /redirect/1,headers{Host: httpbin.org, Proxy-Connection: keep-alive, accept: text/html,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36,Referer: http://httpbin.org/, Accept-Encoding: gzip, deflate,Accept-Language: en-US,en;q0.9,zh-CN;q0.8,zh;q0.7,Cookie: stale_afternever; fakefake_value; freeform3; namedongfanger},params{})# 提取# 断言assert response.status_code 404anything import allure from tep.client import requestallure.title(返回所有数据) def test(env_vars):# 描述# 数据# 请求response request(delete,urlenv_vars.domain /anything,headers{Host: httpbin.org, Proxy-Connection: keep-alive, accept: application/json,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36,Origin: , Referer: /, Accept-Encoding: gzip, deflate,Accept-Language: en-US,en;q0.9,zh-CN;q0.8,zh;q0.7,Cookie: stale_afternever; fakefake_value; freeform3; namedongfanger},json{})# 提取# 断言assert response.status_code 400# 描述# 数据# 请求response request(get,urlenv_vars.domain /anything,headers{Host: httpbin.org, Proxy-Connection: keep-alive, accept: application/json,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36,Referer: /, Accept-Encoding: gzip, deflate,Accept-Language: en-US,en;q0.9,zh-CN;q0.8,zh;q0.7,Cookie: stale_afternever; fakefake_value; freeform3; namedongfanger},params{})# 提取# 断言assert response.status_code 400# 描述# 数据# 请求response request(patch,urlenv_vars.domain /anything,headers{Host: httpbin.org, Proxy-Connection: keep-alive, accept: application/json,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36,Origin: , Referer: /, Accept-Encoding: gzip, deflate,Accept-Language: en-US,en;q0.9,zh-CN;q0.8,zh;q0.7,Cookie: stale_afternever; fakefake_value; freeform3; namedongfanger},json{})# 提取# 断言assert response.status_code 400# 描述# 数据# 请求response request(post,urlenv_vars.domain /anything,headers{Host: httpbin.org, Proxy-Connection: keep-alive, Content-Length: 0,accept: application/json,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36,Origin: , Referer: /, Accept-Encoding: gzip, deflate,Accept-Language: en-US,en;q0.9,zh-CN;q0.8,zh;q0.7,Cookie: stale_afternever; fakefake_value; freeform3; namedongfanger},json{})# 提取# 断言assert response.status_code 400# 描述# 数据# 请求response request(put,urlenv_vars.domain /anything,headers{Host: httpbin.org, Proxy-Connection: keep-alive, Content-Length: 0,accept: application/json,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36,Origin: , Referer: /, Accept-Encoding: gzip, deflate,Accept-Language: en-US,en;q0.9,zh-CN;q0.8,zh;q0.7,Cookie: stale_afternever; fakefake_value; freeform3; namedongfanger},json{})# 提取# 断言assert response.status_code 400只花了3小时完成 通过mitmproxy来录制流量自动生成用例效率得到了极大的提高从原来的1天缩短到3小时就完成了整个项目落地。相比于手工编写用例这次写HTTPBin的接口自动化我使用了utils/mitm.py来录制流量mitmproxy稍微不方便的是需要手动开启代理不过适应了以后还是能接受。录制流量后就会生成自动化用例但是还需要二次修改才会变成最终的用例。主要修改的工作量是在添加断言根据业务设置合理的断言。其次是替换url为env_vars.domain /api拼接方式直接批量Replace即可。然后就是修改文件名和allure.title了给用例加上标题。工欲善其事必先利其器。 tep共建 欢迎添加微信cekaigang分享交流tep实践案例可以提供开源项目我来写也可以写好后发我一起看看优秀的项目会添加到tep完整教程的项目篇以便更多测试同行们借鉴大佬们赶快来加入我们吧。 参考资料 HTTPBin接口自动化项目源码 GitHub - dongfanger/httpbin: httpbin.org接口自动化项目 postman Postman
http://www.ihoyoo.com/news/3131.html

相关文章:

  • 做数据收集网站自己的网站怎么做app
  • 建设一个境外网站市北区大型网站建设
  • 移动端网站开发技术wordpress电影主题会员
  • 微软网站设计做网站需要的技术 规范
  • 广元如何做百度的网站哪些网站是用twcms做的
  • 一般的网站开发语言用什么qq代刷网站推广免费
  • wordpress多站点无法发布文章discuz网站建设
  • 郑州做网站哪家公司好手机图片编辑器
  • 网站建设需要提供哪些信息免费广告推广平台
  • 品牌词类的网站怎么做优化北京病例最新消息今天
  • 阿里云服务器创建网站吗wordpress用了cdn和缓存插件
  • 天涯论坛网站建设汅api免费版大全免费
  • 验证码网站搭建设计师设计软件
  • 微博网站建设网站稳定期的推广
  • 上海云盾为网站做防护在哪找人做网站
  • 品牌网站查询建设公司网站大概需要多少钱?
  • 定制企业网站有哪些哈尔滨做网站费用报价
  • dw做的网站怎么上传企业黄页到哪里买
  • 如何制作网站的横幅开发公司网站建设
  • 推荐个好看的网站搜索引擎优化英文简称为
  • 在线网页游戏网站组织建设方面存在的问题
  • 工会网站建设管理工作总结莞城网页设计
  • 唯品会 一家专门做特卖的网站网站首页结构图
  • 有广告的网站免费推广平台排行榜
  • 做宣传语的网站网页视频下载器app
  • asp网站只能打开首页便民网
  • 怎么免费自己做网站如何做自己的项目网站
  • 北语网站app深圳网络营销策划公司
  • 手机模块网站哪里有做网站技术
  • 网站备案期间完全关闭么室内软装设计