Transcript
Page 1: Getting Started With Coded UI testing: Building Your First Automated Test

Getting Started with Coded UI Testing:

Building Your First Automated Test

Imaginet Resources Corp.

http://www.imaginet.com

Page 2: Getting Started With Coded UI testing: Building Your First Automated Test

Speaker Bio

Anna Russo

Sr. ALM Consultant

• TFS/ALM is what I do!

• Work for Imaginet since 2008

• ALM MVP

• Testing Background

• In my free time:

– Cycling in Southern California

– Blogging

– Volunteer Testing Tools on Visual Studio Gallery

Page 3: Getting Started With Coded UI testing: Building Your First Automated Test

Email us at:[email protected]

ALM Planning & Implementation ServicesALM Planning

• ALM Assessment & Envisioning Workshops (3 or 5 days)

• VS & TFS Migration Planning Workshop (5 days)

• TFS Deployment Planning* (5 days)

• Visual SourceSafe to TFS Migration Planning* (3 Days)

• Visual Studio Quality Tools Deployment Planning* (5 days)

Upgrade

• TFS 2010 Adoption Quick Start (5 or 10 days)

• TFS 2012 Adoption Quick Start (5 or 10 days)

• TFS 2010 Upgrade Quick Start (10 days)

• TFS 2012 Upgrade Quick Start (10 days)

Remote Support

• Remote Support for TFS & Visual Studio

Lab

• Visual Studio Lab Management Quick Start (10 days)

Testing

• Manual Testing with Test Manager Quick Start (5 days)

• Visual Studio Testing Tools Quick Start (10 days)

• Visual Studio Automated Testing Quick Start (5 days)

• Visual Studio Load Testing Quick Start (5 or 10 Days)

Builds

• Automated Build & Release Management Quick Start (5 days)

• Automated Build Center of Excellence (CoE)

Database

• Visual Studio Database Tools Quick Start (10 days)

Integrations

• Team Foundation Server (TFS) & Project Server Integration Quick Start (10 days)

• TFS & Quality Center Integration/Migration Quick Start (10 days)

Page 4: Getting Started With Coded UI testing: Building Your First Automated Test

Agenda

• Coded UI Test Overview

• Recording Coded UI Tests

• Adding Test Validation

• Writing your own code

• Best Practices

Page 5: Getting Started With Coded UI testing: Building Your First Automated Test

Coded UI Test Tools

• Used to automate testing from the user interface

• Test development/maintenance in Visual Studio

• Tools provided to improve creation and maintenance of Coded UI tests

• Can author and maintain tests without writing code or can extend tests using .NET

• Can run within Visual Studio or through automation (e.g., a build)

Test development and maintenance from within Visual Studio

Page 6: Getting Started With Coded UI testing: Building Your First Automated Test

Supported Platforms

• Supported (2012 RTM)– Windows Forms 2.0+

– WPF 3.5+

– SharePoint

– Internet Explorer 8.0, 9.0

– Internet Explorer 10.0 (Desktop)

– Dynamix CRM web client

• Supported (2012 Update 1)– Google Chrome 21+

– Firefox 15+

• Unsupported but may work– Windows Win32

• Partially Supported– MFC

– Dynamix (Ax) 2012 Client

– Citrix / Terminal Services

– PowerBuilder

• Unsupported– Internet Explorer < 8.0

– Silverlight

– Flash/Java

– SAP

– Microsoft Office

– Apple Safari

– Opera

Page 7: Getting Started With Coded UI testing: Building Your First Automated Test

Third-Party Support

Page 8: Getting Started With Coded UI testing: Building Your First Automated Test

Agenda

• Coded UI Test Overview

• Recording Coded UI Tests

• Adding Test Validation

• Writing your own code

• Best Practices

Page 9: Getting Started With Coded UI testing: Building Your First Automated Test

Creating Coded UI Tests

Action Recording

from Manual Tests

Visual Studio Test Builder

Visual Studio (Hand Coded)

Coded UI Test

Page 10: Getting Started With Coded UI testing: Building Your First Automated Test

Option 1: Based on Existing Tests

• Using Microsoft Test Manager (MTM)…

– Analyst defines requirements

– Tester defines manual test cases for the requirement

– Tester runs test cases and records the steps

• As needed, “Automation Tester” converts recorded steps into a Coded UI Test

Define Rqts

Define Tests

Capture Tests

Automate Tests

Page 11: Getting Started With Coded UI testing: Building Your First Automated Test

AnnaBots

Page 12: Getting Started With Coded UI testing: Building Your First Automated Test

Option 2: Using the Coded UI Test Builder

• Approach:

– Click the record button

– Perform the steps in your test target

– Click the generate code button

– Repeat to generate more methods for the test

– Show recorded steps to delete missteps

Page 13: Getting Started With Coded UI testing: Building Your First Automated Test

DEMONSTRATION

• Converting Test Cases

• Recording tests with the Coded UI Test Builder

Page 14: Getting Started With Coded UI testing: Building Your First Automated Test

Option 3: Author Tests using .NET

• Hand-code in .NET, without any additional assistance

• Utilize one of the Coded UI-based community frameworks:– CUITe (Coded UI Test Enhanced)

• Authored by Microsoft employees but not a ‘product’

• Uses its own tooling to maintain a separate UI object repository

• Improves code maintainability

• Browser-based only

• Currently only supported on Visual Studio 2010

• Maintained on CodePlex:http://cuite.codeplex.com/

– Code First Coded UI• Led by Microsoft employees but not a ‘product’

• Pure code – does not use an object repository

• Installable via NuGet

• Uses Scaffolding approach to generate tests

• Browser-based only

• Currently only supported on Visual Studio 2010

• Maintained on CodePlex: http://codeduicodefirst.codeplex.com/

Page 15: Getting Started With Coded UI testing: Building Your First Automated Test

Agenda

• Coded UI Test Overview

• Recording Coded UI Tests

• Adding Test Validation

• Writing your own code

• Best Practices

Page 16: Getting Started With Coded UI testing: Building Your First Automated Test

Validation

• Use the Coded UI Test Builder to add assertions

• Drag the crosshairs to a target control

• Bundle assertions into methods called from the test

Select a property

Click to add assertion

Generate a method to record the assertion(s)

Page 17: Getting Started With Coded UI testing: Building Your First Automated Test

DEMONSTRATION

• Adding Assertions

(Verification/Validation)

Page 18: Getting Started With Coded UI testing: Building Your First Automated Test

Agenda

• Coded UI Test Overview

• Recording Coded UI Tests

• Adding Test Validation

• Writing your own code

• Best Practices and

References

Page 19: Getting Started With Coded UI testing: Building Your First Automated Test

The Primary Components

• Test Class (e.g., MyTest.cs)

– A .NET Coded UI Test class containing one or more Test Methods.

• Test Method

– An individual automated test case inside a Test Class.

• Recorded Method

– Code which actually automates the UI and performs assertions. (Do not change this code!)

• UIMap

– An XML designer file and related generated classes containing the recorded methods.

Page 20: Getting Started With Coded UI testing: Building Your First Automated Test

Overriding Generated Properties

[TestMethod]

public void CodedUITestMethod1()

{

this.UIMap.OpenCalc();

this.UIMap.AddThreeAndTwo();

this.UIMap.VerifySumExpectedValues.UITxtDisplayEditText = "5";

this.UIMap.VerifySum();

this.UIMap.CloseCalc();

}

“Recorded Methods” created

using the UI Test Builder.

Hand-coded to change the expected

value for the VerifySum recorded

method. There are many other

overrides made available to you in

the generated code.

Page 21: Getting Started With Coded UI testing: Building Your First Automated Test

The API

Microsoft.VisualStudio.TestingTools.UITesting:

• UITestControl

• Keyboard– SendKeys

• Mouse

• Playback.PlaybackSettings…– DelayBetweenActions

– MatchExactHierarchy

– SearchInMinimizedWindows

– SearchTimeout

– ThinkTimeMultiplier

– WaitForReadyLevel

– WaitForReadyTimeout

Page 22: Getting Started With Coded UI testing: Building Your First Automated Test

DEMONSTRATION

• UIMap Editor

Page 23: Getting Started With Coded UI testing: Building Your First Automated Test

Agenda

• Coded UI Test Overview

• Recording Coded UI Tests

• Adding Test Validation

• Writing your own code

• Best Practices

Page 24: Getting Started With Coded UI testing: Building Your First Automated Test

Best Practices

• Create each test case as a sequence of Recorded Methods.

• Use multiple UI Maps to separate areas o the application.

• Use meaningful test method names.

• Try to limit the length of each recorded method to less than 10 actions.

• Use meaningful UI control names in the application under test.

• Do not edit the UIMap.Designer.cs file.

• Use the Coded UI Test Builder and UI Control Locator whenever possible.

Page 25: Getting Started With Coded UI testing: Building Your First Automated Test

Summary

• Coded UI Test Overview

• Recording Coded UI Tests

• Adding Test Validation

• Writing your own code

• Best Practices

Page 26: Getting Started With Coded UI testing: Building Your First Automated Test

Want to know more...?

Page 27: Getting Started With Coded UI testing: Building Your First Automated Test

Need Help?

• Includes installing, configuring, and implementing both Microsoft Test Manager (for manual testing) and Microsoft Visual Studio (for automated and performance testing).

• Learn best practices for designing and implementing an effective testing strategy from an ALM perspective.

• Support and training for your team

• Includes a high-level ALM assessment

Imaginet’s Visual Studio 2012Testing Tools 5 or 10-day Quickstart

Interested? Just email us at [email protected].

Page 28: Getting Started With Coded UI testing: Building Your First Automated Test

More Webcasts on ALM / TFS / Visual Studio 2012

• Quality Coding: What’s New with Visual Studio 2012• August 8 (1:00-2:30pm CT)• August 22 (1:00-2:30pm CT)

• Getting Started With Coded UI testing: Building Your First Automated Test• September 5 (1:00-2:30pm CT)• September 19 (1:00-2:30pm CT)

• Top Business Benefits of Application Lifecycle Management (ALM)• July 17 (1:00-2:00pm CT)• August 14(1:00-2:00pm CT)

• Upgrading to TFS 2012: What You Need To Know!• July 11 (1:00-2:30pm CT)• July 25(1:00-2:30pm CT)

Page 29: Getting Started With Coded UI testing: Building Your First Automated Test

For questions or more information,

please contact us at:

[email protected] or (972)607-4830

Remember to add http://blog.imaginet.com to your favorite reader!

Page 30: Getting Started With Coded UI testing: Building Your First Automated Test

Questions?

Page 31: Getting Started With Coded UI testing: Building Your First Automated Test

http://www.imaginet.com


Recommended