基于unittest、pytest自动化测试框架之demo,赶紧用起来,一起学习吧!

demo分为两个框架:①pytest    ②unittest

demo 中 包含 web、api 自动化测试框架,任挑任选,喜欢哪个就用哪个!

直接上 demo 传送门:https://github.com/git-gsxl/Automated-testing-framework

简介:
1、unittest框架:unittest_demo

  1.api_packge:excel数据驱动设计模式
    --cases:用例excel编写、测试用例集合;
    --common:基类base request二次封装、excel读取封装、token获取封装、HTML报告模块、SQL操作封装;
    --report:run运行所以用例集合、邮箱发生错误用例时告知至个人邮箱
  使用注意:
    1.excel配置文件中设置host环境;
    2.token参数excel配置中设置;(access_token自行封装改进头部信息)
    3.tableName需与用例集合对应上;
    4.report邮箱需自行配置,sql配置;
    缺点挺多:很明显不灵活,还得不断改进(但好像又没必要);

  2.web_packge:PageObject设计模式
    --cases:测试用例集合;
    --common:基类base selenium二次封装、HTML报告模块、SQL操作封装、config封装;
    --pages: PageObject分模块封装页面元素;
    --report:run运行所以用例集合、邮箱发生错误用例时告知至个人邮箱;
  使用注意:
    1.comon config配置文件中设置host环境、driver选择;
    2.report邮箱需自行配置,sql配置;
    3.base元素定位方法二次封装,要看懂会使用;

2、pytest框架:pytest_demo:

  1.api_packge: 类似PageObject设计模式
    --api: api封装,类似PageObject设计模式
    --cases:pytest_conftest、测试用例集合;
    --common:基类base request二次封装、config配置url;
    --report: allure文件存储、渲染漂亮的报告;
  使用注意:
    1.pytest_conftest gettoken封装;
    2.access_token可加入直接传入,也可另封装;

  2.web_packge:PageObject设计模式
    --cases:测试用例集合;
    --common:基类base selenium二次封装、HTML报告模块、SQL操作封装、config封装;
    --pages: PageObject分模块封装页面元素;
    --report:allure文件存储、渲染漂亮的报告;
  使用注意:
    1.comon config配置文件中设置host环境、driver选择;
    2.base元素定位方法二次封装,要看懂会使用;

最后:
  这只是一个简单demo,实际工作中还得结合项目的情况来各种封装,让其达到更好的效果;
  怎么不用yaml写用例? 答:喜欢用什么就用什么,yaml有助于以后集成到平台开发;
  Appium怎么没有demo? 答:有的,没有开源但也是各种封装,appium也很好用,不妨试试aritest;

个人博客地址:https://www.cnblogs.com/gsxl/

个人github地址:https://github.com/git-gsxl

广深小龙-基于unittest、pytest自动化测试框架之demo来学习啦!!!的更多相关文章

  1. 基于Python接口自动化测试框架+数据与代码分离(进阶篇)附源码

    引言 在上一篇<基于Python接口自动化测试框架(初级篇)附源码>讲过了接口自动化测试框架的搭建,最核心的模块功能就是测试数据库初始化,再来看看之前的框架结构: 可以看出testcase ...

  2. 基于asp.net + easyui框架,一步步学习easyui-datagrid——实现分页和搜索(二)

    http://blog.csdn.net/jiuqiyuliang/article/details/19967031 目录: 基于asp.net + easyui框架,一步步学习easyui-data ...

  3. python+request+HTMLTestRunner+unittest接口自动化测试框架

    转自https://my.oschina.net/u/3041656/blog/820023 正在调研使用python进行自动化测试,在网上发现一篇比较好的博文,作者使用的是python3,但目前自己 ...

  4. 基于Python接口自动化测试框架(初级篇)附源码

    引言 很多人都知道,目前市场上很多自动化测试工具,比如:Jmeter,Postman,TestLink等,还有一些自动化测试平台,那为啥还要开发接口自动化测试框架呢?相同之处就不说了,先说一下工具的局 ...

  5. 基于python的自动化测试框架搭建

    滴~ 今日打卡!   好多天没来打卡了.博主最近一直在把碎片化知识转化为知识体系的过程中挣扎.Python语言.selenium.unittest框架.HTMLTestRunner框架都有所了解,也写 ...

  6. Selenium基于Python web自动化测试框架 -- PO

    关于selenium测试框架首先想到的就是PO模型,简单说下PO模型 PO模型的概念和理解: PO就是一个设计思想,将代码以页面为单位进行组织,针对这个页面上的所有信息.相关操作都放到一个类中,从而使 ...

  7. 简陋版:基于python的自动化测试框架开发

    项目背景: XXXX银行项目采用的是B/S架构,主要是为了解决银行业务中的柜员.凭证.现金.账务等来自存款.贷款.会计模块的管理. 手工弊端: 1.项目业务复杂度高,回归测试工作量大2.单个接口功能比 ...

  8. Python 自动化测试框架 unittest 和 pytest 对比

    一.用例编写规则 1.unittest提供了test cases.test suites.test fixtures.test runner相关的类,让测试更加明确.方便.可控.使用unittest编 ...

  9. pytest测试框架 -- 简介

    一.pytest测试框架简介: (1)pytest是python的第三方测试框架,是基于unittest的扩展框架,比unittest更简洁,更高效. (2)pytest框架可以兼容unittest用 ...

随机推荐

  1. 新建基于STM32F103ZET6的工程-寄存器版本

    1.新建空白工程 新建一个文件夹,用来存放新建的工程文件.在这个新建的文件夹下创建MDK-PRO和OUTPUT两个子文件夹.MDK-PRO文件夹用来存放工程文件:OUTPUT用来存放工程编译器后输出的 ...

  2. 1051 Pop Sequence (25分)

    Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, ..., N and p ...

  3. Redis 设计与实现笔记 - SDS

    Redis 中的字符串没有使用 C语言中的字符指针(char *),而是使用了自定义的结构 sds. 文件: sds.h sds.c 结构: struct sdshdr { int len; // 填 ...

  4. C++判断输入是否为double

    C++判断输入是否为double 之前写过了Python如何判断输入字符串是否为数字,但是Python是弱类型语言,相比之下C++这种强类型语言判定难度更大. Python判断输入字符串是否为数字的方 ...

  5. SQL Server 存储过程分页。

     create proc proc_Product@page int, -- 页数@row int --  一页有几行Asdeclare @newpage int  set @newpage = (@ ...

  6. Nordic nRF52820超低功耗蓝牙5.2 SoC芯片-低端无线连接方案首选

    nRF52820是功耗超低的低功耗蓝牙 (Bluetooth Low Energy /Bluetooth LE).蓝牙mesh.Thread.Zigbee和2.4 GHz专有低端无线连接解决方案.nR ...

  7. springboot-mybatis-oracle学习笔记

    前言 最近公司的项目是基于 oracle 数据库的,这里记录下 springboot+mybatis+oracle 的踩坑过程. 开发前准备 环境参数 开发工具:IDEA 基础工具:Maven+JDK ...

  8. js定义类的方法

    ECMAScript6已经支持了class,但之前版本都不支持类,但是可以通过一些方法来模拟类. js中的类,既是重点,也是难点,很多时候都感觉模棱两可. 首先强调一下js中很重要的3个知识点:thi ...

  9. Tcl编程第三天,数学运算

    1.tcl语言没有自己的数学计算,如果想要使用数学公式,必须得用C语言的库.使用方法如下. #!/usr/bin/tclsh set value [expr 8/5] puts $value set ...

  10. python 入门 之 Json 序列化

    开发网站,离不了Json 但是一般情况,不支持python的其它对象,怎么办? 有办法:Json 序列化!!! 总体来说,需要序列化的数据类型为 字典,类,嵌套类. 下面是我做的一个demo,都包含了 ...