AI 测试之 Applitools 从入门到分手(2)

原创
2019/11/27 18:20
阅读数 70

本文为原创资源,欢迎转发朋友圈,点个在看。

前言

在上一篇 AI 测试之 Applitools 从入门到分手(1)中我们完成了一个简单的 Demo,今天泰斯特带领大家领略一下 applitools 中的图像识别技术。

正文

Baseline

在 applitools 中有个特殊的概念,叫做 Baseline。什么是 Baseline 呢?其实很简单,我们可以把他当作是一条 UI 测试流程的基准线。

打个比方,一段 UI 主流程的测试代码中对应了三个不同的页面:登录页面、登录失败页面,登录成功页面。

那么我们就可以把这个流程当作基准线,分别在三个不同的页面中添加 Checkpoint(验证点),当设定好 Baseline 后,下一次的测试执行将会对比当前测试流程与 Baseline 之间 Checkpoint 中图像的差异,并做出通过或者失败的断言。

最佳实践

我们按照惯例拿百度首页做试验:

from selenium import webdriver
from applitools.selenium import Eyes, Target


class HelloWorld:

    eyes = Eyes()

    # 这里填写你保存的秘钥
    eyes.api_key = 'XXX'

    try:

        # Open a Chrome browser.
        driver = webdriver.Chrome()

        # Start the test and set the browser's viewport size to 800x600.
        eyes.open(driver, "Test""Baidu", {'width'800'height'600})

        # 访问百度首页
        driver.get('https://www.baidu.com')

        # Visual checkpoint #1.
        eyes.check("Baidu Homepage Test", Target.window())

        # End the test.
        results = eyes.close(False)

        print(results)

    finally:

        # Close the browser.
        driver.quit()

        # If the test was aborted before eyes.close was called, ends the test as aborted.
        eyes.abort()

代码运行完毕后返回 applitools 的 Web 页面,可以看到已经新增了一条 Baseline:

这时候我们可以检验一下 Baseline 中的 Checkpoint 是否生效,再次运行相同代码后返回 Web 页面:


咦,这是怎么回事,怎么没有 PASS?于是我们点进去一看:


哈哈,原来这张 checkpoint 中识别出了百度搜索框中的光标,而 Baseline 中并没有这个光标……

那么这种问题要怎么解决呢?我们下回分解:)

本文为原创资源,欢迎转发朋友圈,点个在看。

点我留言催更

本文分享自微信公众号 - AI测试前线(TaisiteMagicWorld)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部