文章目录1. 前言2. 在常规函数中使用外部传参3. fixture 函数入参方法4. 相同用户免登录策略 1. 前言最近把之前写的基于 unitest 的测试项目迁到pytest 了,虽然 pytest 无缝支持 unitest 的写法,但是还是按照 pytest 的规范改动了不少。本文就来记录一下实际使用过程中遇到的问题。pytest有一个fixture概念,甚至推荐setup、 setdo
【linux】 命令添加别名文章目录【linux】 命令添加别名1.修改2.效果1.修改2.效果
原创 2024-07-09 11:34:06
42阅读
MySQL 允许在开头、中间和结尾处添加字段。在末尾添加字段一个完整的字段包括字段名、数据类型和约束条件。MySQL 添加字段的语法格式如下:ALTER TABLE ADD [约束条件];复制代码对语法格式的说明如下: 为数据表的名字; 为所要添加的字段的名字; 为所要添加的字段能存储数据的数据类型;[约束条件] 是可选的,用来对添加的字段进行约束。这种语法格式默认在表的最后位置(最后一列的后面)
1、如下代码是对日报的增加、查看、修改和删除:(文件名称:test_dailyreport.py)#!/usr/bin/env python # -*- coding:utf-8 -*- ''' caseName:工作日报 ''' # import unittest import pytest from businessView.daily_report import DailyReportPag
pytest中可以使用 @pytest.fixture 装饰器来装饰一个方法,被装饰的方法名可以作为一个参数传入到测试方法中。可以使用这种方式来完成测试之前的初始化,也可以返回数据测试函数。fixture的作用- 定义传入测试中的数据集 - 配置测试前系统的初始状态 - 为批量测试提供数据源fixture的用法- 类似 setup,teardown 功能,但比它们更灵活 - 直接通过函数名调用或
上一小节我们学习了pytest内置fixture的使用方法,本小节我们讲解一下pytest.ini文件的配置方法。pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行。pytest里面有些文件是非test文件pytest.ini pytest的主配置文件,可以改变pytest的默认行为conftest.py 测试用例的一些
 之前我们分享了fixture中使用ids用例取别名(详见:)类似的,parametrize中也可以使用ids用例取别名,从而增加可读性示例:#!/usr/bin/env python # -*- coding: utf-8 -*- # @Author : 韧 import pytest data = ["ren", "qzcsbj"] ids = [f"注册用户:{name}
原创 2024-02-28 11:33:25
70阅读
## 需求描述 假设你们的自动化测试是基于Pytest的,并且已经积累了大量的测试用例。但是在实际回归使用中,还挑选用例麻烦,用例可用状态不明确以及上手使用有一定门槛等问题。 现在领导希望你能复用已有的自动化测试用例,开发一个界面化的测试平台。基本功能要求如下: - [ ] 用例列表页:可以筛选和调
原创 2023-08-08 00:26:36
95阅读
Hook 方法之 pytest_addoption :pytest_addoption 可以让用户注册一个自定义的命令行参数,方便用户将数据传递给 pytest;这个 Hook 方法一般和 内置 fixture pytestconfig 配合使用,pytest_addoption 注册命令行参数,pytestconfig 通过配置对象读取参数的值; pytest_addoption 注册、pyte
转载 2024-05-05 16:10:14
42阅读
在上一篇fixture的案例实在同一个.py文件中,多个用例调用一个登陆功能,如果有多个.py的文件都需要调用这个登陆功能的haul,那就不能把登陆写到用例py文件中了。此时需要一个配置文件,单独管理一些预置的操作场景,pytest里面默认读取conftest.py里面的配置一、特点conftest.py配置需要注意以下几点:-conftest.py配置脚本的名称是固定的,不能改名   -conf
转载 2024-03-22 11:57:19
71阅读
一、前言  业务系统的登录均要经过统一登录系统S,本篇演示统一登录处理,一个是内部业务系统C(其余内部业务系统AB用的都是相同账号密码),一个是外部用户使用的系统W,因为账号密码以及headers信息都不一样,所以要分开处理登录。这里要先贴一下请求要用到的数据。说明:登录进了S系统,拿到token即可直接请求内部业务系统ABC的接口,同理外部业务系统W亦是如此。所以本篇主要讲述的是如何登录S系统1
# MySQL 数据库添加别名方案 ## 问题描述 在使用 MySQL 数据库时,有时候需要给表、列以及查询结果等起一个易于理解和使用的别名,以提高代码的可读性和可维护性。本文将介绍如何 MySQL 数据库添加别名的方案。 ## 解决方案 为了 MySQL 数据库添加别名,我们可以通过以下步骤来实现: 1. 创建一个新的数据库视图,将原始表的结构和数据导入到视图中。 2. 在视图
原创 2023-10-01 04:54:22
149阅读
接着上篇文章《python+pytest单元测试框架之生成各种格式测试报告》我们继续学习,从上篇文章中可以看到通过pytest可以生成多钟不同格式类型的测试报告。但是有一点,Fell这测试报告太单调、单一,不能直接看出报告运行结果,不利于我们自己分析问题。为此,接下来要学习的就是通过Allure来生成可视化的HTML图形测试报告,方便我们分析和查看report结果一、准备好测试用例脚本文件,本人的
上一节的笔记讲述了pytest的默认规则,那么这一节的pytest.ini的配置就是支持修改pytest的设置。先说一下这个配置需要注意的pytest.ini必须放在根目录下编码格式必须是ANSI,可以使用nodepad++修改首先在项目的根目录下新建一个pytest.ini的文件,然后填入下面的参数[pytest] addopts = -vs #命令行的参数,用空格隔
转载 2024-04-23 15:20:01
58阅读
本文只介绍pytest-ordering、pytest-rerunfailures、pytest-xdist三种插件,报告方面的插件会另起篇幅进行介绍。顺序执行:pytest-ordering安装:pip install pytest-ordering使用方式:在方法上加入下面装饰器标记于被测试函数,@pytest.mark.run(order=x)根据order传入的参数来解决运行顺序order
转载 2024-03-20 10:31:00
201阅读
一、Pytest简介1.pytest是一个非常成熟的全功能的Python测试框架,主要有一下几个特点:2.能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium、appium等自动化测试,requests+pytest接口自动化测试3.pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如:pytest-selenium(集成selenium)pytest-html(完美h
转载 2024-04-11 08:42:49
36阅读
在现代软件开发中,自动化测试是确保产品质量的重要环节。尤其是在用户界面测试中,使用 `Python`、`Selenium` 和 `pytest` 组合起来进行自动化测试已经成为一种流行的做法。本文将详细讲述如何使用这一技术栈解决自动化测试中的问题,涵盖各个方面的内容。 ## 业务场景分析 在一家电商平台上,我们需要定期进行网站的功能测试,确保新功能不会破坏已有流程。以往测试依赖于手动操作,不仅
针对于前端的技术,nodejs 出现后,更是一大批开源的好东西被我们使用,npm就是nodejs中蛮好用的包管理软件,我们可以用npm 命令复制其他人的一些好的项目,用起来很爽。但是,php中貌似还没有这样类似的包管理工具,我们发现别人的代码,还是停留在手工阶段,手工将其他人的代码copy到自己的项目中,有更新我们同样靠手工copy文件。于是composer应运而生了。 1、compos
转载 2024-09-30 17:45:44
29阅读
pytest测试用例的运行方式 主函数模式(1)运行所有:pytest.main() (2)指定模块:pytest.main(['-vs','test_demo.py']) (3)指定目录:pytest.main(['-vs','./test_case']) (4)通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组成。如:pytest.main(['-vs
转载 2024-06-08 17:03:43
35阅读
目录类容unittest单元测试,集成测试,功能测试 Unittest的重要组成部分 断言的使用 测试用例方法的命名规则 执行测试用例 原始的测试报告和第三方的html格式报告 读取xml文件数据进行单元测试 读取csv文件数据进行单元测试一、单元测试、集成测试、功能测试单元测试颗粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”;是指对软件中的最小可测试单元进行检查和验证集
  • 1
  • 2
  • 3
  • 4
  • 5