摘要:
使用 HTMLTestRunner 模块可以生成测试报告,但是系统自带的报告不详细,不好看,所以找了一份详细的报告 HTMLTestRunNer 模板,直接导入就能使用 两种方法生成HTML报告,都是一个意思,用那种都一样 import unittest from datetime import d 阅读全文
摘要:
1. 什么是数据驱动? 使用数据驱动有什么好处? 用例执行是靠数据来驱动的,每条测试用例除了测试数据不一样意外,所有的用例代码都是一样的,为了使用例批量执行,我们会使用数据驱动的思想来批量执行测试用例; 好处: 批量的执行测试用例,提高执行的测试效率;数据与脚本分离,测试数据需要修改时,代码不需要修 阅读全文
摘要:
是程序产生的日志 程序员自定义设置的 收集器和渠道级别那个高就以那个级别输出 日志和报告的作用: 报告的重点在于执行结果(执行成功失败,多少用例覆盖),返回结果 日志的重点在执行过程当中,异常点,哪里失败,哪里报错,诊断代码 logging 模块的基本使用 import logging # Pyth 阅读全文
摘要:
1. 将程序中不常变化的数据放在配置文件中,有什么好处? 将配置统一放在一起,进行统一管理,方便维护,方便修改 配置文件将存放测试数据比如: Excel文件名、 日志名、 用例执行的结果、 实际结果和用例执行结果写入到哪一行、 HTML报告的名称、 报告的标题、 报告的详细程度、 报告的描述信息、 阅读全文
摘要:
只有测试数据和错误提示信息不同,其他代码都是一样的,不这样不易修改数据和维护,会有两点痛点 1.代码冗余极其严重, 程序可读性不佳 2.程序拓展性很差 往往我们在自动化测试汇总,会将数据放在 Excel 文件、CSV文件、数据库 Python 中处理 excel 数据的模块非常多,比如: xlxd( 阅读全文
摘要:
unittest 当中为我们提供了许多加载用例的方法,这里说下常用的两种方法。。。推荐使用第二种 第一种加载测试用例的方法:使用加载器加载两个模块 需要把所有的模块加载到套件中 那么就可以自动的运行所有的模块 执行顺序是按照导入测试用例的先后来执行的,先执行 num_multi,在执行 num_ad 阅读全文
摘要:
现在正在使用 unittest 框架,我们来记录下这个框架的知识点; unittest 框架:我们在写接口用例的时候,会继承 unittest 当中的 TestCase 的类和方法,私有方法除外,来识别以 test_ 开头的测试用例,unittest 相当于是一个包,我们来使用包里面的工具; 什么是 阅读全文
摘要:
1、接口自动化的应用场景 需求稳定 项目周期长 新的项目,先手工测试,然后逐渐开始自动化测试 回归测试 2、使用Excel 文档,并以 XXX.xlsx 的格式来管理测试用例数据 自动化用例包括: case_id :用例编号信息 title :用例名称 url :一部分在配置文件方便修改,一部分在E 阅读全文
摘要:
我们在自动化测试中经常会需要关联用例处理,需要动态类属性; 推荐使用第二种方法:动态创建类属性 创建:setattr() 获取:getattr() 1、容易出错的地方,不能使用全局变量 循环导模块的问题, 会报错 不能多次导入同一个变量, 变量值不会实时更新 可以进行写入文件或者配置文件 动态创建类 阅读全文
摘要:
我们可以在Excel 测试用例文档中 添加一列 check_sql 存放需要在数据库中查询的 sql,然后我们通过判断是否为空,不为空说明存在需要在数据库查询的 sql,调用MySQL数据库封装执行 sql,从结果中提取自己需要验证的数据; check_sql = case['check_sql'] 阅读全文
摘要:
创建三个账号 from scripts.handle_mysql import HandleMysql # 数据库类 from scripts.handle_requsets import HandleTheRequest # 发起请求类 from scripts.handle_config imp 阅读全文
摘要:
参数化的目的:运行自动化测试用例的时候参数都不需要改变,直接使用封装好的类进行参数化,发起请求时直接使用替换后参数; 自动化测试用例,如果一百个接口要在Excel写100个sheet表单,每个接口有10个字段,里面有5个都可能是变化的,需要使用参数化,先试用特定的字符在用例中进行站位,在发起请求构造 阅读全文
摘要:
os 模块提供了非常丰富的方法用来处理文件和目录。 我们在做自动化测试过程中,代码中存在许多路径;如果把整个文件拷贝到其他位置,如何保证代码中的路径在其他同事的电脑上或者在不同的环境下都可以不用改变路径,动态获取目录路径;这样可以使提高代码的可维护性和拓展性; 比如:自动化项目的代码中我们可能需要: 阅读全文
摘要:
1、Python 需要安装 pymysql 模块 步骤: 创建链接 创建游标 需要执行 sql 语句 执行 sql 手动提交 获取执行结果 关闭链接 2、链接数据库,简单验证 import pymysql # 1.建立链接,使用 pymysql 库中的 connect(可耐科特) conn = py 阅读全文
摘要:
1、接口测试的步骤 需求分析 需求文档 梳理业务流程 需要测哪些功能 测试周期、任务安排 用例设计 根据接口文档 代码编写 2、接口测试的特点 接口的协议、请求方法 输入、输出传参方式、参数类型 接口依赖:需要上个接口的返回值 接口参数化 3、接口测试关注的点 如何设计测试用例? 功能 逻辑 异常 阅读全文
摘要:
使用 requests (译:瑞快四次)模块进行封装,帮你处理 restful (译:儒哎斯否)类型的接口 一、requests 模块基本使用 1、准备接口的URL、请求参数、请求头 # 1. 构造注册、登录、充值请求的url register_url = "注册url" login_url = " 阅读全文
摘要:
默认为:https://pypi.python.org/simple 1、更换 pycharm 为豆瓣安装源:https://pypi.douban.com/simple/ 打开 pycharm 软件进入:File 》Setting... 》Project Interpreter 》Manage R 阅读全文
摘要:
一、定义 JSON 是一种数据格式 使用 javaScript (Java 死鬼破特)对象表示法 二、特点 1、JSON 与 XML格式数据的区别 区别 两种格式的数据,都是跨语言,跨平台 c、c++、java、php、python、go 等都能处理这两种格式 Windows、Linux、Unix都 阅读全文
摘要:
1、session(赛神)会话机制 session 会话机制会借助 cookie + session 一起来做认证 cookie 是放在浏览器中的,cookie 是存储在客服端,但是可以由服务端和客户端生成。 sesion 是保存在服务端的数据库中的,session 是服务端一块存储空间,只能由服务 阅读全文
摘要:
HTTP协议 HTTP ( HYper Text Transfer Protocol)超文本传输协议,用于从万维网(www)服务器传输资源到本地浏览器的传送协议 HTTP 协议是基于 TCP 协议,默认是 80 端口。主要是用来规定客户端和服务端的数据传输格式 HTTP 是基于请求与响应模式的、无状 阅读全文