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

学校网站建设分工营销推广活动方案

学校网站建设分工,营销推广活动方案,网页设计图片居中,外贸销售渠道有哪些引言#xff1a;目前软件测试对测试人员的能力要求 业务测试能力#xff1a;占比5-6成接口、自动化、性能测试能力#xff1a;占比4-5成流程规范#xff1a;1成#xff08;需要综合型的测试人才#xff09;#xff1a;业务能力、代码能力、开发思维#xff08;封装目前软件测试对测试人员的能力要求 业务测试能力占比5-6成接口、自动化、性能测试能力占比4-5成流程规范1成需要综合型的测试人才业务能力、代码能力、开发思维封装 接口测试工具 postmanNewmanJenkins jmeterantJenkinsapifoxapifox-cliJenkins接口测试框架 pythonrequestspytestallureyamlloggingJenkins框架1、全面熟练Requests以及底层方法调用逻辑 1.1导入requests第三方库 import requests python3中必须先安装requests模块使用命令为pip install requests1.2底层逻辑 第一层调用 def get(url, paramsNone, **kwargs)url接口地址params参数在get请求的url后面传的参数**kwargs可变长度的字典def post(url, dataNone, jsonNone, **kwargs)url接口地址data参数表单/表格参数对应postman的 x-www-form-urlencodejson参数rawapplication/jsonpostman的四种传参方式1.form-data既有表单也有文件上传 files2.x-www-form-urlencode纯表单格式data3.rawjsonapplication/json传json格式的参数json4.binaryapplication/octrent-stream(二进制文件) data**kwargs可变长度的字典def put(url, dataNone, **kwargs):url接口地址data参数**kwargs可变长度的字典 def delete(url, **kwargs):url接口地址**kwargs可变长度的字典 第二层调用上面的4个方法其实都是调用的request方法requests.request() def request(method, url, **kwargs): 第三层调用requests.request()调用的是session.request方法 session.request(methodmethod, urlurl, **kwargs) 第四层调用最终调用的是request()  def request(self, method,                 请求方式url,                    请求路径paramsNone,            params参数dataNone,              data参数headersNone,          请求头cookiesNone,          cookies信息filesNone,             文件上传authNone,              鉴权timeoutNone,          超时allow_redirectsTrue, 重定向proxiesNone,         设置代理hooksNone,             钩子streamNone,          文件下载verifyNone,            证书验证certNone,          CA证书jsonNone):         json参数 1.3requests.request() 和 session.request() 的区别 我们实际工作中一般都是用 session.request() 去进行接口测试 前者的每个请求都是独立的后者会自动去关联所有请求的cookie信息。class TestRequestApi():Authorizationsess requests.session()def test_login(self):url https://xxxx/wzlApp/usersLogin/loginheaders {App-Version:3.6.9}data {phone:RwP%2BH9D9DTgD1Qf0j7J%2B3A,password:kKe2zs5e7SF%2BuzDkBeFLLQ}# 通过session的方法调用res TestRequestApi.sess.request(post,urlurl,datadata,headersheaders)print(res.json())TestRequestApi.Authorization res.json()[data][token] 1.4Requests响应部分  res.text返回字符串形式的结果res.json()返回字典形式的结果res.content返回字节类型的结果res.status_code返回状态码res.reason返回状态信息res.cookies返回cookie信息res.encoding返回编码格式res.headers返回响应头res.request.xxx得到请求数据 2、requests接口自动化测试实战 2.1接口关联的三个层次 通过类变量保存中间变量实现接口关联 ----不建议用这个方式通过单独的文件保存中间变量实现接口关联极限封装成零代码的方式实现接口关联 2.2接口关联的两种方式 1. 正则提取 re.search() 通过正则匹配一个值用下标[1]取值如没有匹配到则返回None re.findall() 通过正则匹配多个值返回的是list用下标取值如没有匹配到则返回None 一般在text文本中用正则提取 第一个是正则token: (.*?) 第二个是字符串对象res.json() 通过下标[1]提取对应的值 token re.search(token: (.?),res.text).group(1) print(这是正则提取出来的token) re 需要先导包再引入 2. JsonPath提取  jsonpath.jsonpath()  返回的是list用下标取值如没有匹配到则返回None         $ 表示根目录         如就在根目录下则直接用.名称提取res.json(),$.data                到前面的res.json()对象中通过表达式$.data取值         如有嵌套的话res.json(),$.[data][token]                  通过下标提取对应的值         print(data[0]) jsonpath需要先导包再引入 data jsonpath.jsonpath(res.json(),$.data[token]) # $ 表示根目录# 就在根目录下则直接用.名称提取res.json(),$.data# 到前面的res.json()对象中通过表达式$.data取值# 有嵌套的话res.json(),$.[data][token]# 通过下标提取对应的值print(data[0])import requests import jsonpathclass TestRequestApi():Authorizationdef test_login(self):# self,代表当前类的对象# 方法通过对象调用 TestRequestApi().test_login()# method: posturl https://xxxx/wzlApp/usersLogin/loginheaders {App-Version:3.6.9}data {phone:RwP%2BH9D9DTgD1Qf0j7J%2B3A,password:kKe2zs5e7SF%2BuzDkBeFLLQ}res requests.post(urlurl,datadata,headersheaders)print(res.json())TestRequestApi.Authorization res.json()[data][token]# $ 表示根目录# 就在根目录下则直接用.名称提取res.json(),$.data# 到前面的res.json()对象中通过表达式$.data取值# 有嵌套的话res.json(),$.[data][token]data jsonpath.jsonpath(res.json(),$.data[token])print(-----登录-----哈哈哈哈哈哈哈哈)print(这是直接获取的token TestRequestApi.Authorization)print(data[0])def test_notice(self):url https://xxxx/wzlApp/users/insertUserFeedbackheaders {App-Version:3.6.9,Authorization: TestRequestApi.Authorization}data {feedback:通过接口自动化脚本提交的意见反馈数字符--xxxx---测试。。通过接口自动化脚本提交的意见反馈数字字符--xxxxx---测试。。}res requests.post(urlurl,datadata,headersheaders)print(-----意见反馈-----哈哈哈哈哈哈哈哈)print(res.json())def test_upload(self):url https://xxxx/commonApi/upload/uploadPrivateheaders {App-Version: 3.6.9,Authorization: TestRequestApi.Authorization}data {file:open(D:/Scripts/workspace/demo/results/image/logo.png,rb)}res requests.post(urlurl, filesdata, headersheaders)print(-----上传文件接口-----哈哈哈哈哈哈哈哈)print(res.json()) 3、接口自动化测试框架的封装统一请求封装 1. 去重很多重复的、冗余的代码 2. 实现统一的异常处理以及日志监控  PS: 封装的一般放在common包中~~~ requests_util.py自定义 ---当该py文件被引用或者类被其他模块引用时意味着导入这个类的所有用例会导致用例的执行冗余 通过类变量保存中间变量实现接口关联 ----不建议用这个方式见上  2.1 解释所以变量一般不要定义为类变量如果该变量被其他模块导入并执行时也会执行该类的用例。 ---可能写的有点乱但希望意思能表达清晰。
http://www.tj-hxxt.cn/news/142042.html

相关文章:

  • 南阳企业做网站wordpress 动画插件
  • 如何建个人摄影网站做公司的网站怎么上线
  • 加大门户网站安全制度建设网站建设贰金手指科杰2
  • 重庆涪陵网站建设公司东营做网站优化价格
  • 敦化网站开发外贸网站建站赚钱
  • 网站后台发文章图片链接怎么做汕头市做网站优化
  • 深圳网站设计平台莆田市的网站建设公司
  • 网站运营思路网站备案备的是域名还是空间
  • 网站开发怎么做账北京网站建设模板下载
  • 济南网站建设_美叶网络西装定制
  • 注册公司网站的步骤人教版优化设计电子书
  • 外贸网站用什么空间好网站申请备案成功后怎么建设
  • 城乡与建设部网站信息化项目建设背景
  • 手机网站拒绝访问怎么解决网页设计的流程
  • 太原免费网站建设晋江网站建设联系电话
  • 网站建设讯美网络建设方案论文
  • 视频网站的服务器建设西宁做网站_君博先进
  • 给企业做网站怎么收钱杭州市做网站
  • 雷州手机网站建设建大型门户网站
  • 深圳龙华大浪做网站公司广告行业怎么找客户
  • asp商品网站源码做网站龙头
  • 做网站要写多少行代码100款不良网站进入窗口软件
  • 史志网站建设购物网站建设代码
  • 软件工程师证书报考网站wordpress 分类分页
  • 广州网站建设支付网站建设与管理的网页
  • 山东网站备案注销申请表wordpress 翻页函数
  • 黄金网站软件app大全视频网站改版中 模板
  • 网站建设前的功能怎么创建公司网站空间
  • 百度推广官方网站网盟推广
  • 网站后台内容编辑器和京东一样的网站