智能测试开发软件测试自动化测试

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

2019-10-12  本文已影响0人  泰斯特_

起源

这是一场意外

话说笔者某天闲着没事,也正巧刚啃完 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.title
        preporter.info('已进入百度首页并获取页面title,title值为: 「%s」' % title_text, screenshot=True)
        assert_true('百度一下' in title_text)

    # 关闭资源
    @AfterClass(timeout=10, description='关闭浏览器')
    def after(self):
        self.driver.quit()

代码讲解

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

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

运行效果

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

ptest3 -t uitest

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

image image

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

总结

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

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

最后给大家推荐一下我的公众号 「智能测试开发」,欢迎大家扫描下方海报二维码领取 进阶教程~

image image
上一篇 下一篇

猜你喜欢

热点阅读