Sohel
Sohel

Reputation: 676

Coded UI - How to Capture Image After a Mouse Click Event

What is the best option of capturing image after each mouse click in recorded session of Coded UI?

For example, in UIMap.Designer.Cs file I have entered image capturing lines:

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");

The above code takes a screenshot but it does not take the current browser's screenshot, just captures another screen where the current browser window does not exist. How can I capture screenshot of the active browser where the test is taking place?

One more question: Does Visual Studio provide an alternative way to capture images during playback? Like through configuration?

Upvotes: 0

Views: 703

Answers (2)

hyperionb
hyperionb

Reputation: 76

One more question: Does Visual Studio provide an alternative way to capture images during playback? Like through configuration?

By default coded ui test should take a screenshot with each action it does. You can find these screenshots in the html outputs for your tests.

See: https://msdn.microsoft.com/en-us/library/jj159363.aspx

If in any case it is not enabled for your tests you have to set: Playback.PlaybackSettings.LoggerOverrideState = HtmlLoggerState.AllActionSnapshot;

If you want to have this setting in all tests and for all actions call it in the [TestInitialize()] method of each test you want to apply it to.

Like so:

    [TestInitialize()]
    public void MyTestInitialize()
    {
        Playback.PlaybackSettings.LoggerOverrideState = HtmlLoggerState.AllActionSnapshot;
    }

Upvotes: 1

AdrianHHH
AdrianHHH

Reputation: 14046

The UITestControl class has a CaptureImage method. To get an image of the current browser, find its UITestControl object (which may be derived from that) and call its CaptureImage method.

Please do not edit the uimap.designer.cs file as it is an auto-generated file and your edits may be lost. See this answer.

Upvotes: 1

Related Questions