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

wordpress完整教程 pdf网站优化方案案例

wordpress完整教程 pdf,网站优化方案案例,vi全套设计公司,学app开发需要多久接口自动化基础 1、接口自动化测试 接口自动化:使用工具或代码代替人对接口进行测试的技术测试目的: 防止开发修改代码时引入新的问题测试时机: 开发进行系统测试转测前,可以先进行接口自动化脚本的编写开发进行系统测试转测后&…

接口自动化基础

1、接口自动化测试

  • 接口自动化:使用工具或代码代替人对接口进行测试的技术
  • 测试目的: 防止开发修改代码时引入新的问题
  • 测试时机:
    • 开发进行系统测试转测前,可以先进行接口自动化脚本的编写
    • 开发进行系统测试转测后,优先进行系统测试用例的执行,再进行接口自动化脚本的编写

2、接口自动化测试流程

1)选取自动化测试用例

  • 优先级高(先实现业务流程用例、后实现单接口用例)
  • 功能稳定

2)搭建自动化测试环境

  • 核心技术
    • 编程语言:Python
    • 测试框架:pytest
    • 接口请求:requests
      • 安装:pip3 install requests
      • 验证:pip3 show requests

3)搭建自动化测试框架
4)代码实现自动化
5)输出测试报告
6)实现持续集成

3、接口自动化测试框架

1)接口自动化框架

接口自动化框架就是基于应用服务器和数据库进行case管理,具体包含API封装、数据库封装、测试数据参数化和代码优化断言封装等

2)接口自动化框架设计思路

  1. 搭建集成框架——定义项目目录结构
  2. 通用功能类封装——封装通用功能如:数据库工具等
  3. 接口对象封装与调用——封装接口API对象+PyTest框架编写测试脚本
  4. 测试数据参数化——测试数据json文件设计、参数化实现
  5. 用例组织运行——组织测试用例运行,生成测试报告

3)搭建基础框架—定义项目目录结构

在这里插入图片描述

  • api——封装接口信息
  • scripts——编写测试脚本
  • data——存放测试数据
  • report——存放测试报告
  • common——存放通用工具类
  • config.py——定义项目配置信息
  • pytest.ini——pytest配置文件

Requests库

1.介绍
  • requests库:python中的“浏览器”,基于urllib的HTTP库
  • 安装:pip install requests
  • 操作步骤
    • 导包
    • 发送接口请求
    • 查看响应数据
2.Requests发送请求

1)requests处理json类型

requests.请求方法(url, params=None, data=None, json=None, headers=None)
  • 常见方法:get,post,put,delete
  • url:请求的url地址
  • params:请求的查询参数
  • data:请求体为form表单参数
  • json:请求体为json参数
  • headers:请求头参数

2)requests处理multipart/form-data类型

requests.请求方法(url, data=None, json=None, headers=None, files=None)
  • files:上传的文件
3.Requests查看响应
属性/方法说明
response.status_code状态码
response.json()json形式的响应内容
response.text文本形式的响应内容
response.url请求url
response.encoding查看响应头部字符编码
response.headers头信息
response.cookiescookies信息
登录接口调试-登录
  • 需求:使用requests访问登录接口,并查看响应结果
  • 接口信息
    • url:http://kdtx-test.itheima.net/api/login
    • 方法:post
    • 请求数据
      • 请求头:Content-Type:application/json
      • 请求体:{“username”:“admin”,“password”:“HM_2023_test”,“code”:“2”,“uuid”:“验证码接口返回结果中的数据值”}
# 需求:登录成功# 导包
import requests# 发送请求
url = "http://kdtx-test.itheima.net/api/login"
header_data = {"Content-Type": "application/json"
}
login_data = {"username": "admin","password": "HM_2023_test","code": 2,"uuid": "26bdc08fac934d6b805e49645b2701ae"
}
response = requests.post(url=url, headers=header_data, json=login_data)# 查看响应
print(response.status_code)
print(response.json())

接口对象封装

1、接口自动化代码核心思想?
核心思想:代码分层思想

  • 测试脚本层
    • 重点关注测试数据准备和断言
    • 重点关注业务流程的处理
    • 直接调用接口对象层发送请求
  • 接口对象层
    • 根据接口API文档封装
    • 重点关注如何调用接口
    • 请求参数从测试脚本层传递
    • 接口响应结果返回给脚本层
      2、代码中如何解决接口之间的数据依赖?
      使用python中变量或属性传递接口依赖数据
      例如:
      #提取登录成功之后的token数据并保存在类的属性中TestContractBusniess.token = res_l.json().get("token")
      3、Requests中如何处理multipart/form-data请求数据?
# 读取文件
f = open("test.pdf", "rb")
# 设置请求数据
response = requests.post(url=xxx, files={"file": f}

数据驱动

数据驱动:以测试数据驱动脚本执行,维护焦点从脚本转向测试数据的一种自动化测试设计模式
好处:代码与测试数据分离,增强代码的可维护性

如何实现?

pytest中parametrize装饰器

  • 作用:遍历所有测试数据并运行测试方法
  • 语法
    • @pytest.mark.parametrize(②保存数据参数名, ①测试数据)
      def test_method(self, ③参数名)
      pass
  • 示例
    • test_data=[(“manager”, “123456),(”",“123456”),(“itheima”,“123456”)]
    • @pytest.mark.parametrize(“mobile, password”, test_data)
      def test_method(self, mobile, password)
      pass
json文件实现数据驱动

1)json文件记录测试数据

[{"username": "admin","password": "HM_2023_test","status": 200,"message": "成功","code": 200},{"username": "","password": "HM_2023_test","status": 200,"message": "错误","code": 500},{"username": "admin111","password": "HM_2023_test","status": 200,"message": "错误","code": 500}
]

2)封装读取json文件

# 读取json文件
def build_data(json_file):# 定义一个空列表test_data = []# 打开json文件with open(json_file, "r", encoding="utf-8") as f:# 加载json文件数据json_data = json.load(f)# 循环遍历测试数据for case_data in json_data:# 转换数据格式[{}, {}, {}] ==> [(), (), ()]username = case_data.get("username")password = case_data.get("password")status = case_data.get("status")message = case_data.get("message")code = case_data.get("code")test_data.append((username, password, status, message, code))# 返回处理后的测试数据return test_data

3)测试用例方法中利用参数化取出测试数据

# 登录成功@pytest.mark.parametrize("username, password, status, message, code", build_data(json_file=config.BASE_PATH + "/data/login.json"))def test01_login_success(self, username, password, status, message, code):login_data = {"username": username,"password": password,"code": 2,"uuid": TestLoginAPI.uuid}response = self.login_api.login(test_data=login_data)# 断言响应状态码为200assert status == response.status_code# 断言响应数据包含’成功‘assert message in response.text# 断言响应json数据中的code值assert code == response.json().get("code")

项目配置文件

用于维护项目相关的基本信息,如:URL、项目路径等

# 导包
import os
# 定义环境域名
BASE_URL = "http://kdtx-test.itheima.net"
# 统一文件路径
BASE_PATH = os.path.dirname(__file__)
print(BASE_PATH)

当测试用例代码中需要用到url或项目路径时,如:

self.url_verify = config.BASE_URL + "/api/captchaImage"
json_file=config.BASE_PATH + "/data/login.json"

Allure测试报告

  • 介绍
    • 能生成美观易读的报告
    • 支持多种开发语言,如java、python等
    • 能快速上手
  • 操作步骤
    • 生成测试结果文件(json文件)
    • 使用allure命令生成在线报告
  • 帮助文档:https://docs.qameta.io/allure
1)生成测试结果文件

使用步骤:

  1. 将pytest配置文件中的命令行参数加上如下代码

    --alluredir report
    
  2. 编写好测试脚本后,在命令行行中运行pytest

    [pytest]
    addopts =-s --alluredir report
    testpaths=./scripts
    python_files = test*.py
    python_classes = Test*
    python_functions = test*
    
  3. 程序运行结束后,会在项目的report目录中生成一些json文件

2)使用allure命令生成在线报告

安装:
1.https://github.com/allure-framework/allure2/releases 下载 allure
2.解压缩安装包到一个不包含中文路径的目录
3.将压缩包内的 bin 目录配置到 path 系统环境变量
4.右键我的电脑 - 属性 - 高级设置 - 环境变量 - 找到系统环境变量的path项 - 增加 allure到bin目录
5.在命令行中输入 allure--version 命令,能显示allure版本信息,即为成功

总结:
1)终端输入 pytest 运行
2)终端输入 allure serve report 命令 得到报告

在这里插入图片描述
一些问题:
①allure依赖于jdk环境,需要先安装jdk1.8.0并配置环境变量(按照csdn上的文章配置了半天都没用,最后是直接将bin文件的绝对路径添加到path环境变量中才成功)
②如果在pycharm终端输入allure serve report 报错提示“allure不是内部或外部命令”,可以直接使用allure路径+serve report,即D:\software\allure-2.30.0\bin\allure serve report

http://www.zhongyajixie.com/news/2185.html

相关文章:

  • 三亚网站建设.com百度站长工具怎么用
  • wordpress清空缓存关键词推广优化排名如何
  • photoshop免费版汕头seo
  • 大气简洁企业通用网站模板企业官网推广
  • wordpress publisherseo页面优化技术
  • 网站建设现在主要做些什么推广方案怎么写模板
  • 在哪里做马可波罗网站营销推广的特点
  • 做网站最好的公司有哪些成都全网营销推广
  • 顺庆区城乡规划建设局门户网站福州短视频seo网站
  • 网站美工设计培训学校seo5
  • 郴州网站建设专业现状报告网站推广优化技巧
  • 网站搭建申请网站排名优化快速
  • 哪个网站做任务可以赚钱营销型网站设计制作
  • 网站做桌面应用 iOS深圳seo推广培训
  • wordpress分类目录单个调用浙江seo
  • 公司网站可以自己做吗常州seo排名收费
  • 做web网站原型株洲网站设计外包首选
  • 精品资料网官方网站今日nba比赛直播
  • 如何创建网站后台广告联盟全自动赚钱系统
  • 做公众号app,网站,app杭州seo网络推广
  • 关于美食网站的问卷调查怎么做企业网站模板源码
  • 做装饰公司网站6百度推广客服电话
  • 网站地图做关键词排名seo修改器
  • 东平网站制作哪家好今日大事件新闻
  • 最新网购平台seo优化的搜索排名影响因素主要有
  • 五莲网站制作网络营销论文3000字
  • 网页制作代码成品百度快照优化seo
  • 企业网站维护服务淘宝seo排名优化
  • 永年县网站seo搜索引擎优化费用
  • 企业网站制作 徐州线上销售怎么做推广