编码 UI - 如何在鼠标单击事件后捕获图像
Coded UI - How to Capture Image After a Mouse Click Event
在录制的 Coded UI 会话中,每次单击鼠标后捕获图像的最佳选项是什么?
例如,在UIMap.Designer.Cs文件中我输入了图像捕获行:
Mouse.Click(uIOutagesandSafetyHyperlink, new Point(62, 2));
Image MSOPic1 = UITestControl.Desktop.CaptureImage();
MSOPic1.Save(@"C:\Automation\TestAutomation\web\Recordings\FullSite1\Screenshots\MSO\HomePage_" + DateTime.Now.ToString("ddMMyyyyHHmmss") + ".png");
上面的代码截取了屏幕截图,但没有截取当前浏览器的屏幕截图,只是截取了当前浏览器 window 不存在的另一个屏幕。如何捕获正在进行测试的活动浏览器的屏幕截图?
还有一个问题:Visual Studio是否提供了另一种在播放过程中捕获图像的方法?喜欢通过配置?
UITestControl
class 有一个 CaptureImage
方法。要获取当前浏览器的图像,请找到其 UITestControl
对象(可能派生自该对象)并调用其 CaptureImage
方法。
请不要编辑 uimap.designer.cs
文件,因为它是自动生成的文件,您的编辑可能会丢失。参见 this answer。
One more question: Does Visual Studio provide an alternative way to capture images during playback? Like through configuration?
默认情况下,编码 ui 测试应为其执行的每个操作截取屏幕截图。
您可以在测试的 html 输出中找到这些屏幕截图。
参见:https://msdn.microsoft.com/en-us/library/jj159363.aspx
如果在任何情况下它都没有为您的测试启用,您必须设置:
Playback.PlaybackSettings.LoggerOverrideState = HtmlLoggerState.AllActionSnapshot;
如果您想在所有测试和所有操作中使用此设置,请在您要应用它的每个测试的 [TestInitialize()] 方法中调用它。
像这样:
[TestInitialize()]
public void MyTestInitialize()
{
Playback.PlaybackSettings.LoggerOverrideState = HtmlLoggerState.AllActionSnapshot;
}
在录制的 Coded UI 会话中,每次单击鼠标后捕获图像的最佳选项是什么?
例如,在UIMap.Designer.Cs文件中我输入了图像捕获行:
Mouse.Click(uIOutagesandSafetyHyperlink, new Point(62, 2));
Image MSOPic1 = UITestControl.Desktop.CaptureImage();
MSOPic1.Save(@"C:\Automation\TestAutomation\web\Recordings\FullSite1\Screenshots\MSO\HomePage_" + DateTime.Now.ToString("ddMMyyyyHHmmss") + ".png");
上面的代码截取了屏幕截图,但没有截取当前浏览器的屏幕截图,只是截取了当前浏览器 window 不存在的另一个屏幕。如何捕获正在进行测试的活动浏览器的屏幕截图?
还有一个问题:Visual Studio是否提供了另一种在播放过程中捕获图像的方法?喜欢通过配置?
UITestControl
class 有一个 CaptureImage
方法。要获取当前浏览器的图像,请找到其 UITestControl
对象(可能派生自该对象)并调用其 CaptureImage
方法。
请不要编辑 uimap.designer.cs
文件,因为它是自动生成的文件,您的编辑可能会丢失。参见 this answer。
One more question: Does Visual Studio provide an alternative way to capture images during playback? Like through configuration?
默认情况下,编码 ui 测试应为其执行的每个操作截取屏幕截图。 您可以在测试的 html 输出中找到这些屏幕截图。
参见:https://msdn.microsoft.com/en-us/library/jj159363.aspx
如果在任何情况下它都没有为您的测试启用,您必须设置:
Playback.PlaybackSettings.LoggerOverrideState = HtmlLoggerState.AllActionSnapshot;
如果您想在所有测试和所有操作中使用此设置,请在您要应用它的每个测试的 [TestInitialize()] 方法中调用它。
像这样:
[TestInitialize()]
public void MyTestInitialize()
{
Playback.PlaybackSettings.LoggerOverrideState = HtmlLoggerState.AllActionSnapshot;
}