Commit 264f7a04 authored by Xianzhu Wang's avatar Xianzhu Wang Committed by Chromium LUCI CQ

Test devtools screenshot capture with different scales

Bug: 1164610
Change-Id: I354b0a20e47d6890af3239437ac2315c7488de0b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2640917Reviewed-by: default avatarDmitry Gozman <dgozman@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#845305}
parent 194b66dd
Tests that screenshot works with clip Tests that screenshot works with clip
{"x":0,"y":15018,"width":54,"height":54} {"format":"png","clip":{"x":0,"y":15018,"width":54,"height":54,"scale":1}}
{ {
id : <number> id : <number>
result : { result : {
...@@ -7,4 +7,20 @@ Tests that screenshot works with clip ...@@ -7,4 +7,20 @@ Tests that screenshot works with clip
} }
sessionId : <string> sessionId : <string>
} }
{"format":"png","clip":{"x":0,"y":15018,"width":54,"height":54,"scale":0.5}}
{
id : <number>
result : {
data : iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAYAAACN1PRVAAAAAXNSR0IArs4c6QAAADdJREFUSInt1sEJADAIwMBYOrib26cTKBSSBe6bgCqWugBkzEtZnHmlExMTExMTExMT+xaLzSN+jecGM57D8TYAAAAASUVORK5CYII=
}
sessionId : <string>
}
{"format":"png","clip":{"x":0,"y":15018,"width":54,"height":54,"scale":2}}
{
id : <number>
result : {
data : iVBORw0KGgoAAAANSUhEUgAAAGwAAABsCAYAAACPZlfNAAAAAXNSR0IArs4c6QAAASlJREFUeJzt1jEKAzEQBMGV8cPv53JsjOEuEg1VoaKBZkFrZu8h43V6AM8IFiNYzPvn5VoHZvDX9f3FcGExgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFiNYjGAxgsUIFrNm9j49gvtcWIxgMYLFfAD7MQbVV4On/QAAAABJRU5ErkJggg==
}
sessionId : <string>
}
...@@ -19,18 +19,24 @@ ...@@ -19,18 +19,24 @@
<div class="above"></div> <div class="above"></div>
<div class="to-screenshot"></div>`, 'Tests that screenshot works with clip'); <div class="to-screenshot"></div>`, 'Tests that screenshot works with clip');
const json = await session.evaluate(` const clip = await session.evaluate(`
(() => { (() => {
const div = document.querySelector('div.to-screenshot'); const div = document.querySelector('div.to-screenshot');
const box = div.getBoundingClientRect(); const box = div.getBoundingClientRect();
window.scrollTo(0, 15000); window.scrollTo(0, 15000);
return JSON.stringify({x: box.left, y: box.top, width: box.width, height: box.height}); return {x: box.left, y: box.top, width: box.width, height: box.height};
})() })()
`); `);
testRunner.log(json);
const clip = JSON.parse(json); async function test(scale) {
testRunner.log(await dp.Page.captureScreenshot({format: 'png', clip: {...clip, scale: 1}})); const params = {format: 'png', clip: {...clip, scale: scale}};
testRunner.log(JSON.stringify(params));
testRunner.log(await dp.Page.captureScreenshot(params));
}
await test(1);
await test(0.5);
await test(2);
testRunner.completeTest(); testRunner.completeTest();
}) })
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment