| Index: test/wrappers/pages.js |
| =================================================================== |
| --- a/test/wrappers/pages.js |
| +++ b/test/wrappers/pages.js |
| @@ -58,31 +58,27 @@ |
| return element.takeScreenshot().then( |
| imageFromBase64, |
| // Chrome doesn't support taking screenshots of individual elements. So as |
| // a workaround, we scroll to the position of the element, take a screenshot |
| // of the viewport and crop it to the size and position of our element. |
| // This is not guaranteed to work on other browsers (mostly because |
| // the behavior of Driver.takeScreenshot() may vary across browsers). |
| - () => element.getLocation().then(loc => |
| + () => element.getRect().then(loc => |
|
Sebastian Noack
2018/11/07 18:35:49
Nit: Perhaps rename loc to rect?
hub
2018/11/08 19:02:22
Done.
|
| element.getDriver().executeScript(` |
| window.scrollTo(${loc.x}, ${loc.y}); |
| return [window.scrollX, window.scrollY]; |
| `).then(result => |
| { |
| let x = loc.x - result[0]; |
| let y = loc.y - result[1]; |
| - return Promise.all([ |
| - element.getDriver().takeScreenshot().then(imageFromBase64), |
| - element.getSize() |
| - ]).then(([img, size]) => |
| - img.crop(x, y, size.width, size.height) |
| - ); |
| + return element.getDriver().takeScreenshot().then( |
| + imageFromBase64).then(img => img.crop(x, y, loc.width, loc.height)); |
| }) |
| ) |
| ).then(img => img.bitmap); |
| } |
| function getSections(driver) |
| { |
| return driver.findElements(By.css("section")).then(elements => |