lounger框架第一个版本发布

962 篇文章 0 订阅
150 篇文章 0 订阅

相关:lounger自动化测试框架

首先,我的 pypi(Python Package Index) 账号找回来了,github的 issues 和 邮件沟通花了两周多的时间。

其次,lounger 肯定不是太监项目,一开源,骗几个不要钱的 star 就不管的那种。于是,我来带来的第一个版本。

lounger的定位

这里有必要说明一下 lounger 的定位:

以电脑为例,芯片是 intel/AMD 生产的,内存是三星/金士顿等生产的,我干嘛不买回来零件自己DIY?为啥要买品牌电脑厂商的电脑?

电脑厂商,如华为/某想,他们主要技术体现在 设计与集成,散热和能效,外观设计和制造工艺,软件与生态系统,售后服务与支持 等。

lounger的定位参考电脑厂商的定位,虽然 pytest 是现成的框架,playwright也是现成的测试工具。整合到一起总有些工作要做。例如:playwright 运行用例失败需要截图在 pytest-html 生成的HTML报告中显示失败位置的截图,我们需要手动在 conftest.py进行 pytest_runtest_makereport()钩子函数的配置,新手也不定了解这其中的细节,既然这是最常见的需求,lounger就默认帮你做了。

此外,还有 数据库操作数据驱动支持数据文件生成随机测试数据等也是最常用的一些功能,lounger也会直接提供相关的API,减少重复的工作来做这些事情,专注于用例本身的编写。

Web UI 测试,直接使用 pytest-playwright 的 API 即可,他已经足够好用,而且还提供了丰富的断言。

HTTP接口测试,直接使用 pytest-req 的 API 即可,也提供了相关的断言方法。

我之所以单独开发 pytest-req 库,是希望他和 pytest-playwright 一样,作为一个独立的项目存在,是为了与 lounger保持解耦,使lounger的定位更清晰。

下面是 0.1.0 版本的架构:

安装

  • 已支持pip安装。

> pip install lounger

此外,如果做Web自动化测试,请单独安装测试浏览器。

playwright install chromium[可选]
playwright install firefox[可选]
playwright install webkit[可选]
...

lounger 0.1.0 版本功能

lounger 到底支持了哪些功能?我还真不知道如何罗列他的功能点。于是,我拿他和 seldom 做个功能对比。相信通过对比,你就知道lounger有哪些亮点和功能了。

  • seldom

seldom 是建立在 unittest单元测试框架的基础上的自动化测试框架,内置了非常多的功能达到开箱即用,并且支持 seldom-platform平台化。

seldom有一些先天的不足,例如在 并发执行方面,内置selenium的运行较慢等。

  • lounger

lounger 是建立在 pytest 单元测试框架的基础上的自动化测试框架,移植了seldom的部分功能,结合pytest的功能和生态优势开发,同样达到开箱即用。

lounger也并非完美无缺,内置的 pytest-html样式和功能还有改进空间,不支持平台化。

注:allure 显然是更好用的,但是,需要单独安装 allure 命令去启动一个Web服务才能查看报告,这本身就不符合 lounger的定位,对吧!当然,你完全可以自行选择使用allure。

这里仅罗列功能对比,至于选哪个,请自行结合业务和需求。

功能seldom说明(3.9.0版本)lounger说明(0.1.0版本)
基于单元框架🪨unittest🪨pytest
web UI测试集成selenium,并二次开发 I️集成 pytest-playwright
web UI断言内置(assertText、assertTitle、assertElement)等playwright提供丰富断言
Page Object模式未内置,推荐 poium未内置,推荐 poium
API 测试集成Requests,并二次开发集成 pytest-req
API 断言内置(assertJSON、assertPath、assertSchema)等pytest-req提供断言
App UI测试集成Appium,并二次开发 I️未集成App测试库
脚手架支持快速创建Web/App/API项目支持快速创建Web/API项目
HTML测试报告集成XTestRunner支持集成 pytest-html支持
HTML显示失败截图用例 失败错误自动截图lounger已对 pytest-html进行了默认配置
HTML显示日志Seldom默认支持lounger已对 pytest-html进行了默认配置
XML测试报告集成XTestRunner支持自带 --junit-xml参数支持
log日志集成 luguru集成 luguru
发送测试结果/消息支持(email、钉钉、飞书、微信)等不支持
失败重跑使用 rerun参数配置集成 pytest-rerunfailures
随机测试数据支持 testdata支持 testdata
数据库操作支持(sqlite3、MySQL、SQL Server)等支持(sqlite3、MySQL、SQL Server)等
cache缓存内置(cache、memorycache、discache)等内置(cache、memorycache、discache)等
用例依赖内置 @depend()内置 @pytest.mark.dependency()
用例分类标签内置 @label()支持 @pytest.mark.xxx标签
数据驱动方法内置 @data()内置 @data()
数据驱动文件内置 @file_data()支持(JSON\YAML\CSV\Excel)等内置 @file_data()支持(JSON\YAML\CSV\Excel)等
钩子函数confrun.py用例运行钩子conftest.py、 pytest.ini等功能更强大
命令行工具CLIseldom命令lounger 命令
并发执行⚠️内置 @threads手动分配线程集成 pytest-xdist,自动分配,更强大
平台化支持(seldom-platform)平台不支持
第三方插件⚠️插件很少,扩展能力差。有上千个插件,扩展能力强

说明

  • ✅ : 表示支持。

  • ❌ : 表示不支持。

  • ⚠️ : 表示支持的不好(或没有对方好)。

lounger 提供的大部分能力都是 pytestplaywrightrequests等框架或库本身的功能。所以,熟悉这些技术的话,lounger对于你几乎是零成本的。

你可以在项目的 tests目录下看到各种使用测试示例。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值