visual-plugin icon indicating copy to clipboard operation
visual-plugin copied to clipboard

Need scrolling API for visualTest

Open vrozaev opened this issue 8 years ago • 2 comments

Problem: Right now visualTest didn't provide any API for page scroll. The only thing which you can do is open the page and take screenshot right after that.

visualTest({
    url: basicPageUrl,
    width: 640,
    height: 480,
    missingBaseline: 'snapshot'
}),

In other tests I can write this:

registerSuite({
	name: 'longPage',

	'footer': function () {
		return this.remote
			.get(longPageUrl)
			.setWindowSize(height, width)

			.touchScroll(null, null, offset)
			.takeScreenshot()
			.then(assertVisuals(this, {
				missingBaseline: 'snapshot'
			}));
         }
});

But the "touchScroll" didn't guarantee you that you scroll to the right position. And seems that it's didn't wait for scroll complete.

Questions:

  1. How I should scroll page when I write test manually, without "visualTest"?
  2. Is it possible to provide API for making screenshot of specified part of the page?

vrozaev avatar Feb 18 '17 11:02 vrozaev

How I should scroll page when I write test manually, without "visualTest"?

Scrolling doesn't have a consistent implementation across browsers. Even within Chrome, they have changed how the scroll coordinates are calculated (especially on mobile). I would use something like moveMouseTo if possible.

Is it possible to provide API for making screenshot of specified part of the page?

I'd like to see an API for making a screenshot of a specified part of the page. When we initially released this feature we wanted to keep it simple, but we had talked about the ability to screenshot a component by querySelector in the configuration-based visual test. What were you thinking regarding feature-set and what would the configuration look like?

devpaul avatar Apr 04 '17 06:04 devpaul

@devpaul being able to screenshot by selector seems like a great idea and a good way to isolate specific components on a page without having to make a ton of unique test pages in order to isolate testing for one specific component

wuservices avatar Apr 08 '18 17:04 wuservices