Не могу сделать полный скриншот страницы в applitools C#

Я пытаюсь сделать полноэкранный скриншот моей страницы с помощью этого кода:

public void OpenEyesForVisualTesting(string testName) {
 this.seleniumDriver.Driver = this.eyes.Open(this.seleniumDriver.Driver, "Zinc", testName);

}

public void CheckScreenForVisualTesting() {
 this.eyes.Check("Zinc", Applitools.Selenium.Target.Window().Fully());
}

public void CloseEyes() {
 this.eyes.close();
}

но вместо этого я просто получил половину страницы скриншота, я попытался связаться с Applitools, но они просто сказали мне заменить eyes.checkwindow () на eyes.Check("tag", Target.Window().Fully()); который все еще не работал.

Если кто-нибудь может мне помочь, это было бы здорово.

2 ответа

Решение

Я работаю на Applitools и прошу прощения за ваши проблемы. Может быть, вы не видели наши ответы, или они пошли в вашу папку со спамом. Вам нужно установить ForceFullPageScreenshot = true и StitchMode = StitchModes.CSS, чтобы сделать снимок экрана целиком.

Приведенный ниже пример кода - это все, что вам нужно сделать, чтобы получить полное изображение страницы. Также убедитесь, что ваша версия.Net Eyes.Sdk>= 2.6.0 и Eyes.Selenium >= 2.5.0.

Если у вас есть какие-либо дополнительные вопросы или все еще возникают проблемы, пожалуйста, напишите мне напрямую. Благодарю.

var eyes = new Eyes();
eyes.ApiKey = "your-api-key";
eyes.ForceFullPageScreenshot = true;
eyes.StitchMode = StitchModes.CSS;

eyes.Open(driver, "Zinc", testName, new Size(800, 600)); //last parameter is your viewport size IF testing on a browser. Do not set if testing on a mobile devices.
eyes.CheckWindow("Zinc");
//or new Fluet API method
eyes.Check("Zinc", Applitools.Selenium.Target.Window().Fully();
eyes.Close();

Используйте библиотеку отчетов по экстентам, в которой вы можете делать снимки экрана, а также интерактивный отчет о случаях неудач и неудач. вот ссылка, как это работает: http://www.softwaretestingmaterial.com/generate-extent-reports/

(Я из Applitools.)

При установке forcefullpagescreenshoot значение true, приложения будут пытаться прокрутить HTML элемент на странице, если HTML не является прокручиваемым элементом, вам нужно будет установить его самостоятельно:

eyes.Check(Target.Window().ScrollRootElement(selector))

В Firefox вы можете увидеть тег прокрутки рядом с прокручиваемыми элементами.

Если вы хотите сделать снимок экрана целиком / конкретный элемент страницы с помощью Applitools. Вы можете использовать строки кода:-

Полный снимок экрана

eyes.setHideScrollbars(false);
eyes.setStitchMode(StitchMode.CSS);
eyes.setForceFullPageScreenshot(true);
eyes.checkWindow();

Сделать снимок экрана для определенного элемента

WebElement Button = driver.findElement(By.xpath("//button[@id='login-btn']"));
eyes.setHideScrollbars(false);
eyes.setStitchMode(StitchMode.CSS);     
eyes.open(driver, projectName, testName);
eyes.setMatchLevel(MatchLevel.EXACT);       
eyes.checkElement(Button );
Другие вопросы по тегам