{"id":1473,"date":"2014-04-04T17:47:00","date_gmt":"2014-04-04T17:47:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/visualstudioalm\/2014\/04\/04\/using-coded-ui-to-test-xaml-based-windows-phone-apps\/"},"modified":"2022-07-18T00:16:33","modified_gmt":"2022-07-18T08:16:33","slug":"using-coded-ui-to-test-xaml-based-windows-phone-apps","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/devops\/using-coded-ui-to-test-xaml-based-windows-phone-apps\/","title":{"rendered":"Using Coded UI to test XAML-based Windows Phone apps"},"content":{"rendered":"<p style=\"text-align: justify\">\n  <span style=\"font-family: verdana,geneva;font-size: small\">In order to ship a great quality app to the Store, it is essential that you test it and flush out the bugs. End to end scenario tests when automated can help you ensure that any regressions in the app are caught early. With Visual Studio 2013 Update 2, you can now write automated end-to-end tests for your app using Coded UI Test. In Visual Studio 2013, <a href=\"http:\/\/blogs.msdn.com\/b\/visualstudioalm\/archive\/2013\/06\/26\/using-coded-ui-to-test-xaml-based-windows-store-apps.aspx\">Coded UI Test support for XAML-based Windows Store apps<\/a> was enabled and the experience to use Coded UI test for Phone apps is largely the same. This post walks you through the essentials of creating a Coded UI test for your XAML-based Phone app.<\/span>\n<\/p>\n<p style=\"text-align: justify\">\n  <span style=\"color: #3366ff;font-family: verdana,geneva;font-size: medium\">Getting Started\u00a0<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"color: #424242;font-family: verdana,geneva;font-size: small\" lang=\"EN\">Writing a Coded UI test for XAML based Phone app is easy. When you install Visual Studio 2013 Update 2 RC, you will see a new template under the Windows Phone apps node that lets you create Coded UI Test for your Phone app. <\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"color: #424242;font-family: verdana,geneva;font-size: small\" lang=\"EN\"><a href=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2014\/04\/0830.NewProject.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2014\/04\/0830.NewProject.png\" alt=\"\" border=\"0\" \/><\/a><\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\">After you create a new <\/span><span style=\"font-family: verdana,geneva;font-size: small\">project, you can use the Coded UI test builder to spy on the UI controls in <\/span><span style=\"font-family: verdana,geneva;font-size: small\">your app that you want to interact with. You can also use the builder to build <\/span><span style=\"font-family: verdana,geneva;font-size: small\">a UIMap, a repository of UI controls, code for which is automatically generated <\/span><span style=\"font-family: verdana,geneva;font-size: small\">for you.<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\"><a href=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2014\/04\/8078.GenCodeDialog.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2014\/04\/8078.GenCodeDialog.png\" alt=\"\" width=\"338\" height=\"233\" border=\"0\" \/><\/a><\/span>\n<\/p>\n<p><span style=\"font-family: verdana,geneva;font-size: small\">Coded UI test builder <\/span><span style=\"font-family: verdana,geneva;font-size: small\">connects to a Windows Phone Blue emulator instance running on your machine. You <\/span><span style=\"font-family: verdana,geneva;font-size: small\">can start building your UIMap by dragging and dropping the cross-hair tool on<\/span><br \/>\n<span style=\"font-family: verdana,geneva;font-size: small\">the control of interest. You can also use keyboard shortcut keys Ctrl+I (spy) and <\/span><span style=\"font-family: verdana,geneva;font-size: small\">Ctrl+Shift+I (Add to UIMap) for the same \u2013 just hover over the control of <\/span><span style=\"font-family: verdana,geneva;font-size: small\">interest in the emulator with your mouse and use the shortcut keys. \u00a0A couple of points to note:<\/span><\/p>\n<ol>\n<li><span style=\"font-family: verdana,geneva;font-size: small\">If you use the cross-hair tool to spy on UI <\/span><span style=\"font-family: verdana,geneva;font-size: small\">elements that are outside of the emulator, the builder will not detect those<\/span><br \/>\n<span style=\"font-family: verdana,geneva;font-size: small\">controls. It will tell you that the control co-ordinates are outside of the <\/span><span style=\"font-family: verdana,geneva;font-size: small\">emulator. <\/span><\/li>\n<li><span style=\"font-family: verdana,geneva;font-size: small\">The builder can spy UI elements when the app is <\/span><span style=\"font-family: verdana,geneva;font-size: small\">running on the emulator. Builder cannot be used to spy UI elements when the app<\/span><br \/>\n<span style=\"font-family: verdana,geneva;font-size: small\">is running on a physical Phone device.<\/span><\/li>\n<\/ol>\n<p><span style=\"font-family: verdana,geneva;font-size: small\">If you want to author <\/span><span style=\"font-family: verdana,geneva;font-size: small\">your test from scratch and not use the builder to build a UIMap, you can choose <\/span><span style=\"font-family: verdana,geneva;font-size: small\">the option to \u2018Manually edit the test\u2019.<\/span><\/p>\n<p style=\"background: white\">\n  <span style=\"color: #3366ff;font-family: verdana,geneva;font-size: medium\" lang=\"EN\">Working with UI elements of the app<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\">Coded UI test makes <\/span><span style=\"font-family: verdana,geneva;font-size: small\">specialized classes available so that a rich set of properties is available for <\/span><span style=\"font-family: verdana,geneva;font-size: small\">working with the UI elements. In the case of XAML apps, the specialized classes<\/span><br \/><span style=\"font-family: verdana,geneva;font-size: small\">for all the controls are prefixed with Xaml. XamlButton, XamlEdit, XamlList <\/span><span style=\"font-family: verdana,geneva;font-size: small\">etc., are some examples. All these classes are available under the\u00a0Microsoft.VisualStudio.TestTools.UITesting.WindowsRuntimeControls <\/span><span style=\"font-family: verdana,geneva;font-size: small\">namespace. This is the same set of classes that are available for <a href=\"http:\/\/blogs.msdn.com\/b\/visualstudioalm\/archive\/2013\/06\/26\/using-coded-ui-to-test-xaml-based-windows-store-apps.aspx\">Coded UI test for Windows apps<\/a>.<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\">WebView control used to host <\/span><span style=\"font-family: verdana,geneva;font-size: small\">HTML content in a XAML app is currently not supported.<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\">You can also interact with Shell <\/span><span style=\"font-family: verdana,geneva;font-size: small\">controls \u2013 controls that are not XAML, but essential for testing your app E2E \u2013 <\/span><span style=\"font-family: verdana,geneva;font-size: small\">such as the tiles, confirmation dialogs, etc. These controls are provided by<\/span><br \/><span style=\"font-family: verdana,geneva;font-size: small\">the OS and are not XAML. These will be identified as UITestControl. The Shell <\/span><span style=\"font-family: verdana,geneva;font-size: small\">controls are identified differently than big Windows, because the UI technology <\/span><span style=\"font-family: verdana,geneva;font-size: small\">behind these controls is different on the two platforms. On big Windows, the shell <\/span><span style=\"font-family: verdana,geneva;font-size: small\">controls such as controls in the settings charm, tiles etc. are identified as a <\/span><span style=\"font-family: verdana,geneva;font-size: small\"><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/microsoft.visualstudio.testtools.uitesting.directuicontrols.directuicontrol.aspx\">DirectUIControl<\/a>.<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"color: #3366ff;font-family: verdana,geneva;font-size: medium\" lang=\"EN\">Performing actions on UI elements<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\">Once you have built the UIMap to <\/span><span style=\"font-family: verdana,geneva;font-size: small\">identify UI controls, you can start writing code to act on these controls. A <\/span><span style=\"font-family: verdana,geneva;font-size: small\">series of actions will make up the scenario you want to test.<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\">Actions on controls can be <\/span><span style=\"font-family: verdana,geneva;font-size: small\">performed in two ways:<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-size: small\">1. <span style=\"font-family: verdana,geneva\">Touch gestures on controls: <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/dd940543(v=vs.85).aspx\">All gestures<\/a> supported by the Windows platform are supported. Gesture class exposes all the touch gestures. For e.g., to invoke a button, the action code would be Gesture.Tap(myButton);<\/span><\/span>\n<\/p>\n<p>2&#46; <span style=\"font-family: verdana,geneva;font-size: small\">Properties and methods on control classes. Each <\/span><span style=\"font-family: verdana,geneva;font-size: small\">specialized control class exposes a bunch of properties and methods that you <\/span><span style=\"font-family: verdana,geneva;font-size: small\">can use to obtain information about or interact with the control. For e.g., to <\/span><span style=\"font-family: verdana,geneva;font-size: small\">input text \u201cABC\u201d in an edit control, you can use<\/span><\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\">myXamlEditControl.Text=\u201dABC\u201d;<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"color: #3366ff;font-family: verdana,geneva;font-size: medium\" lang=\"EN\">Launching an app<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\">Launching an app on Windows <\/span><span style=\"font-family: verdana,geneva;font-size: small\">Phone is <a href=\"http:\/\/blogs.msdn.com\/b\/visualstudioalm\/archive\/2013\/06\/26\/using-coded-ui-to-test-xaml-based-windows-store-apps.aspx\">similar to launching a Store app on big Windows<\/a>. You can launch an app in one of two ways:<\/span>\n<\/p>\n<ol>\n<li><span style=\"font-family: verdana,geneva;font-size: small\">Tapping on the app tile in the apps list<\/span><\/li>\n<li><span style=\"font-family: verdana,geneva;font-size: small\">Using the XamlWindow.Launch API. The Launch method takes <\/span><span style=\"font-family: verdana,geneva;font-size: small\">in the unique identifier for your app. Just as in big Windows, the AutomationId <\/span><span style=\"font-family: verdana,geneva;font-size: small\">for the app tile on Start screen or app item in the apps list is the unique <\/span><span style=\"font-family: verdana,geneva;font-size: small\">identifier for your app. You can obtain this string value by observing the app <\/span><span style=\"font-family: verdana,geneva;font-size: small\">tile in CUIT builder and copy\/pasting the AutomationId property of the tile<\/span><br \/>\n<span style=\"font-family: verdana,geneva;font-size: small\">control, as seen in the following screenshot:<\/span><\/li>\n<\/ol>\n<p><span style=\"font-family: verdana,geneva;font-size: small\"><a href=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2014\/04\/4314.AutomationIdTile.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2014\/04\/4314.AutomationIdTile.png\" alt=\"\" width=\"314\" height=\"191\" border=\"0\" \/><\/a><\/span><\/p>\n<p style=\"background: white\">\n  <span style=\"color: #3366ff;font-family: verdana,geneva;font-size: medium\" lang=\"EN\">Executing Tests<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\">Tests can be executed <\/span><span style=\"font-family: verdana,geneva;font-size: small\">from within Visual Studio using Test Explorer or from the command-line. Coded <\/span><span style=\"font-family: verdana,geneva;font-size: small\">UI tests can be executed on the emulator or the device. When executing tests<\/span><br \/><span style=\"font-family: verdana,geneva;font-size: small\">from Visual Studio, use the device toolbar to specify the target device where <\/span><span style=\"font-family: verdana,geneva;font-size: small\">the tests should execute.<\/span>\n<\/p>\n<p style=\"background: white\">\n  <img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2014\/04\/8562.TargetDevice.png\" alt=\"\" width=\"367\" height=\"164\" border=\"0\" \/>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-size: small\"><span style=\"font-family: verdana,geneva\">Tests can also be <\/span><span style=\"font-family: verdana,geneva\">executed from the command-line using vstest.console.exe. You can specify the <\/span><span style=\"font-family: verdana,geneva\">target device for test execution using a runsettings file.<\/span><\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\">vstest.console.exe <\/span><span style=\"font-family: verdana,geneva;font-size: small\">\u201cpathToYourCodedUITestDll\u201d \/settings:devicetarget.runsettings<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\">Sample runsettings <\/span><span style=\"font-family: verdana,geneva;font-size: small\">file:<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\"><?xml version=\"1.0\" <\/span><span style=\"font-family: verdana,geneva;font-size: small\">encoding=&#8221;utf-8&#8243;?><\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\"><RunSettings><\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\"><MSPhoneTest><\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\"><!--to\u00a0<\/span><span style=\"font-family: verdana,geneva;font-size: small\">specify test execution on device, use a TargetDevice option as follows--><\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\"><TargetDevice>Device<\/TargetDevice><\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\"><!--to <\/span><span style=\"font-family: verdana,geneva;font-size: small\">specify an emulator instead, use a TargetDevice option like below--><\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\"><!--<TargetDevice>Emulator <\/span><span style=\"font-family: verdana,geneva;font-size: small\">8.1 WVGA 4 inch 512MB<\/TargetDevice>--><\/span>\n<\/p>\n<p><span style=\"font-family: verdana,geneva;font-size: small\"><\/MSPhoneTest><\/span><\/p>\n<p><span style=\"font-family: verdana,geneva;font-size: small\"><\/RunSettings><\/span><\/p>\n<p style=\"background: white\">\n  <span style=\"color: #3366ff;font-family: verdana,geneva;font-size: medium\" lang=\"EN\">Data driving a Coded UI Test Method<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\">Once you have written a scenario test, you might <\/span><span style=\"font-family: verdana,geneva;font-size: small\">want to run the same test multiple times with different sets of data to test\u00a0<\/span><span style=\"font-family: verdana,geneva;font-size: small\">different conditions. Data-driving comes in handy for such cases. Data-driven <\/span><span style=\"font-family: verdana,geneva;font-size: small\">Coded UI tests for Windows Phone can be defined using the DataRow attribute on <\/span><span style=\"font-family: verdana,geneva;font-size: small\">a test method.<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\">[<span style=\"color: #339966\">DataRow<\/span>(1, 2, DisplayName = &#8220;<span style=\"color: #993300\">Add <\/span><\/span><span style=\"font-family: verdana,geneva;font-size: small\"><span style=\"color: #993300\">positive numbers<\/span>&#8220;)]<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\">[<span style=\"color: #339966\">DataRow<\/span>(-1, -2, DisplayName = &#8220;<span style=\"color: #993300\">Add <\/span><\/span><span style=\"font-family: verdana,geneva;font-size: small\"><span style=\"color: #993300\">negative numbers<\/span>&#8220;)]<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\">[<span style=\"color: #339966\">TestMethod<\/span>]<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-size: small\"><span style=\"color: #3366ff;font-family: verdana,geneva\">public void <\/span><span style=\"font-family: verdana,geneva\">DataDrivingDemo_MyTestMethod(<span style=\"color: #3366ff\">int<\/span> x, <span style=\"color: #3366ff\">int<\/span> y)<strong><\/strong><\/span><\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-family: verdana,geneva;font-size: small\">Data that drives your test is defined inline using <\/span><span style=\"font-family: verdana,geneva;font-size: small\">the DataRow attribute. In the above example, x and y would obtain the values of <\/span><span style=\"font-family: verdana,geneva;font-size: small\">1 and 2 respectively for the first iteration and -1 and -2 resp. for the second <\/span><span style=\"font-family: verdana,geneva;font-size: small\">iteration of the test.\u00a0\u00a0<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"color: #3366ff;font-family: verdana,geneva;font-size: medium\" lang=\"EN\">Differences between Coded UI for XAML-based apps for Windows and Windows Phone<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-size: small\"><span style=\"font-family: verdana,geneva\">While Coded UI test <\/span><span style=\"font-family: verdana,geneva\">for XAML apps on big Windows and Windows Phone is largely the same in <\/span><span style=\"font-family: verdana,geneva\">capabilities, the table below indicates the differences between them.<\/span><\/span>\n<\/p>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"193\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\"><strong>Feature<\/strong><\/span>\n        <\/p>\n<\/td>\n<td valign=\"top\" width=\"215\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\"><strong>Coded\u00a0UI for apps on Windows<\/strong><\/span>\n        <\/p>\n<\/td>\n<td valign=\"top\" width=\"215\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\"><strong>Coded\u00a0UI for apps on Windows Phone<\/strong><\/span>\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"193\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\">Target for running tests<\/span>\n        <\/p>\n<\/td>\n<td valign=\"top\" width=\"215\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\">Local or remote computer.<\/span>\n        <\/p>\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\">Remote computers can be specified<\/span><br \/><span style=\"font-family: verdana,geneva;font-size: small\">\u00a0 when running tests using the TC\/TA.<\/span>\n        <\/p>\n<\/td>\n<td valign=\"top\" width=\"215\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\">\u00a0Emulator or Phone<\/span>\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"193\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\">Execute from the command-line<\/span>\n        <\/p>\n<\/td>\n<td valign=\"top\" width=\"215\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\">Settings file not required to specify<\/span><br \/><span style=\"font-family: verdana,geneva;font-size: small\">\u00a0 target<\/span>\n        <\/p>\n<\/td>\n<td valign=\"top\" width=\"215\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\">runsettings file required to specify<\/span><br \/><span style=\"font-family: verdana,geneva;font-size: small\">\u00a0 target<\/span>\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"193\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\">Specialized classes for Shell<\/span><br \/><span style=\"font-family: verdana,geneva;font-size: small\">\u00a0 Controls<\/span>\n        <\/p>\n<\/td>\n<td valign=\"top\" width=\"215\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\">DirectUI class<\/span>\n        <\/p>\n<\/td>\n<td valign=\"top\" width=\"215\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\">UITestControl class<\/span>\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"193\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\">WebView control in a XAML app<\/span>\n        <\/p>\n<\/td>\n<td valign=\"top\" width=\"215\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\">Supported, HTML elements can be<\/span><br \/><span style=\"font-family: verdana,geneva;font-size: small\">\u00a0 interacted with using Html* specialized classes<\/span>\n        <\/p>\n<\/td>\n<td valign=\"top\" width=\"215\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\">Not supported.<\/span>\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"193\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\">Execute automated tests from MTM<\/span>\n        <\/p>\n<\/td>\n<td valign=\"top\" width=\"215\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\">Supported<\/span>\n        <\/p>\n<\/td>\n<td valign=\"top\" width=\"215\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\">Not supported.<\/span>\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"193\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\">Data-driving tests<\/span>\n        <\/p>\n<\/td>\n<td valign=\"top\" width=\"215\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\"><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/ee624082.aspx\">Using external<br \/>\u00a0 data-sources<\/a>, using DataSource attribute on a test method.<\/span>\n        <\/p>\n<\/td>\n<td valign=\"top\" width=\"215\">\n<p>\n          <span style=\"font-family: verdana,geneva;font-size: small\">Data is specified inline, using DataRow<\/span><br \/><span style=\"font-family: verdana,geneva;font-size: small\">\u00a0 attribute on a test method, as indicated earlier.<\/span>\n        <\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"background: white\">\n  \u00a0<span style=\"color: #3366ff;font-family: verdana,geneva;font-size: medium\">Limitations<\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-size: small\"><span style=\"font-family: verdana,geneva\">1. Recording of action steps to create Coded <\/span><span style=\"font-family: verdana,geneva\">UI test for XAML based Phone apps is not supported.<\/span><\/span>\n<\/p>\n<p style=\"background: white\">\n  <span style=\"font-size: small\"><span style=\"font-family: verdana,geneva\">2. <\/span><span style=\"font-family: verdana,geneva\">Only XAML based store apps are supported. Silverlight <\/span><span style=\"font-family: verdana,geneva\">and HTML 5 based apps cannot be tested using Coded UI.<\/span><\/span>\n<\/p>\n<p style=\"background: white\">\n  \u00a0\n<\/p>\n<p style=\"text-align: justify\">\n  \u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In order to ship a great quality app to the Store, it is essential that you test it and flush out the bugs. End to end scenario tests when automated can help you ensure that any regressions in the app are caught early. With Visual Studio 2013 Update 2, you can now write automated end-to-end [&hellip;]<\/p>\n","protected":false},"author":86,"featured_media":45953,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[226,1,252],"tags":[],"class_list":["post-1473","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ci","category-devops","category-testing"],"acf":[],"blog_post_summary":"<p>In order to ship a great quality app to the Store, it is essential that you test it and flush out the bugs. End to end scenario tests when automated can help you ensure that any regressions in the app are caught early. With Visual Studio 2013 Update 2, you can now write automated end-to-end [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/1473","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/users\/86"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/comments?post=1473"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/1473\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media\/45953"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media?parent=1473"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/categories?post=1473"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/tags?post=1473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}