专栏文章 AI 测试之 Applitools 从入门到分手 (1)

泰斯特 · 2019年12月01日 · 最后由 tester1.0 回复于 2022年10月22日 · 4223 次阅读

​前言

激动人心的 AI 测试系列终于来了,听过那么多国外有名的 AI 测试工具,那么你有没有真的去实践学习一下呢?
此专栏的初衷就是为了探索 AI 赋能测试,这也同样是让我继续做测试相关工作的理由。不过为了避免走弯路浪费时间,同时也是抱着学习的目的,接下来我会带领大家一起体验所有已经比较著名的、现成的 AI 测试工具,做出总结,最后打造出属于我们的 AI 测试。

(相信最后所有机械的测试任务都能够被 AI 所完全取代,这也正是 AI 的魅力所在。)

正文

什么是 Applitools

简单来说,Applitools 是一个 AI 赋能的测试工具,通过视觉 AI 进行智能功能和视觉测试,帮助企业以更低的成本更快地发布项目。
闲话不多说,我们进入实践环节。

最佳实践

进入官网(applitools.com)然后使用 GITHUB 账号授权后来到了这个页面。

这个时候我们需要点击右上角头像中的 My API key 获取 Api 秘钥。

保存好秘钥后新建个项目,安装依赖包:

pip install selenium
pip install eyes-selenium

然后我们需要新建一个 python 文件并写入以下代码:

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


class HelloWorld:

    eyes = Eyes()

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

    try:

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

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

        # Navigate the browser to the "hello world!" web-site.
        driver.get('https://demo.applitools.com')

        # Visual checkpoint #1.
        eyes.check("Login Window 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()

Eyes 在整个代码块中的作用也较为清晰:

  • 首先我们将 driver 作为参数传递给了 eyes.open() 函数;
  • 然后调用了 eyes.check() 方法进行了检查点的设置;
  • 接着调用 eyes.close() 进行的结果的返回;
  • 最后在 finally 中调用 eyes.abort() 保证 eyes 的资源释放。

运行代码成功后可以看到如下输出:

New test [TestResults(steps=1, matches=0, mismatches=0, missing=0, url='https://eyes.applitools.com/app/batches/xxxxxxxxxxxxxx/xxxxxxxxxxxxxxx?accountId=xxxxxxxxxxxxxxxxx~~')]

Process finished with exit code 0

这时候回到之前的 Web 页面即可看到之前代码运行的结果。

嗯,很神奇(才没有),至此我们完成了一个小的 Demo ,下一篇文章将揭露 Applitools 智能在何处。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 1 条回复 时间 点赞
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册