mvadzim / visualception
Codeception 的视觉回归测试
2.0.3
2019-12-27 07:34 UTC
Requires
- php: >=5.4.0
- ext-imagick: *
Requires (Dev)
- codeception/codeception: ^2.3|^3.0|^4.0
README
这是 分支,源自 Codeception 的视觉回归测试.
安装
composer require mvadzim/visualception:dev-master
示例配置
modules: enabled: - WebDriver: url: https://.com browser: firefox - VisualCeption: maximumDeviation: 5 # deviation in percent saveCurrentImageIfFailure: true # if true, VisualCeption saves the current fullScreenShot: resize # fullpage screenshot (resize/scroll/false) referenceImageDir: "/home/qa/img_storage/[browser]/" # "[browser]" replaced to "firefox" currentImageDir: "visualception/current/[browser]/" # tests/_output/visualception/current/firefox/ report: true # tests/_output/vcresult.html referenceImageDeleteLink: "http://mytestserver.example.com/delete_reference_image.php?file=[file]&browser=[browser]&environment=dev"
注意
此分支是为自身需求而创建的,因此对于基本使用来说,不需要期待其稳定性和可靠性。
变更
- 新的保存当前和基准截图的路径,"[browser]" 在路径中会自动替换为浏览器名称
- 新的方法 seeVisualChangesInCurrentPage 和 dontSeeVisualChangesInCurrentPage,无需传递标识符(当前打开的页面的 URL 即为标识符)
- fullScreenShot: 'resize' - 改变浏览器窗口大小为页面高度(需要在大高度虚拟屏幕上运行)
- 新的报告模板
- 可以删除页面上的元素(display:none)
- 报告不会覆盖之前运行的结果
- 添加了删除基准截图的链接
简单示例
class VisualCest { /** * @env firefox * @env chrome * * @example(url="https://time.is/ru/Kyiv", wantTo="Страница точного времени в Киеве, этот тест будет постоянно падать") * @example(url="https://github.com/pricing", wantTo="Страница с ценами на гитхаб, этот тест будет падать редко") * @example(url="https://time.is/uk/Kyiv", wantTo="Сторінка точного часу в Києві, цей тест буде постійно падати") */ public function visualTest(\AcceptanceTester $I, \Codeception\Example $example) { $I->wantTo('Визуальная проверка важных страниц'); $I->amOnUrl($example['url']); $I->dontSeeVisualChangesInCurrentPage(['div#twd'], ['iframe']); // div#twd set style "visibility: hidden;" iframe set "display: none;" } }