Не могу сделать полный скриншот страницы в 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 );