
自动化测试
文章平均质量分 63
董林夕
唯有变得优秀,才是自己唯一的退路
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
接口自动化框架搭建 pytest
持续完善中。。。。1.用例管理一个excel文件就是一个项目,一个项目中的每个sheet就是一个模块,一个模块中写正常用例和异常用例2.提取数据用一列来专门提取数据,格式是字典,key为被赋值的变量,value为jsonpath要查询的接口返回的字段key,运行时判断如果有需要提取数据,则将数据进行保存到ini配置文件中3.url组合excel表格中用path,运行时通过输入环境参数,和表中的服务名,在ini配置文件中进行匹配对应的域名,和path组合成完整的url4.run运行时选择环境R原创 2022-03-03 11:25:56 · 2368 阅读 · 1 评论 -
HttpRunner源码分析(数据驱动csv文件只取第一行数据问题)
一、运行逻辑步骤1.生成的pytest用例文件中:a.测试类类继承HttpRunner;b.入口为test_start(),如果需要进行数据驱动,则重写test_start()方法改为传参的方式test_start(param)源码的test_start()方法: def test_start(self, param: Dict = None) -> "HttpRunner": """main entrance, discovered by pytest"""原创 2022-02-11 19:13:26 · 961 阅读 · 2 评论 -
HttpRunner入门
先认识一下自动化领域的六大框架:java:junit、testingpython:unitest、pytest、robotframework一、什么是httprunner?1.它是面向http协议的测试框架,只需要维护一份ymal/json就可以进行自动化测试、结合locust性能测试,线上监控、持续集成、devops等多种需求二、设计思想和理念1.复用优秀的开源项目(不重复造轮子,而是将轮子组装成战车)2.约定大于配置(提升测试脚本的可维护性)3.配置文件组织测试用例(yaml/jso原创 2022-02-04 10:00:00 · 1023 阅读 · 0 评论 -
pytest-web自动化框架搭建
目标:搭建一个灵活,可复用,pom分层的web自动化框架待完善原创 2021-09-09 19:07:23 · 537 阅读 · 2 评论 -
pytest接口自动化框架搭建
目标:最终完成一个用jenkins集成或用django,达到一个自由灵活可复用的接口自动化测试框架一、设计思路-整体框架:接口自动化测试之框架搭建步骤——思路整理1.先搭建框架主干config:存放配置文件,如ini文件,可以用来保存配置各个环境的地址output:用来存放测试报告、日志等common:公共的方法,如,封装yaml操作相关的方法、excel相关操作方法等testcase:运行用例的脚本data:存放测试用例excel表、和转化为yaml格式的测试用例2.选用合适的单元测试框原创 2021-09-07 10:42:24 · 11693 阅读 · 33 评论 -
pytest快速入门
pytest学习内容特点:简答、已读支持参数化支持运行由unitest编写的测试Case具有很多第三方插件,并且可以自定义扩展支持重复执行失败的case可以和持续集成工具集成安装及快速入门安装命令:pip3 install pytest创建第一个测试用例#1.导入pytest包import pytest#2.测试用例方法def func(x): return x+1def test001(): print('-----test001用例-------'原创 2021-04-13 23:30:23 · 644 阅读 · 7 评论 -
python之pytest简单记录
标题pytest 和 unitest 的区别pytest是基于unitest的扩展框架,比unitest更简洁,更高效。格式简单,可兼容unitest用例运行时可不需要main()基本命令(常用)–collect -only :展示哪些用例会被执行;-k :用表达式来指定需要需要运行的测试用例;-m :标记,例如:@pytest.mark.run_these_case,运行时pytest -m .run_these_case 这是就运行加了该标记的所有用例,(可以指定多个标记);-x原创 2021-04-13 20:10:23 · 231 阅读 · 0 评论 -
pytest之通过yaml实现数据驱动
一、安装pyyamlpip install pyyaml二、yaml基本语法略过三、将测试数据写入yamlinterfaceName: 首屏-考试数据接口url: http://stupad-stress.xk12.cn/api/pad/intervene/examheader: { 'Content-Type': 'application/json', 'requestid': '021618985865', 'token': 'eyJ0eXAiOiJKV1QiLCJhbGciO原创 2021-04-21 21:56:23 · 7493 阅读 · 13 评论 -
pytest之生成allure测试报告
一、Mac安装allure命令行:brew install allure二、在pytest.ini文件中加入命令生成json格式的临时报告addopts =-vs --alluredir ./temp三、命令行执行命令allure generate ./temp -o ./report --cleanallure generate :命令语法./temp:找到json的临时报告-o ./report:在report目录下生成allure报告–clean:每次运行都删除点之前的allur原创 2021-04-21 22:26:08 · 2252 阅读 · 0 评论 -
pytest之接口自动化实践
一.搭建接口自动化测试框架目录分层:1.common:放置常用公共方法,例如:操作yaml文件的模块、读取配置文件模块等2.config:存放配置文件:例如:config.ini文件3.logs:存放日志文件4.report:存放生成的报告5.tmep:allure生成的json报告,通过它来生成最终的报告6.testcase:测试用例所在的目录7.data:以yaml的方式放测试用例数据8.extract.yaml:存放用例之间数据关联的数据9.pytest.ini:pytest的配置原创 2021-04-25 21:10:27 · 2136 阅读 · 2 评论 -
UI自动化框架设计(pom模型)
一、UI自动化基础分层配置文件:存放配置信息,如地址url等数据文件:存放测试数据,实现测试数据与测试脚本分离;数据驱动:将测试数据与测试脚本分离;日志:日志的管理测试报告:hmtl测试报告的存放目录;测试用例:集中管理TestCase;测试页面:测试页面实现业务逻辑,测试元素从逻辑中剥离出来;POM:通过PO模式让测试代码更易于维护,提高测试脚本的复用性;测试邮件执行入口:框架的执行入口,阻止用例运行。二、PO模型设计...原创 2021-08-09 18:06:34 · 1712 阅读 · 0 评论 -
web自动化(selenium)
注:开始学习selenium自动化,这篇是基于观看b站百里讲的selenium课程,进行的总结一、web自动化简介1.哪些适合做web自动化软件需求变更不频繁项目周期比较长自动化脚本能够重复利用2.自动化测试介入点系统测试-回归测试3.自动化测试项目的实施过程可行性分析——>框架选择(selenium,RF)——>需求分析——>计划——>测试用例设计——>无人值守(和jenkins集成)——>提交报告——>脚本维护二、环境搭建pyth原创 2021-08-09 23:34:09 · 1172 阅读 · 0 评论 -
unittest用例前后置(testFixture测试夹具)
unittest用例前后置import unittestdef setUpModule(): print("模块级别的夹具开始")def tearDownModule(): print("模块级别的夹具结束")class Test1(unittest.TestCase): @classmethod # 这是类方法,必须加上这个装饰器 def setUpClass(cls): print("\n在每个类之前执行一次,如创建数据库连接,生成日志原创 2021-08-16 17:06:22 · 460 阅读 · 0 评论 -
自动化之数据驱动实现方式(DDT 和 pytest.mark.parametrize())
注:这篇博客专门介绍自动化数据驱动的实现方式一、unittest实现数据驱动(ddt)1.1、什么是DDT?data driver test数据驱动测试,可以完美的和unittest结合实现数据驱动1.2、DDT中的装饰器@ddt:装饰类,作用是用于申明当前类使用ddt数据驱动@data: 装饰函数,作用是给函数传值@unpack:装饰函数,作用是数据解包@file_data:装饰函数,作用是直接读yaml、json文件1.3、代码示例示例一:注意:传几个值,就会运行几次impo原创 2021-08-13 18:22:25 · 2272 阅读 · 2 评论