接口自动化测试框架(用例自动生成) 项目说明 本框架是一套基于pytest+requests+Python3.7+yaml+Allure+Jenkins+docker而设计的数据驱动接口自动化测试框架,pytest 作为执行器,本框架无需你使用代码编写用例,那你可能会担心万一有接口之间相互依赖,或者说需要登入的token等之类的接口,该如何编写用例呢,在这里告诉你们本框架已经完美解决此问题,所有的一切将在yaml中进行!!本框架实现了在yaml中进行接口用例编写,接口依赖关联,接口断言,自定义测…
按照pytest使用笔记(二)把pytest+allure配置好后,现在在jenkins配置好,先实现手动构建(立个小目标) 一,安装jenkins插件 首页->系统管理->插件管理,从“可选插件”中勾选“Allure Jenkins Plugin”,点击“直接安装”按钮,安装完成 二,Allure Commandline 配置 首页->系统管理->全局工具配置,点击“Allure Commandline安装”按钮 设置项展开界面设置内容,与下图保持一致即可,如下: 三,Job配置…
完成基于jenkins的持续集成部署后,任务构建执行完成,测试结果需要通知到相关人员.这篇博客,介绍如何在jenkins中配置邮件通知的方法... 一.安装邮件插件 由于Jenkins自带的邮件功能比较鸡肋,因此这里推荐安装专门的邮件插件,不过下面也会顺带介绍如何配置Jenkins自带的邮件功能作用. 可以通过系统管理→管理插件→可选插件,选择Email Extension Plugin插件进行安装: 由于我已经安装了该插件,因此这里显示在已安装目录下,还未安装的童鞋可以通过右上角的搜索框搜索改…
一.pytest框架中使用setup.teardown.更灵活按照用例级别可以分为以下几类: 1.模块级:(setup_module.teardown_module)在模块始末调用 2.函数级:(setup_function.teardown_function)在函数始末调用 在类外部 3.类级:(setup_class.teardown_class)在类始末调用 在类中 4.方法级:(setup_method.teardown_method)在方法始末调用 在类中 5.方法级:(setup.t…
这一章主要写一些StackExchange.Redis的配置及不太经常用到的函数 数据库连接 下面是我的连接字符串,里面指定了地址,密码,及默认的数据库 Redis启动后默认会分成0-15个数据库,不同的数据库之间键可以重复,StackExchange.Redis的GetDatabase函数提供一个db的可选参数 默认-1实际上是0,可以通过设置连接字符串里的defaultdatabase来指定连接哪个数据库. 指定数据库的操作比较适合来根据业务来划分 Execute 在StackExchang…
原来直接把数据库连接配置信息写在conf.xml配置中,如下 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration&…
一.环境版本信息: 操作系统:windows10 Django版本:2.0.5 Python版本:3.6.4 Mysql版本: 5.5.53   安装mysql 二.安装Mysqlclient: 1.为什么安装Mysqlclient: Mysqlclient是MySQLdb连接库的一个分支,它修复了一些在MySQLdb连接路中存在的bug,并添加了对Python3的支持.Mysqlclient的底层是由C编写实现的,相比于PyMySQL,运行速度快一些. 2.使用命令:pip install m…
本文目标 基于SpringBoot + Maven 分别使用自动配置与手动配置过滤器方式集成CAS客户端. 需要提前搭建 CAS 服务端,参考 https://www.cnblogs.com/hellxz/p/15740935.html 代码已上传本人 GitHub https://github.com/hellxz/cas-integration-demo 代码目录结构 代码实现 父工程 cas-integration-demo pom.xml <project xmlns="http:…
Jenkins初始化 step-1 访问Jenkins http://ip:80  step-2 查看密码.输入密码 # 方式一:通过查看容器日志 [root@localhost ~]# docker logs jenkins1 # 方式二:页面提示信息的路径查看,需要进入容器 root@7db4335f0dd4:/usr/local/src# cat /var/jenkins_home/secrets/initialAdminPassword e8957c2928b84874a8d33a2b8…
一.简介 pytest+allure+jenkins进行接口测试.生成测试报告.结合jenkins进行集成. pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高 allure-pytest是python的一个第三方库.用于连接pytest和allure,使它们可以配合在一起使用. allure-pytest基于pytest的原始执行结果生成适用于allure的json格式结果.该json格式结果可以用…
使用appium可以实现app自动化测试,我们之前是连接一台手机去运行,如何同时连接多台手机呢?很多人可能想到的是多线程(threading).今天分享一种比多线程更简单的方法,虽然不是多台手机同时运行,但可以连接多台手机依次运行,大致的运行方式是:001号测试用例:A手机,B手机...,002号测试用例:A手机,B手机... 环境准备 appium的安装:adt,nodejs,appium的python库,appium server pytest的安装:pytest allure的安装:all…
pytest我在上一篇文章初始pytest中已有介绍,是一个很理想的Python测试框架.Allure是一款非常轻量级并且非常灵活的开源测试报告生成框架. 它支持绝大多数测试框架, 例如TestNG.Pytest.JUint等.它简单易用,易于集成.Jenkins不必多说,说一个很强大的CI工具,那么pytest +allure + jenkins,何乐不为呢? 一.jenkins配置 1. 安装插件 HTML Publisher plugin Allure Jenkins Plugin 2.…
pytest是什么 pytest是python的一款测试框架,拥有unittest的功能并比它更丰富. allure是什么 有非常多的优秀的测试框架,但却是有非常少优秀的报告工具可以展示非常清楚的用例执行过程和结果. allure是一款开源的,专门用来展示测试结果的工具,目的是希望团队内部每一个人都可以看到非常清楚的测试结果. allure可以与非常多的著名测试框架做集成. 像java语言,可以与junit4,junit5,TestNG测试框架集成. python语言,可以与pytest,beh…
一.配置 allure 环境变量 1.下载 allure是一个命令行工具,可以去 github 下载最新版:https://github.com/allure-framework/allure2/releases 2.解压到本地 3.配置环境变量 复制路径如:F:\allure-2.13.7\bin 环境变量.Path.添加 F:\allure-2.13.7\bin.保存 cmd 中输入 where allure ,查看是否能找到 二.Jenkins配置Allure 1.安装allure插件 系…
前言: 虽然网上有很多邮件配置的文章,但还是想自己写一下配置的过程,因为在中间也碰到了不同坑.按照这个文档配置的话,99%都可以成功.   一.jenkins 配置邮箱 1.打开jenkins后进入点击Manage Jenkins-->configure system,找到Jenkins Location,系统管理员邮件地址要和下面的配置一致 2.下面以qq邮箱为例进行配置:点击高级之后,输入密码和邮箱的授权码   3.qq邮箱授权码的获取 然后点击账户-找到POP3/IMAP/SMTP/Exc…
前面介绍的是在cmd中执行pytest,平常我们一般都是通过编译器(如pycharm)来编写用例的,写完用例后,需要调试看看是否能运行,如果每次都切换到cmd中执行,太麻烦. 因此,这一节来说下怎么在代码中执行pytest. 需要先导入pytest,并通过pytest.main()来执行. import pytest class TestClass(object): def test_one(self): x = "this" assert 'h' in x def test_two(…
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 allure除了支持pytest自带的特性之外(fixture.parametrize.xfail.skip),自己本身也有强大的特性可以在pytest中使用 @allure.step allure报告最重要的一点是,它允许对每个测试用例进行非常详细的步骤说明 通过 @allure.step() 装饰器,可以让测试用例在all…
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 前面介绍了两种allure的特性 @allure.step() 装饰器:可以设置测试步骤,让测试用例的执行过程更加详细 allure.attach() 函数:可以设置需要显示在allure报告的附件,包含了多种类型,可以通过allure.attachment_type查看支持的类型 这一篇幅,我们主要来讲解另外两个特性,可以增…
pytest学习笔记(三)   接着上一篇的内容,这里主要讲下参数化,pytest很好的支持了测试函数中变量的参数化 一.pytest的参数化 1.通过命令行来实现参数化 文档中给了一个简单的例子, test_compute.py 的测试函数如下: # content of test_compute.py def test_compute(param1): assert param1 < 4 在conftest.py中添加两个函数,一个是添加参数,一个是根据参数生成测试 # content of…
前言 个人认为,fixture是pytest最精髓的地方,也是学习pytest必会的知识点. fixture用途 用于执行测试前后的初始化操作,比如打开浏览器.准备测试数据.清除之前的测试数据等等 用于测试用例的前置条件,比如UI自动化的登录操作,读取config参数等 用于测试用例之间的参数和数据传递 fixture优势 firture相对于unittest中的setup和teardown来说应该有以下几点优势 命名方式更加的灵活,不局限于setup和teardown conftest.py…
前言 在之前介绍fixture的文章中,我们使用到了conftest.py文件,那么conftest.py文件到底该如何使用呢,下面我们就来详细了解一下conftest.py文件的特点和使用方法吧 什么是conftest.py 我们之前了解了fixture,fixture可以直接定义在测试脚本中,但是有些时候,我们希望一个fixture可以被复用,这就需要对fixture进行集中管理,Pytest使用文件conftest.py集中管理固件.在复杂的项目中,可以在不同的目录层级定义conftest…
前言 pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行. 常用的配置项 marks 作用:测试用例中添加了自定义标记( @pytest.mark.xxx 装饰器),如果不添加marks选项的话,就会报warnings 格式:list列表类型 写法: [pytest] # 自定义标记说明 markers = tencent: tencent toutiao: toutiao alibaba: alibaba xfail…
之前我们使用的测试报告插件是pytest-html 这次使用的插件是allure-pytest,更加美观强大 安装插件 pip3 install allure-pytest 安装allure(Mac) #Mac可以直接使brew安装,会自动配置环境变量 #如果是Windows,去下载压缩包,解压然后配置环境变量即可 brew install allure 生成json格式的临时报告 运行参数 :--alluredir 临时报告目录 pytest.main(['--alluredir=./temp…
From: https://blog.csdn.net/gaowg11/article/details/54910974 由于对测试框架了解比较少,所以最近看了下pytest测试框架,对学习心得做个记录. 学习的教程是刘春明老师的文章 http://blog.csdn.net/liuchunming033/article/details/46501653 1.pytest简介 pytest是Python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框…
一.前言 从文章标题可以看出,就是初始化和释放的操作,根据我的java习惯来学习pytest,个人感觉没差太多,理解上也不是很难. 哦,对了,差点跑题了,这个框架是基于Python语言的,在学习的时候难免总会用java的类比思想来学习,下面言归正传哈. 我们还从 unittest与pytest来对比学习吧 二.unittest用法 unittest有两个前置方法,两个后置方法,分别是: setup() setupClass() teardown() teardownClass() 个人始终觉得u…
作者:Grey 原文地址:ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 很多程序往往是通过心跳检测来判断配置的变更,通过zk的回调机制,我们可以实现比心跳更为快速的配置检测机制,包括配置的新增,修改和删除 流程也比较简单: 环境准备 一个zk集权,ip和端口分别为: 192.168.205.145:2181 192.168.205.146:2181 192.168.205.147…
前言 在pytest中,我们可以使用mark进行用例的自定义标记,通过不同的标记实现不同的运行策略 比如我们可以标记哪些用例是生产环境执行的,哪些用例是测试环境执行的,在运行代码的时候指定对应的mark即可 实例说明 举个 # test_demo.py import pytest @pytest.mark.production def test_production(): print("生产环境测试用例") @pytest.mark.dev def test_dev1(): print…
前言 在实际的测试中,我们经常会遇到需要跳过某些测试用例的情况,pytest提供了skip和ifskip来跳过测试 下面我们就来通过一些例子看看skip和ifskip具体如何使用吧 skip的用法 使用示例:@pytest.mark.skip(reason="跳过的原因,会在执行结果中打印") 标记在测试函数中 举个 import pytest def test_1(): print("测试用例1") @pytest.mark.skip(reason="没…
前言 在pytest中,如何生成html测试报告呢,pytest提供了pytest-html插件,可以帮助我们生成测试报告,当然,如果希望生成更加精美的测试报告,我们还可以使用allure生成报告,下面我们就来详细看看如何实现吧 pytest-html插件 插件安装 pip命令安装 pip install pytest-html 使用实例 使用方法很简单,在测试用例的目录下执行命令 pytest --html=reportname.html 即可 生成的报告效果如下: 合并css 使用上面的命令…
目录 9.ids参数说明 10.name参数说明 11.scope参数说明 (1)scope="function" (2)scope="class" (3)scope="module" (4)scope="session" 12.autouse参数说明 9.ids参数说明 ids参数就是给每一个变量起一个别名. 示例: import pytest data = [("孙悟空", 666), ("猪…