无法在 Applitools C# 中截取整页屏幕截图
Can not take a full page screenshot in 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());
但仍然没有工作。
如果有人能帮助我那就太好了。
我在 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();
使用范围报告库,因为您可以拍摄屏幕截图以及关于通过和失败案例的交互式报告。
这是 link 它的工作原理:
http://www.softwaretestingmaterial.com/generate-extent-reports/
如果您想使用 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 );
(我来自 Applitools。)
当设置forcefullpagescreenshoot
为true时,applitools会尝试滚动页面中的HTML
元素,如果HTML
不是可滚动元素则需要设置它你自己:
eyes.Check(Target.Window().ScrollRootElement(selector))
在 Firefox 中,您可以在可滚动的元素附近看到一个滚动标签。
我正在尝试使用以下代码对我的页面进行全屏截图:
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());
但仍然没有工作。
如果有人能帮助我那就太好了。
我在 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();
使用范围报告库,因为您可以拍摄屏幕截图以及关于通过和失败案例的交互式报告。 这是 link 它的工作原理: http://www.softwaretestingmaterial.com/generate-extent-reports/
如果您想使用 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 );
(我来自 Applitools。)
当设置forcefullpagescreenshoot
为true时,applitools会尝试滚动页面中的HTML
元素,如果HTML
不是可滚动元素则需要设置它你自己:
eyes.Check(Target.Window().ScrollRootElement(selector))
在 Firefox 中,您可以在可滚动的元素附近看到一个滚动标签。