开放源码,自托管的解决方案,用于可视化测试和管理可视化测试的结果。
visual-regression-tracker的Python项目详细描述
Visual Regression Tracker的Python SDK
安装
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: Page
Playwright page - 在
在imageName: str
截图图像的名称 - 在
options: PageTrackOptions
可选配置:- 在
在diffTollerancePercent: float
指定与基线的可接受差异,在0-100
之间。在 - 在
ignoreAreas: List[IgnoreArea]
x: int
左上角X坐标相对y: int
左上角Y坐标相对width: int
像素中的区域宽度height: int
px中的区域高度
- 在
编剧的
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: ElementHandle
Playwright ElementHandle - 在
在imageName: str
截图图像的名称 - 在
options: ElementHandleTrackOptions
可选配置:- 在
在diffTollerancePercent: float
指定与基线的可接受差异,在0-100
之间。在 - 在
ignoreAreas: List[IgnoreArea]
x: int
左上角X坐标相对y: int
左上角Y坐标相对width: int
像素中的区域宽度height: int
px中的区域高度
- 在
编剧的
screenshotOptions: ElementHandleScreenshotOptions
配置screenshot
方法- 在
在omitBackground: bool
隐藏默认的白色背景并允许以透明方式捕获屏幕截图。默认为false
。在 - 在
在timeout: float
最长时间(毫秒),默认为30秒,传递0以禁用超时。在
- 在
- 在
agent: Agent
用于标记具有不同代理的基线的其他信息:os: str
操作系统名称,如Windows、Mac等device: str
设备名称、PC标识符、移动标识符等viewport: str
视口大小。在
- 在
- 项目
标签: