Upload
fritz-stoskopf
View
110
Download
0
Embed Size (px)
Citation preview
Nico OrschelConsultantAIT TeamSystemPro
Automatisches Testen ohne Frust mit CodedUI
Was ist CodedUI?
Framework für UI TestautomatisierungVerfügbar ab Visual Studio 2010 Premium
Unterstützung verschiedener Technologien durch spezifische Provider (z.B. WinForms, WPF, Webanwendungen, Silverlight 4.0 )Microsoft Testmanager und CodedUI verwenden identisches Tracking-Framework
3
Unterstützte Plattformen
4
Tracking TechnologienTechnologie UI Test Implementierung
Windows Forms Microsoft Active Accessibility (MSAA)
Windows Presentation Foundation
UI Automation (UIA)
Internet Explorer MSHTML
Firefox JavaScript und Firefox DOM
Silverlight Code Injection und Reflection
UITest Architecture
5
Web Plug-ins(MSHTML/DOM)
Interpreter
Coded UI Test
Code Generation
Test Runner
PlaybackRecorder
Rich Client Plug-ins(UIA/MSAA)
Filter/ Aggregation
Rules
APIProperty Provider
3rd Party Plug-ins
Action Invoker
My UI
Custom properties & code
Customize recording
Write a client that does something else!
Technology Abstraction Layer
Add/Modify API
Write technology adapters
6
MSAA
MSAA = Microsoft Assessabilty AutomationStandard zur Ansteuerung von Anwendungen für ScreenreaderVerfügbar/Bestandteil seit Windows 95
Testautomatisierung von WinForms Controls erfolgt über MSAAWichtige Properties im Zusammenhang mit Testautomatisierung
AccessabiltyName und AccessabiltyDescription
Accessabilty Problemdiagnose
Probleme mit den Standards MSAA und UIA ohne Hilfsmittel schwierig zu identifizierenDiagnose mit folgenden Programmen möglich
Custom ToolUISpy (nur MSAA, Windows SDK)AccChecker (UIA und MSAA Best Practice Scan)
Download unter https://acccheck.codeplex.com/
WinForms
demo…
Tip 1: MSAA: AccessibilityName und AccessibilityDescription zuweisen
9
Tip 2: ACChecker - dein Freund und Helfer (bei MSAA / UIA Problemen)
10
UIA
UIA = User Interface AutomationNachfolger des Standards MSAABestandteil des System ab Windows 2003 und VistaStandard WPF Controls (.NetFx 3.0 und neuer) implementieren UIA
UIA Properties AutomationId und AutomationName sind essentiel für die Testautomatisierung
Definition kann implizit oder explizit erfolgen
WPF
demo…
Tip 3: UIA: AutomationName und AutomationID zuweisen
13
Silverlight
Support für Silverlight 4.0 Anwendungen mit Feature Pack 2 verfügbar
Unterschiede zu WPFEinbindung der Assembly Microsoft.VisualStudio.TestTools.UITest.Extension.SilverlightUIAutomationHelper
Gemeinsamkeiten mit WPF: AutomationProperties analog zu WPF
AutomationIdAutomationName
Silverlight
demo…
Tip 4: UIA: AutomationName und AutomationID zuweisen
16
Web
Erweiterung für das CodedUI FrameworkUrsprung: Microsoft Product Group
Vereinfacht die Entwicklung und Wartung von automatischen Tests (von Webanwendungen)Vorteil
“Keine” UIMap mehr notwendigWeniger, lesbarer und warbarerr CodeAusführen von JavaScript Code
Web
demo…
Tip 5: Wartbarer Testautomation-Code mit CUITe
19
Tip 6: “If you don’t know what you want tested, how are you going to automate it?”
Please help us make TechDays even better by Evaluating this Session. Thank you!
Give us your feedback!
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after
the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Weiterführende Informationen
AIT Gmbh & Co. KGhttp://www.aitgmbh.de
Artikelserie zu CodedUI Optimierunghttp://blog.aitgmbh.de/2011/01/07/codedui-diagnose-von-msaa-oder-uia-problemen-in-anwendungen-teil-1/http://blog.aitgmbh.de/2011/01/20/codedui-wpf-anwendungen-fr-codedui-vorbereiten-teil-2/http://blog.aitgmbh.de/2011/01/28/codedui-winforms-anwendungen-fr-uitest-vorbereiten-teil-3/
Set a Unique Automation Property for Silverlight Controls for Testinghttp://msdn.microsoft.com/en-us/library/gg413373.aspx
Weiterführende Informationen
CUITe (Coded UI Test enhanced) Frameworkhttps://cuite.codeplex.com/
UI Accessibility Checkerhttps://acccheck.codeplex.com/
Using UI Automation for Automated Testinghttp://msdn.microsoft.com/en-us/library/aa348551.aspx