基于 unittest 的 Web UI / HTTP 自动化测试框架

发布时间:2024年01月03日

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

查看报告:

图片

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

?

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取?

?

文章来源:https://blog.csdn.net/hlsxjh/article/details/135371749
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。