基于 unittest 的 Web UI / HTTP 自动化测试框架
Posted 软件测试自动化测试
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于 unittest 的 Web UI / HTTP 自动化测试框架相关的知识,希望对你有一定的参考价值。
GitHub 上发现的一个自动化测试框架,封装的很厉害,对小白很友好,体验了下 demo 很不错,先看看下面封装好的 po 模式,很简洁。
"""import seldom
from seldom import Seldom
from poium import Page, Element
class BaiduPage(Page):
"""baidu page"""
search_input = Element(id_="kw")
search_button = Element(id_="su")
class BaiduTest(seldom.TestCase):
"""Baidu search test case"""
def test_case(self):
"""
A simple test
"""
page = BaiduPage(Seldom.driver)
# page = BaiduPage(self.driver)
page.get("https://www.baidu.com")
page.search_input = "seldom"
page.search_button.click()
self.assertTitle("seldom_百度搜索")
if __name__ == '__main__':
seldom.main(browser='chrome', debug=True)
上面可以看出来,简洁的不能再简洁。
特点:
-
提供更加简单API编写自动化测试
-
提供脚手架,快速生成自动化测试项目
-
全局启动和关闭浏览器,减少浏览器的启动次数
-
提供支持多种数据文件参数化
-
支持用例失败/错误重跑
-
支持生成html/XML测试报告
-
支持HTTP接口测试 (v 2.0)
安装:
pip install seldom
创建项目:
seldom -project mypro
目录结构如下:
mypro/├── test_dir/
│ ├── test_sample.py
├── test_data/
│ ├── data.json
├── reports/
└── run.py
-
test_dir/ 测试用例目录。
-
test_data/ 测试数据文件目录。
-
reports/ 测试报告目录。
-
run.py 运行测试用例主文件。
运行项目效果:
python3 run.py
__ __
________ / /___/ /___ ____ ____
/ ___/ _ \\/ / __ / __ \\/ __ ` ___/
(__ ) __/ / /_/ / /_/ / / / / / /
/____/\\___/_/\\__,_/\\____/_/ /_/ /_/ v2.3.0
-----------------------------------------
2021-10-12 00:47:33 [INFO] 📖 https://www.baidu.com
2021-10-12 00:47:37 [INFO] ✅ Find 1 element: id=kw , input 'seldom'.
2021-10-12 00:47:38 [INFO] ✅ Find 1 element: css selector=#su , click.
2021-10-12 00:47:40 [INFO] 👀 assertIn title: seldom_百度搜索.
2021-10-12 00:47:40 [INFO] 📖 https://www.baidu.com
2021-10-12 00:47:41 [INFO] ✅ Find 1 element: id=kw , input 'poium'.
2021-10-12 00:47:42 [INFO] ✅ Find 1 element: css selector=#su , click.
2021-10-12 00:47:43 [INFO] 👀 assertIn title: poium_百度搜索.
2021-10-12 00:47:43 [INFO] 📖 https://www.baidu.com
2021-10-12 00:47:44 [INFO] ✅ Find 1 element: id=kw , input 'HTMLTestRunner'.
2021-10-12 00:47:45 [INFO] ✅ Find 1 element: css selector=#su , click.
2021-10-12 00:47:46 [INFO] 👀 assertIn title: HTMLTestRunner_百度搜索.
2021-10-12 00:47:46 [INFO] 📖 http://www.itest.info
2021-10-12 00:47:53 [INFO] 👀 assertIn url: http://www.itest.info/.
2021-10-12 00:47:53 [PRINT] generated html file: file:///D:\\mypro\\reports\\2021_10_12_00_47_32_result.html
2021-10-12 00:47:53 [PRINT] generated log file: file:///D:\\mypro\\reports\\2021_10_12_00_47_32_log.log
.1.2.3.4
查看报告:
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接免费拿走:
① 2000多本软件测试电子书(主流和经典的书籍应该都有了)
② 软件测试/自动化测试标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python编程语言、API接口自动化测试、web自动化测试、App自动化测试(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
上图的资料 在我的QQ技术交流群里(技术交流和资源共享,广告进来腿给你打断)
可以自助拿走,群号953306497(备注“csdn111”)群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。
一定一定一定要备注暗号:CSDN11
以上是关于基于 unittest 的 Web UI / HTTP 自动化测试框架的主要内容,如果未能解决你的问题,请参考以下文章
Python3+Selenium Web自动化测试案例分享⑹——unittest组织测试用例