开放源码,自托管的解决方案,用于可视化测试和管理可视化测试的结果。

visual-regression-tracker的Python项目详细描述


Visual Regression Tracker的Python SDK

Codacy BadgeCodacy Badge

安装

pipinstallvisual-regression-tracker# or, with playwright integrationpipinstallvisual-regression-tracker[playwright]python-mplaywrightinstall

使用

导入

^{pr2}$

配置连接

作为python

config=Config(# apiUrl - URL where backend is running apiUrl='http://localhost:4200',# project - Project name or IDproject='Default project',# apiKey - User apiKeyapiKey='tXZVHX0EA4YQM1MGDD',# ciBuildId - Current git commit SHAciBuildId='commit_sha',# branch - Current git branch branchName='develop',# enableSoftAssert - Log errors instead of exceptionsenableSoftAssert=False,)vrt=VisualRegressionTracker(config)

或者,作为JSON配置文件vrt.json

{"apiUrl":"http://localhost:4200","project":"Default project","apiKey":"tXZVHX0EA4YQM1MGDD","ciBuildId":"commit_sha","branchName":"develop","enableSoftAssert":false}
vrt=VisualRegressionTracker()

或,作为环境变量

VRT_APIURL="http://localhost:4200"\VRT_PROJECT="Default project"\VRT_APIKEY="tXZVHX0EA4YQM1MGDD"\VRT_CIBUILDID="commit_sha"\VRT_BRANCHNAME="develop"\VRT_ENABLESOFTASSERT=true\
    python
vrt=VisualRegressionTracker()

设置/拆卸

作为上下文管理器:

withvrt:...# track test runs...

没有上下文管理器:

vrt.start()...# track test runs...vrt.stop()

断言

vrt.track(TestRun(# Name to be displayed# Requiredname='Image name',# Base64 encoded string# RequiredimageBase64=image,# Allowed mismatch tollerance in %# Optional# Default: 0%diffTollerancePercent=1,# Optionalos='Mac',# Optionalbrowser='Chrome',# Optionalviewport='800x600',# Optionaldevice='PC',# Array of areas to be ignoredignoreAreas=[IgnoreArea(# X-coordinate relative of left upper corner# Requiredx=10,# Y-coordinate relative of left upper corner# Requiredy=20,# Area width in px# Requiredwidth=300,# Height width in px# Requiredheight=400)],))

与Microsoft剧作家集成

进口
fromplaywrightimportsync_playwrightfromvisual_regression_trackerimportConfig,TestRunfromvisual_regression_tracker.pimportPlaywrightVisualRegressionTracker

启动剧作家并导航至页面

playwright=sync_playwright().start()browserType=playwright.chromiumbrowser=browserType.launch(headless=False)page=browser.newPage()page.goto('https://www.python.org/')

配置与VRT服务器的连接

vrt=PlaywrightVisualRegressionTracker(browserType,config)

设置/关闭

作为上下文管理器:

withvrt:...# track test runs...

没有上下文管理器:

vrt.start()...# track test runs...vrt.stop()

曲目页

vrt.trackPage(page,imageName[,options])
  • page: PagePlaywright page

  • imageName: str截图图像的名称

  • options: PageTrackOptions可选配置:

    • diffTollerancePercent: float指定与基线的可接受差异,在0-100之间。在

    • ignoreAreas: List[IgnoreArea]

      • x: int左上角X坐标相对
      • y: int左上角Y坐标相对
      • width: int像素中的区域宽度
      • height: intpx中的区域高度
    • 编剧的screenshotOptions: PageScreenshotOptions配置screenshot方法

      • fullPage: bool如果为true,则获取整个可滚动页面的屏幕快照,而不是当前可见的视口。默认为false。在

      • omitBackground: bool隐藏默认的白色背景并允许以透明方式捕获屏幕截图。默认为false。在

      • clip: FloatRect指定结果图像剪辑的对象。应包含以下字段:

        • x: float剪辑区左上角的x坐标
        • y: float剪辑区左上角的y坐标
        • width: float剪切区宽度
        • height: float剪裁区高度
      • timeout: float最长时间(毫秒),默认为30秒,传递0以禁用超时。在

    • agent: Agent用于标记具有不同代理的基线的其他信息:

      • os: str操作系统名称,如Windows、Mac等
      • device: str设备名称、PC标识符、移动标识符等
      • viewport: str视口大小。在

轨道元件手柄

vrt.trackElementHandle(elementHandle,imageName[,options])
  • elementHandle: ElementHandlePlaywright ElementHandle

  • imageName: str截图图像的名称

  • options: ElementHandleTrackOptions可选配置:

    • diffTollerancePercent: float指定与基线的可接受差异,在0-100之间。在

    • ignoreAreas: List[IgnoreArea]

      • x: int左上角X坐标相对
      • y: int左上角Y坐标相对
      • width: int像素中的区域宽度
      • height: intpx中的区域高度
    • 编剧的screenshotOptions: ElementHandleScreenshotOptions配置screenshot方法

      • omitBackground: bool隐藏默认的白色背景并允许以透明方式捕获屏幕截图。默认为false。在

      • timeout: float最长时间(毫秒),默认为30秒,传递0以禁用超时。在

    • agent: Agent用于标记具有不同代理的基线的其他信息:

      • os: str操作系统名称,如Windows、Mac等
      • device: str设备名称、PC标识符、移动标识符等
      • viewport: str视口大小。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何处理可以为null或整数的POJO类值   JavaFXSpring类NotFoundException:org。springframework。上下文注释。注释ConfigApplicationContext   java Jackson JSON不包装嵌套对象的属性   编写多个SQL查询的java最佳实践   安卓 java。lang.IllegalStateException:无法提取AndroidPlatform、sslSocketFactory上的信任管理器   MongoDB/Morphia将技术id保存为ObjectId,尽管它在Java中是一个字符串   JavaEclipse只加载log4。测试文件夹中的属性   java如何通过次对角线遍历2D数组?   java在geotools jmappane中制作shapefile编辑器   数组如何在java中获得表大小2^32   java API调试。如何查找函数体之前发生的错误?   java如何创建二维数组,其中#1位于随机位置,并执行特定次数   java文本文件比较   java SDK支持diff spring版本   javaspring引导集成测试javax。坚持不懈PersistenceException:org。冬眠PersistentObject异常