当前位置: 代码迷 >> 综合 >> 颜值爆表的 UI 测试报告 - ptest
  详细解决方案

颜值爆表的 UI 测试报告 - ptest

热度:52   发布时间:2024-02-20 13:25:40.0

颜值爆表的 UI 测试报告 - ptest

起源

这是一场意外

话说笔者某天闲着没事,也正巧刚啃完 Python & Selenium ,于是漫无目的地在网上搜索着技术相关文章。搜着搜着搜到了一个开源的报告生成库,这时,一幅精美的报告映入了我的眼帘...

初识 ptest

精美报告在此:

image

当我看到这个报告的一瞬间,心中小鹿乱撞,没想到从没经历过的一见钟情 ( 脸 ) 竟会发生在我身上。

image

零距离接触

于是乎内心火热的我找到了此项目的开源地址,进行了一次零距离的接触......

安装

依然是万年不变的 pip install 大法:

pip install ptest==1.9.5

最佳实践

这里我使用了自己开发的 violent-webdriver 库进行 selenium 二次封装,所以需要再来一次 pip install 大法:

pip install violent-webdriver==1.0.27

然后我们可以开始撸代码拉~

首先我们新建一个 Python 文件,名为 uitest.py,并写入下列 核心代码~

核心代码

from ptest.decorator import TestClass, Test, BeforeClass, AfterClass
from ptest.assertion import assert_true
from ptest.plogger import preporter
# from selenium.webdriver.chrome.options import Options
from violent_webdriver import Chrome# chrome驱动地址,请自行修改
CHROMEDRIVER_PATH = 'C://MyDownloads/Download/chrome-win32/chromedriver.exe'# 还是按照惯例拿百度开测
TEST_URL = 'https://www.baidu.com'@TestClass(run_mode="singleline")
class BaiduTest:# 初始化Chrome@BeforeClass(description='启动浏览器')def before(self):self.driver = Chrome.violent_chromedriver(CHROMEDRIVER_PATH)self.driver.set_window_size(1920, 1080)self.driver.implicitly_wait(10)# 测试执行@Test(tags=["regression", "smoke"], timeout=60, description="验证百度首页的title中是否包含「百度一下」字符串")def BaiduTest_001(self):self.driver.get(TEST_URL)title_text = self.driver.titlepreporter.info('已进入百度首页并获取页面title,title值为: 「%s」' % title_text, screenshot=True)assert_true('百度一下' in title_text)# 关闭资源@AfterClass(timeout=10, description='关闭浏览器')def after(self):self.driver.quit()

代码讲解

没错,我们还是拿百度做实验 :) , 代码执行过程非常简单:

  • 初始化浏览器
  • 登录百度首页
  • 获取百度首页标题
  • 校验百度首页标题是否为 百度一下
  • 关闭浏览器

再介绍一下 ptest 框架中独有的装饰器~

  • @TestClass 代表测试类
  • @BeforeClass 代表在执行测试类中用例的前置步骤 ( 如:初始化浏览器等...... )
  • @Test 代表一个测试用例的具体执行过程 ( 如:访问测试地址、获取页面标题、断言等......)
  • @AfterClass 则常用于测试类运行完毕后的清理工作 ( 如:关闭浏览器等...... )

运行效果

代码撸完后在当前目录下直接运行:

ptest3 -t uitest

代码运行完毕后将在当前目录下生成测试报告,打开后如下所示:

image

image

嗯,没错,是我喜欢的模样。

总结

一个好看的报告将会带来一天的好心情~

希望大家能从本篇文章有所收获~

如果大家对于学习Python有任何问题,学习方法,学习路线,如何学习有效率的问题,可以随时来咨询我,或者缺少系统学习资料的,我做这行年头比较久,自认为还是比较有经验的,可以帮助大家提出建设性建议,这是我的Python交流qun:785128166,有任何问题可以随时来咨询我。