接口自动化测试框架【reudom】

reudom

Automated testing framework based on requests and unittest interface.

基于 Unittest 和 Requests 的 接口自动化测试框架

介绍

基于Unittest/Requests的接口自动化测试库

提供脚手架,快速生成接口自动化测试项目。

自动生成HTML测试报告。

支持用例参数化。

支持用例失败重跑

对原生Requests库API无损

目录架构

myreudom/

├── test_case/

│ ├── test_sample.py

├── reports/

└── run.py

test_dir/目录实现用例编写。

reports/ 目录存放生成的测试报告。

run.py 文件运行测试用例。

安装教程

> pip install reudom

If you want to keep up with the latest version, you can install with github repository url:

> pip install -U git+https://github.com/SeldomQA/reudom.git@master

创建项目

>reudom --project myreudom

运行项目:

> reudom -r run.py

Python 3.7.1

_

| |

_ __ ___ _ _ __| | ___ _ __ ___

| '__/ _ | | | |/ ` |/ _ \| ' ` _ \

| | | __| || | (| | (_) | | | | | |

|| \|\,|\__,|\/|| || ||


@itest.info

generated html file:/Users/work/reports/2019_12_22_14_51_57_result.html

.1

查看报告

你可以到 myreudom\reports\ 目录查看测试报告。

reports文件夹可以不用自己去创建,它会在你执行run.py时自动创建此文件夹

Simple demo

请查看 demo/test_sample.py 文件

复制代码
import reudom
 
 
class test(reudom.TestCase):
    def setUp(self):
        self.url = 'http://www.baidu.com'
 
    def test01(self):
        rep = reudom.request('get', url=self.url, headers=self.headers())
        result = rep.json()
        self.assertEqual(result['status'], '200')
 
 
if __name__ == '__main__':
    reudom.main("test_sample.py")

说明:

  • 创建测试类必须继承 reudom.TestCase。
  • 测试用例文件命名必须以 test 开头。
  • reudom引入了post、get、head、patch、put、delete、options等方法。
main() 方法
复制代码
import reudom
 
# ...
 
if __name__ == '__main__':
 
    seldom.main(
              path="./",
              title="接口自动化测试用例", 
              description="详细测试结果:", 
              debug=False,
              rerun=0,
              save_last_run=False,
    )

说明:

path : 指定测试目录或文件。

title : 指定测试报告标题。

description : 指定测试报告描述。

debug : debug模式,设置为True不生成测试HTML测试,默认为False。

rerun : 设置失败重新运行次数,默认为 0。

save_last_run : 设置只保存最后一次的结果,默认为False。

Run the test

import reudom

reudom.main(path="./") # 当前目录下的所有测试文件

reudom.main(path="./test_dir/") # 指定目录下的所有测试文件

reudom.main(path="./test_dir/test_sample.py") # 指定目录下的测试文件

reudom.main(path="test_sample.py") # 指定当前目录下的测试文件

说明:

如果指定的目录,测试文件必须以test 开头。

如果要运行子目录下的文件,必须在子目录下加 init.py 文件。

跳过用例

复制代码
import reudom
 
 
class YouTest(reudom.TestCase):
 
    @reudom.skip("跳过这条用例的执行")
    def test_case(self):
        """a simple test case """
        #...

在PyCharm里使用

当你使用PyCharm编译器或其他Python编译器时,您只需要使用pip install reudom安装后在你项目的文件夹内创建.py文件里import reudom就可以了

如果你需要正式的运行起来,只需在项目跟目录里创建run.py里使用上面的main方法取运行就可以啦;运行时会自动的在run.py的同级目录生成reports文件夹生成的 测试报告 就在里面!

AES加密

现在很多项目都使用 AES 对接口进行加密传输处理,所以我也对 reudom 库进行了支持

AES最常见的3种方案_AES-128、AES-192和AES-256,但目前仅对 AES-128 方案进行了分装,后面去会把剩下两种加进去

您只需在你的.py工程里引入import reudom,

然后使用:

reudom.aesCrypt(

key='16位',

model='加密模式',

iv='CBC模式需要它',

encode_='默认GBK')

.aesEncrypt('传入需要加密的明文')

key 传入长度必须是:16、24、32位

model 可选择:ECB、CBC、CFB、PGP、OFB、CTR、OPENPGP 这七种模式

iv 使用 CBC 时需要传入的与 key 同样的长度

encode_ 默认使用了 GBK 编码

text 传入需要加密的 明文

复制代码
import reudom
 
reudom.aesCrypt(key='1234567890123456', model='CBC', iv='1234567890123456', encode_='GBK').aesEncrypt(text='123')
 
 
控制台:
/usr/bin/python3 /Users/yuanbaolei/work/GitHub/reudom/CryptoAESAES/Cipher/aesEncrypt.py
15tT+y0b+lJq2HIKUjsvvg==
 
Process finished with exit code 0
总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

视频文档获取方式:

这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方进群即可自行领取。

相关推荐
艺杯羹20 小时前
当网页塞进桌面端:基于Playwright的客户端模式无头自动化回归与视觉断言
自动化测试·ui自动化·playwright·e2e测试·软件质量工程
蒸鱼Yuzheng1 天前
设备端性能工件可靠导出:断点续传、哈希、manifest 与失败恢复
android·自动化测试·python·adb·数据完整性
爱学习的执念8 天前
助力金九银十1000道软件测试面试题(功能、接口、自动化、WEB、APP.......)附答案
软件测试·面试
asdfg12589638 天前
一个例子理解因果图法
软件测试
cpolar技术支持10 天前
本地 Playwright 测试报告怎么远程复盘?Trace Viewer 跑起来后,用 cpolar 分享失败现场
前端·自动化测试·测试工具·cpolar·playwright
更深兼春远10 天前
Python到底怎么用于测试?
自动化测试·软件测试·python·接口测试
蒸鱼Yuzheng10 天前
Python 游戏测试开发怎么准备:日志解析、接口校验、并发与可维护性
自动化测试·python·测试开发·面试题·游戏测试
尚云第三方软件测试10 天前
数字化项目验收测试:性能、易用性、可靠性一体化框架
软件测试·软件测评·软件验收测试
K 旺仔小馒头11 天前
【项目】商城系统用户端测试报告
自动化测试·python·功能测试
sir.山11 天前
Fiddler抓包IOS流程
软件测试·fiddler·ios抓包·fiddler抓包工具