├── .gitattributes
├── .gitignore
├── .gitmodules
├── ApplicationUnderTests
├── AppUIBasics
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── AppUIBasics.csproj
│ ├── AppUIBasics.sln
│ ├── Assets
│ │ ├── AppBar.png
│ │ ├── AppBarButton.png
│ │ ├── AppBarSeparator.png
│ │ ├── AppBarToggleButton.png
│ │ ├── AutoSuggestBox.png
│ │ ├── Border.png
│ │ ├── Button.png
│ │ ├── CalendarView.png
│ │ ├── Canvas.png
│ │ ├── CheckBox.png
│ │ ├── ComboBox.png
│ │ ├── CommandBar.png
│ │ ├── ContentDialog.png
│ │ ├── DarkGray.png
│ │ ├── DatePicker.png
│ │ ├── FlipView.png
│ │ ├── Flyout.png
│ │ ├── Grid.png
│ │ ├── GridView.png
│ │ ├── HeroImage.png
│ │ ├── Hub.png
│ │ ├── HyperlinkButton.png
│ │ ├── Image.png
│ │ ├── InkCanvas.png
│ │ ├── LightGray.png
│ │ ├── ListBox.png
│ │ ├── ListView.png
│ │ ├── MediaElement.png
│ │ ├── MediumGray.png
│ │ ├── MenuFlyout.png
│ │ ├── PasswordBox.png
│ │ ├── Pivot.png
│ │ ├── ProgressBar.png
│ │ ├── ProgressRing.png
│ │ ├── RadioButton.png
│ │ ├── RelativePanel.png
│ │ ├── RichEditBox.png
│ │ ├── RichTextBlock.png
│ │ ├── ScrollViewer.png
│ │ ├── SemanticZoom.png
│ │ ├── SettingsFlyout.png
│ │ ├── Slices.png
│ │ ├── Slices2.png
│ │ ├── Slider.png
│ │ ├── SplitView.png
│ │ ├── StackPanel.png
│ │ ├── TextBlock.png
│ │ ├── TextBox.png
│ │ ├── TimePicker.png
│ │ ├── ToggleButton.png
│ │ ├── ToggleSwitch.png
│ │ ├── ToolTip.png
│ │ ├── VariableSizedWrapGrid.png
│ │ ├── ViewBox.png
│ │ ├── WideLogo.scale-80.png
│ │ ├── badgelogo.scale-100.png
│ │ ├── badgelogo.scale-140.png
│ │ ├── badgelogo.scale-180.png
│ │ ├── cliff.jpg
│ │ ├── fishes.wmv
│ │ ├── grapes.jpg
│ │ ├── ladybug.wmv
│ │ ├── ninegrid.gif
│ │ ├── rainier.jpg
│ │ ├── smalltile-sdk.png
│ │ ├── splash-sdk.png
│ │ ├── squaretile-sdk.png
│ │ ├── storelogo-sdk.png
│ │ ├── sunset.jpg
│ │ ├── treetops.jpg
│ │ ├── valley.jpg
│ │ ├── widelogo.scale-100.png
│ │ ├── widelogo.scale-140.png
│ │ └── widelogo.scale-180.png
│ ├── Common
│ │ ├── BooleanNegationConverter.cs
│ │ ├── BooleanToVisibilityConverter.cs
│ │ ├── ColorStringConverter.cs
│ │ ├── ComboBoxItemToStringConverter.cs
│ │ ├── DoubleToIntConverter.cs
│ │ ├── NavigationHelper.cs
│ │ ├── NullableBooleanToBooleanConverter.cs
│ │ ├── ObservableDictionary.cs
│ │ ├── OrientedSize.cs
│ │ ├── ReadMe.txt
│ │ ├── RelayCommand.cs
│ │ ├── StringToBrushConverter.cs
│ │ ├── SuspensionManager.cs
│ │ ├── ValueToFontFamilyConverter.cs
│ │ ├── ValueToStringConverter.cs
│ │ └── WrapPanel.cs
│ ├── ControlExample.xaml
│ ├── ControlExample.xaml.cs
│ ├── ControlPages
│ │ ├── AppBarButtonPage.xaml
│ │ ├── AppBarButtonPage.xaml.cs
│ │ ├── AppBarPage.xaml
│ │ ├── AppBarPage.xaml.cs
│ │ ├── AppBarSeparatorPage.xaml
│ │ ├── AppBarSeparatorPage.xaml.cs
│ │ ├── AppBarToggleButtonPage.xaml
│ │ ├── AppBarToggleButtonPage.xaml.cs
│ │ ├── AutoSuggestBoxPage.xaml
│ │ ├── AutoSuggestBoxPage.xaml.cs
│ │ ├── BorderPage.xaml
│ │ ├── BorderPage.xaml.cs
│ │ ├── ButtonPage.xaml
│ │ ├── ButtonPage.xaml.cs
│ │ ├── CalendarViewPage.xaml
│ │ ├── CalendarViewPage.xaml.cs
│ │ ├── CanvasPage.xaml
│ │ ├── CanvasPage.xaml.cs
│ │ ├── CheckBoxPage.xaml
│ │ ├── CheckBoxPage.xaml.cs
│ │ ├── ComboBoxPage.xaml
│ │ ├── ComboBoxPage.xaml.cs
│ │ ├── CommandBarPage.xaml
│ │ ├── CommandBarPage.xaml.cs
│ │ ├── ContentDialogExample.xaml
│ │ ├── ContentDialogExample.xaml.cs
│ │ ├── ContentDialogPage.xaml
│ │ ├── ContentDialogPage.xaml.cs
│ │ ├── DatePickerPage.xaml
│ │ ├── DatePickerPage.xaml.cs
│ │ ├── FlipViewPage.xaml
│ │ ├── FlipViewPage.xaml.cs
│ │ ├── FlyoutPage.xaml
│ │ ├── FlyoutPage.xaml.cs
│ │ ├── GridPage.xaml
│ │ ├── GridPage.xaml.cs
│ │ ├── GridViewPage.xaml
│ │ ├── GridViewPage.xaml.cs
│ │ ├── HubPage.xaml
│ │ ├── HubPage.xaml.cs
│ │ ├── HyperlinkButtonPage.xaml
│ │ ├── HyperlinkButtonPage.xaml.cs
│ │ ├── ImagePage.xaml
│ │ ├── ImagePage.xaml.cs
│ │ ├── InkCanvasPage.xaml
│ │ ├── InkCanvasPage.xaml.cs
│ │ ├── ListBoxPage.xaml
│ │ ├── ListBoxPage.xaml.cs
│ │ ├── ListViewPage.xaml
│ │ ├── ListViewPage.xaml.cs
│ │ ├── MediaElementPage.xaml
│ │ ├── MediaElementPage.xaml.cs
│ │ ├── MenuFlyoutPage.xaml
│ │ ├── MenuFlyoutPage.xaml.cs
│ │ ├── PasswordBoxPage.xaml
│ │ ├── PasswordBoxPage.xaml.cs
│ │ ├── PivotPage.xaml
│ │ ├── PivotPage.xaml.cs
│ │ ├── ProgressBarPage.xaml
│ │ ├── ProgressBarPage.xaml.cs
│ │ ├── ProgressRingPage.xaml
│ │ ├── ProgressRingPage.xaml.cs
│ │ ├── RadioButtonPage.xaml
│ │ ├── RadioButtonPage.xaml.cs
│ │ ├── RelativePanelPage.xaml
│ │ ├── RelativePanelPage.xaml.cs
│ │ ├── RepeatButtonPage.xaml
│ │ ├── RepeatButtonPage.xaml.cs
│ │ ├── RichEditBoxPage.xaml
│ │ ├── RichEditBoxPage.xaml.cs
│ │ ├── RichTextBlockPage.xaml
│ │ ├── RichTextBlockPage.xaml.cs
│ │ ├── ScrollViewerPage.xaml
│ │ ├── ScrollViewerPage.xaml.cs
│ │ ├── SemanticZoomPage.xaml
│ │ ├── SemanticZoomPage.xaml.cs
│ │ ├── SliderPage.xaml
│ │ ├── SliderPage.xaml.cs
│ │ ├── SplitViewPage.xaml
│ │ ├── SplitViewPage.xaml.cs
│ │ ├── StackPanelPage.xaml
│ │ ├── StackPanelPage.xaml.cs
│ │ ├── TextBlockPage.xaml
│ │ ├── TextBlockPage.xaml.cs
│ │ ├── TextBoxPage.xaml
│ │ ├── TextBoxPage.xaml.cs
│ │ ├── TimePickerPage.xaml
│ │ ├── TimePickerPage.xaml.cs
│ │ ├── ToggleButtonPage.xaml
│ │ ├── ToggleButtonPage.xaml.cs
│ │ ├── ToggleSwitchPage.xaml
│ │ ├── ToggleSwitchPage.xaml.cs
│ │ ├── ToolTipPage.xaml
│ │ ├── ToolTipPage.xaml.cs
│ │ ├── VariableSizedWrapGridPage.xaml
│ │ ├── VariableSizedWrapGridPage.xaml.cs
│ │ ├── ViewBoxPage.xaml
│ │ └── ViewBoxPage.xaml.cs
│ ├── DataModel
│ │ ├── ControlInfoData.json
│ │ └── ControlInfoDataSource.cs
│ ├── ItemPage.xaml
│ ├── ItemPage.xaml.cs
│ ├── MainPage.xaml
│ ├── MainPage.xaml.cs
│ ├── Navigation
│ │ ├── NavigationRootPage.xaml
│ │ └── NavigationRootPage.xaml.cs
│ ├── Package.appxmanifest
│ ├── PageHeader.xaml
│ ├── PageHeader.xaml.cs
│ ├── Properties
│ │ ├── AssemblyInfo.cs
│ │ └── Default.rd.xml
│ ├── README.md
│ ├── SearchResultsPage.xaml
│ ├── SearchResultsPage.xaml.cs
│ ├── SectionPage.xaml
│ ├── SectionPage.xaml.cs
│ ├── Strings
│ │ └── en-US
│ │ │ └── Resources.resw
│ └── project.json
├── Input
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── Assets
│ │ ├── LockScreenLogo.scale-200.png
│ │ ├── Rotate.png
│ │ ├── SplashScreen.scale-200.png
│ │ ├── Square150x150Logo.scale-200.png
│ │ ├── Square44x44Logo.scale-200.png
│ │ ├── Square44x44Logo.targetsize-24_altform-unplated.png
│ │ ├── StoreLogo.png
│ │ └── Wide310x150Logo.scale-200.png
│ ├── Input.csproj
│ ├── Input.sln
│ ├── MainPage.xaml
│ ├── MainPage.xaml.cs
│ ├── Package.appxmanifest
│ ├── Properties
│ │ ├── AssemblyInfo.cs
│ │ └── Default.rd.xml
│ ├── README.md
│ └── project.json
├── README.md
└── custom.props
├── Docs
├── AuthoringTestScripts.md
├── CI_AzureDevOps.md
├── FAQ.md
├── RunningOnRemoteMachine.md
├── SeleniumGrid.md
├── SupportedAPIs.md
├── UsingAppium.md
└── UsingUIRecorder.md
├── LICENSE
├── README.md
├── SECURITY.md
├── SUPPORT.md
├── Samples
├── .gitignore
├── C#
│ ├── AlarmClockTest
│ │ ├── AlarmClockSession.cs
│ │ ├── AlarmClockTest.csproj
│ │ ├── AlarmClockTest.sln
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── README.md
│ │ ├── ScenarioAlarm.cs
│ │ ├── ScenarioStopwatch.cs
│ │ └── packages.config
│ ├── CalculatorTest
│ │ ├── CalculatorSession.cs
│ │ ├── CalculatorTest.csproj
│ │ ├── CalculatorTest.sln
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── README.md
│ │ ├── ScenarioStandard.cs
│ │ └── packages.config
│ ├── CortanaTest
│ │ ├── BingSearch.cs
│ │ ├── CortanaTest.csproj
│ │ ├── CortanaTest.sln
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── README.md
│ │ └── packages.config
│ ├── NotepadAndCalculatorTest
│ │ ├── CalculatorSession.cs
│ │ ├── MultiSession.cs
│ │ ├── NotepadCalculatorTest.csproj
│ │ ├── NotepadCalculatorTest.sln
│ │ ├── NotepadSession.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── README.md
│ │ ├── SingleSession.cs
│ │ └── packages.config
│ ├── NotepadTest
│ │ ├── NotepadSession.cs
│ │ ├── NotepadTest.csproj
│ │ ├── NotepadTest.sln
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── README.md
│ │ ├── ScenarioEditor.cs
│ │ ├── ScenarioMenuItem.cs
│ │ ├── ScenarioPopupDialog.cs
│ │ └── packages.config
│ ├── Paint3DTest
│ │ ├── Paint3DSession.cs
│ │ ├── Paint3DTest.csproj
│ │ ├── Paint3DTest.sln
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── README.md
│ │ ├── ScenarioDraw.cs
│ │ ├── ScenarioZoom.cs
│ │ └── packages.config
│ ├── PaintTest
│ │ ├── PaintSession.cs
│ │ ├── PaintTest.csproj
│ │ ├── PaintTest.sln
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── README.md
│ │ ├── ScenarioDraw.cs
│ │ └── packages.config
│ └── StickyNotesTest
│ │ ├── Properties
│ │ └── AssemblyInfo.cs
│ │ ├── README.md
│ │ ├── ScenarioPen.cs
│ │ ├── StickyNotesSession.cs
│ │ ├── StickyNotesTest.csproj
│ │ ├── StickyNotesTest.sln
│ │ └── packages.config
├── Java
│ ├── .idea
│ │ ├── Java.iml
│ │ ├── misc.xml
│ │ ├── modules.xml
│ │ ├── vcs.xml
│ │ └── workspace.xml
│ └── CalculatorTest
│ │ ├── .idea
│ │ ├── compiler.xml
│ │ ├── libraries
│ │ │ ├── Maven__cglib_cglib_3_2_4.xml
│ │ │ ├── Maven__cglib_cglib_nodep_3_2_4.xml
│ │ │ ├── Maven__com_codeborne_phantomjsdriver_1_4_0.xml
│ │ │ ├── Maven__com_google_code_gson_gson_2_8_0.xml
│ │ │ ├── Maven__com_google_guava_guava_21_0.xml
│ │ │ ├── Maven__commons_beanutils_commons_beanutils_1_9_2.xml
│ │ │ ├── Maven__commons_codec_commons_codec_1_9.xml
│ │ │ ├── Maven__commons_collections_commons_collections_3_2_2.xml
│ │ │ ├── Maven__commons_digester_commons_digester_1_8_1.xml
│ │ │ ├── Maven__commons_io_commons_io_2_5.xml
│ │ │ ├── Maven__commons_logging_commons_logging_1_2.xml
│ │ │ ├── Maven__commons_validator_commons_validator_1_5_1.xml
│ │ │ ├── Maven__io_appium_java_client_5_0_0_BETA6.xml
│ │ │ ├── Maven__junit_junit_4_11.xml
│ │ │ ├── Maven__net_java_dev_jna_jna_4_1_0.xml
│ │ │ ├── Maven__net_java_dev_jna_jna_platform_4_1_0.xml
│ │ │ ├── Maven__net_sourceforge_cssparser_cssparser_0_9_21.xml
│ │ │ ├── Maven__net_sourceforge_htmlunit_htmlunit_2_24.xml
│ │ │ ├── Maven__net_sourceforge_htmlunit_htmlunit_core_js_2_23.xml
│ │ │ ├── Maven__net_sourceforge_htmlunit_neko_htmlunit_2_24.xml
│ │ │ ├── Maven__org_apache_ant_ant_1_9_6.xml
│ │ │ ├── Maven__org_apache_ant_ant_launcher_1_9_6.xml
│ │ │ ├── Maven__org_apache_commons_commons_exec_1_3.xml
│ │ │ ├── Maven__org_apache_commons_commons_lang3_3_5.xml
│ │ │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_2.xml
│ │ │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_4.xml
│ │ │ ├── Maven__org_apache_httpcomponents_httpmime_4_5_2.xml
│ │ │ ├── Maven__org_aspectj_aspectjweaver_1_8_10.xml
│ │ │ ├── Maven__org_eclipse_jetty_jetty_io_9_2_20_v20161216.xml
│ │ │ ├── Maven__org_eclipse_jetty_jetty_util_9_2_20_v20161216.xml
│ │ │ ├── Maven__org_eclipse_jetty_websocket_websocket_api_9_2_20_v20161216.xml
│ │ │ ├── Maven__org_eclipse_jetty_websocket_websocket_client_9_2_20_v20161216.xml
│ │ │ ├── Maven__org_eclipse_jetty_websocket_websocket_common_9_2_20_v20161216.xml
│ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml
│ │ │ ├── Maven__org_ow2_asm_asm_5_1.xml
│ │ │ ├── Maven__org_seleniumhq_selenium_htmlunit_driver_2_24.xml
│ │ │ ├── Maven__org_seleniumhq_selenium_selenium_api_3_3_1.xml
│ │ │ ├── Maven__org_seleniumhq_selenium_selenium_chrome_driver_3_3_1.xml
│ │ │ ├── Maven__org_seleniumhq_selenium_selenium_edge_driver_3_3_1.xml
│ │ │ ├── Maven__org_seleniumhq_selenium_selenium_firefox_driver_3_3_1.xml
│ │ │ ├── Maven__org_seleniumhq_selenium_selenium_ie_driver_3_3_1.xml
│ │ │ ├── Maven__org_seleniumhq_selenium_selenium_java_3_3_1.xml
│ │ │ ├── Maven__org_seleniumhq_selenium_selenium_opera_driver_3_3_1.xml
│ │ │ ├── Maven__org_seleniumhq_selenium_selenium_remote_driver_3_3_1.xml
│ │ │ ├── Maven__org_seleniumhq_selenium_selenium_safari_driver_3_3_1.xml
│ │ │ ├── Maven__org_springframework_spring_aop_4_3_5_RELEASE.xml
│ │ │ ├── Maven__org_springframework_spring_beans_4_3_5_RELEASE.xml
│ │ │ ├── Maven__org_springframework_spring_context_4_3_5_RELEASE.xml
│ │ │ ├── Maven__org_springframework_spring_core_4_3_5_RELEASE.xml
│ │ │ ├── Maven__org_springframework_spring_expression_4_3_5_RELEASE.xml
│ │ │ ├── Maven__org_w3c_css_sac_1_3.xml
│ │ │ ├── Maven__xalan_serializer_2_7_2.xml
│ │ │ ├── Maven__xalan_xalan_2_7_2.xml
│ │ │ ├── Maven__xerces_xercesImpl_2_11_0.xml
│ │ │ └── Maven__xml_apis_xml_apis_1_4_01.xml
│ │ ├── misc.xml
│ │ ├── modules.xml
│ │ ├── vcs.xml
│ │ └── workspace.xml
│ │ ├── CalculatorTest.iml
│ │ ├── pom.xml
│ │ ├── src
│ │ └── test
│ │ │ └── java
│ │ │ └── CalculatorTest.java
│ │ └── target
│ │ └── test-classes
│ │ └── CalculatorTest.class
├── JavaScript
│ ├── .ado
│ │ ├── azure-pipelines.yml
│ │ └── templates
│ │ │ ├── buildTestApp.yml
│ │ │ └── deployTestApp.yml
│ ├── .gitignore
│ ├── README.md
│ ├── lerna.json
│ ├── package.json
│ ├── packages
│ │ ├── selenium-webdriver
│ │ │ ├── Pages
│ │ │ │ ├── BasicInputPage.ts
│ │ │ │ ├── ButtonPage.ts
│ │ │ │ ├── CheckBoxPage.ts
│ │ │ │ └── HomePage.ts
│ │ │ ├── README.md
│ │ │ ├── __tests__
│ │ │ │ └── samples.test.ts
│ │ │ ├── babel.config.js
│ │ │ ├── jest.config.js
│ │ │ └── package.json
│ │ └── webdriverio
│ │ │ ├── .prettierrc.json
│ │ │ ├── README.md
│ │ │ ├── package.json
│ │ │ ├── pages
│ │ │ ├── BasePage.ts
│ │ │ ├── BasicInputPage.ts
│ │ │ ├── ButtonPage.ts
│ │ │ ├── CheckBoxPage.ts
│ │ │ └── HomePage.ts
│ │ │ ├── test
│ │ │ └── samples.spec.ts
│ │ │ ├── tsconfig.json
│ │ │ ├── wdio.conf.js
│ │ │ └── wdio.conf.winappdriver.js
│ └── yarn.lock
├── Python
│ ├── README.md
│ └── calculatortest.py
├── Ruby
│ ├── README.md
│ └── features
│ │ ├── standard.feature
│ │ ├── step_definitions
│ │ ├── setup_steps.rb
│ │ └── standard_steps.rb
│ │ └── support
│ │ ├── env.rb
│ │ └── hooks.rb
└── custom.props
├── Tests
├── AbsoluteXPath
│ ├── AbsoluteXPath.csproj
│ ├── AbsoluteXPath.sln
│ ├── Alarms.cs
│ ├── Calculator.cs
│ ├── DesktopSession.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── README.md
│ ├── SimpleAttributeExpression.cs
│ ├── ValidXPath.cs
│ ├── notepad.cs
│ └── packages.config
├── Input
│ ├── Input.csproj
│ ├── Input.sln
│ ├── MultiTouchScenarios.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── README.md
│ ├── TestBase.cs
│ ├── TouchScenarios.cs
│ ├── app.config
│ └── packages.config
├── README.md
├── UWPControls
│ ├── Button.cs
│ ├── CheckBox.cs
│ ├── ComboBox.cs
│ ├── DatePicker.cs
│ ├── ProgressBar.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── README.md
│ ├── RadioButton.cs
│ ├── Slider.cs
│ ├── TextBlock.cs
│ ├── TextBox.cs
│ ├── ToggleButton.cs
│ ├── ToggleSwitch.cs
│ ├── UWPControls.csproj
│ ├── UWPControls.sln
│ ├── UWPControlsBase.cs
│ └── packages.config
├── WebDriverAPI
│ ├── Actions.cs
│ ├── ActionsPen.cs
│ ├── ActionsTouch.cs
│ ├── AppSessionBase
│ │ ├── AlarmClockBase.cs
│ │ ├── CalculatorBase.cs
│ │ ├── CommonTestSettings.cs
│ │ ├── EdgeBase.cs
│ │ ├── Utility.cs
│ │ └── WebDriverApiExtensions.cs
│ ├── AppiumAppClose.cs
│ ├── AppiumAppLaunch.cs
│ ├── Back.cs
│ ├── Element.cs
│ ├── ElementActive.cs
│ ├── ElementAttribute.cs
│ ├── ElementClear.cs
│ ├── ElementClick.cs
│ ├── ElementDisplayed.cs
│ ├── ElementElement.cs
│ ├── ElementElements.cs
│ ├── ElementEnabled.cs
│ ├── ElementEquals.cs
│ ├── ElementLocation.cs
│ ├── ElementLocationInView.cs
│ ├── ElementName.cs
│ ├── ElementSelected.cs
│ ├── ElementSendKeys.cs
│ ├── ElementSize.cs
│ ├── ElementText.cs
│ ├── Elements.cs
│ ├── Forward.cs
│ ├── Location.cs
│ ├── Mouse.cs
│ ├── Orientation.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── README.md
│ ├── Screenshot.cs
│ ├── SendKeys.cs
│ ├── Session.cs
│ ├── Sessions.cs
│ ├── Source.cs
│ ├── Status.cs
│ ├── Timeouts.cs
│ ├── Title.cs
│ ├── TouchClick.cs
│ ├── TouchDoubleClick.cs
│ ├── TouchDownMoveUp.cs
│ ├── TouchFlick.cs
│ ├── TouchLongClick.cs
│ ├── TouchScroll.cs
│ ├── WebDriverAPI.csproj
│ ├── WebDriverAPI.sln
│ ├── Window.cs
│ └── packages.config
└── custom.props
├── Tools
└── UIRecorder
│ ├── .gitignore
│ ├── README.md
│ ├── SignConfig.xml
│ ├── UIRecorder
│ ├── App.config
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── ApplicationInsights.config
│ ├── GenerateXPath.cs
│ ├── MainWindow.xaml
│ ├── MainWindow.xaml.cs
│ ├── MouseKeyboardEventHandler.cs
│ ├── MouseKeyboardHook.cs
│ ├── Properties
│ │ ├── AssemblyInfo.cs
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.cs
│ │ └── Settings.settings
│ ├── RecordedUiTask.cs
│ ├── Resource
│ │ └── copy.png
│ ├── UiTreeNode.cs
│ ├── Win32API.cs
│ ├── WinAppDriverUiRecorder.csproj
│ ├── WindowEditNodeAttribute.xaml
│ ├── WindowEditNodeAttribute.xaml.cs
│ ├── XmlNodePathRecorder.cs
│ └── packages.config
│ ├── UIRecorderTemplate
│ ├── App.config
│ ├── Program.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── UIRecorderTemplate.csproj
│ └── packages.config
│ ├── UIXPathLib
│ ├── ControlTypeId.h
│ ├── UiTreeWalk.cpp
│ ├── UiTreeWalk.h
│ ├── UiXPathLib.cpp
│ ├── UiXPathLib.def
│ ├── UiXPathLib.vcxproj
│ ├── dllmain.cpp
│ ├── stdafx.cpp
│ ├── stdafx.h
│ └── targetver.h
│ ├── WinAppDriverUIRecorder.sln
│ └── custom.props
└── WinAppDriver.pfx
/.gitignore:
--------------------------------------------------------------------------------
1 | #Visual Studio files
2 | *.o
3 | *.d
4 | *.so
5 | *.[Oo]bj
6 | *.user
7 | *.aps
8 | *.pch
9 | *.vspscc
10 | *.vssscc
11 | *_i.c
12 | *_p.c
13 | *.ncb
14 | *.suo
15 | *.tlb
16 | *.tlh
17 | *.tli
18 | *.bak
19 | *.[Cc]ache
20 | *.ilk
21 | *.log
22 | *.lib
23 | *.sbr
24 | *.sdf
25 | *.sdf
26 | *.opensdf
27 | *.pdb
28 | *.idb
29 | *.ipdb
30 | *.iobj
31 | *.res
32 | *.unsuccessfulbuild
33 | *.lastbuildstate
34 | *.tlog
35 | *.intermediate
36 | *.dll
37 | *.exp
38 | *.exe
39 | *.manifest
40 | *.rc
41 | *~
42 | .vs
43 | ipch/
44 | obj/
45 | [Bb]in
46 | [Aa]pp[Pp]ackages/
47 | [Bb]undle[Aa]rtifacts/
48 |
49 | #ignore all *.lock.json files
50 | *.lock.json
51 |
52 | # The packages folder can be ignored because of Package Restore
53 | **/packages/*
54 |
55 | # except build/, which is used as an MSBuild target.
56 | !**/packages/build/
57 |
58 | # except Javascript examples
59 | !Samples/JavaScript/packages
60 |
61 | # Visual Studio 2015/2017 cache/options directory
62 | .vs/
63 |
64 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "ApplicationUnderTests/Xaml-Controls-Gallery"]
2 | path = ApplicationUnderTests/Xaml-Controls-Gallery
3 | url = https://github.com/microsoft/Xaml-Controls-Gallery.git
4 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/AppBar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/AppBar.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/AppBarButton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/AppBarButton.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/AppBarSeparator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/AppBarSeparator.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/AppBarToggleButton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/AppBarToggleButton.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/AutoSuggestBox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/AutoSuggestBox.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/Border.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/Border.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/Button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/Button.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/CalendarView.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/CalendarView.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/Canvas.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/Canvas.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/CheckBox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/CheckBox.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/ComboBox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/ComboBox.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/CommandBar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/CommandBar.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/ContentDialog.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/ContentDialog.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/DarkGray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/DarkGray.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/DatePicker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/DatePicker.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/FlipView.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/FlipView.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/Flyout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/Flyout.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/Grid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/Grid.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/GridView.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/GridView.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/HeroImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/HeroImage.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/Hub.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/Hub.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/HyperlinkButton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/HyperlinkButton.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/Image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/Image.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/InkCanvas.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/InkCanvas.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/LightGray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/LightGray.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/ListBox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/ListBox.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/ListView.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/ListView.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/MediaElement.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/MediaElement.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/MediumGray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/MediumGray.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/MenuFlyout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/MenuFlyout.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/PasswordBox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/PasswordBox.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/Pivot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/Pivot.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/ProgressBar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/ProgressBar.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/ProgressRing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/ProgressRing.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/RadioButton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/RadioButton.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/RelativePanel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/RelativePanel.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/RichEditBox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/RichEditBox.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/RichTextBlock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/RichTextBlock.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/ScrollViewer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/ScrollViewer.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/SemanticZoom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/SemanticZoom.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/SettingsFlyout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/SettingsFlyout.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/Slices.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/Slices.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/Slices2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/Slices2.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/Slider.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/Slider.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/SplitView.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/SplitView.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/StackPanel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/StackPanel.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/TextBlock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/TextBlock.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/TextBox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/TextBox.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/TimePicker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/TimePicker.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/ToggleButton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/ToggleButton.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/ToggleSwitch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/ToggleSwitch.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/ToolTip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/ToolTip.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/VariableSizedWrapGrid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/VariableSizedWrapGrid.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/ViewBox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/ViewBox.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/WideLogo.scale-80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/WideLogo.scale-80.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/badgelogo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/badgelogo.scale-100.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/badgelogo.scale-140.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/badgelogo.scale-140.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/badgelogo.scale-180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/badgelogo.scale-180.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/cliff.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/cliff.jpg
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/fishes.wmv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/fishes.wmv
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/grapes.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/grapes.jpg
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/ladybug.wmv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/ladybug.wmv
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/ninegrid.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/ninegrid.gif
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/rainier.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/rainier.jpg
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/smalltile-sdk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/smalltile-sdk.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/splash-sdk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/splash-sdk.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/squaretile-sdk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/squaretile-sdk.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/storelogo-sdk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/storelogo-sdk.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/sunset.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/sunset.jpg
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/treetops.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/treetops.jpg
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/valley.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/valley.jpg
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/widelogo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/widelogo.scale-100.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/widelogo.scale-140.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/widelogo.scale-140.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Assets/widelogo.scale-180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/AppUIBasics/Assets/widelogo.scale-180.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Common/BooleanNegationConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Windows.UI.Xaml.Data;
3 |
4 | namespace AppUIBasics.Common
5 | {
6 | ///
7 | /// Value converter that translates true to false and vice versa.
8 | ///
9 | public sealed class BooleanNegationConverter : IValueConverter
10 | {
11 | public object Convert(object value, Type targetType, object parameter, string language)
12 | {
13 | return !(value is bool && (bool)value);
14 | }
15 |
16 | public object ConvertBack(object value, Type targetType, object parameter, string language)
17 | {
18 | return !(value is bool && (bool)value);
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Common/BooleanToVisibilityConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Linq;
5 | using System.Runtime.CompilerServices;
6 | using Windows.Foundation;
7 | using Windows.Foundation.Collections;
8 | using Windows.Graphics.Display;
9 | using Windows.UI.ViewManagement;
10 | using Windows.UI.Xaml;
11 | using Windows.UI.Xaml.Controls;
12 | using Windows.UI.Xaml.Data;
13 |
14 | namespace AppUIBasics.Common
15 | {
16 | ///
17 | /// Value converter that translates true to and false to
18 | /// .
19 | ///
20 | public sealed class BooleanToVisibilityConverter : IValueConverter
21 | {
22 | public object Convert(object value, Type targetType, object parameter, string language)
23 | {
24 | return (value is bool && (bool)value) ? Visibility.Visible : Visibility.Collapsed;
25 | }
26 |
27 | public object ConvertBack(object value, Type targetType, object parameter, string language)
28 | {
29 | return value is Visibility && (Visibility)value == Visibility.Visible;
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Common/ColorStringConverter.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using System;
11 | using System.Collections.Generic;
12 | using System.Linq;
13 | using System.Text;
14 | using System.Threading.Tasks;
15 | using Windows.UI;
16 | using Windows.UI.Xaml;
17 | using Windows.UI.Xaml.Data;
18 | using Windows.UI.Xaml.Media;
19 |
20 | namespace AppUIBasics.Common
21 | {
22 | ///
23 | /// Value converter that translates true to and false to
24 | /// .
25 | ///
26 | public sealed class ColorStringConverter : IValueConverter
27 | {
28 | public object Convert(object value, Type targetType, object parameter, string language)
29 | {
30 | if (value is Color)
31 | {
32 | return ((Color)value).ToString();
33 | }
34 | else if (value is SolidColorBrush)
35 | return (value as SolidColorBrush).Color.ToString();
36 | else
37 | return "Unknown";
38 | }
39 |
40 | public object ConvertBack(object value, Type targetType, object parameter, string language)
41 | {
42 | return Colors.Black;
43 | }
44 | }
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Common/ComboBoxItemToStringConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using Windows.UI.Xaml.Data;
7 |
8 | namespace AppUIBasics.Common
9 | {
10 | public class ComboBoxItemToStringConverter : IValueConverter
11 | {
12 | public object Convert(object value, Type targetType, object parameter, string language)
13 | {
14 | if (value is Windows.UI.Xaml.Controls.ComboBoxItem)
15 | {
16 | return (value as Windows.UI.Xaml.Controls.ComboBoxItem).Content;
17 | }
18 | return null;
19 | }
20 |
21 | public object ConvertBack(object value, Type targetType, object parameter, string language)
22 | {
23 | throw new NotImplementedException();
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Common/DoubleToIntConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using Windows.UI.Xaml.Data;
7 |
8 | namespace AppUIBasics.Common
9 | {
10 | public class DoubleToIntConverter : IValueConverter
11 | {
12 | public object Convert(object value, Type targetType, object parameter, string language)
13 | {
14 | if(value != null && value is double)
15 | {
16 | int retVal;
17 | if (int.TryParse(value.ToString(), out retVal))
18 | return retVal;
19 | }
20 | return null;
21 | }
22 |
23 | public object ConvertBack(object value, Type targetType, object parameter, string language)
24 | {
25 | if(value != null && value is int)
26 | {
27 | return (double)value;
28 | }
29 | return null;
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Common/NullableBooleanToBooleanConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using Windows.UI.Xaml.Data;
7 |
8 | namespace AppUIBasics.Common
9 | {
10 | public class NullableBooleanToBooleanConverter : IValueConverter
11 | {
12 | public object Convert(object value, Type targetType, object parameter, string language)
13 | {
14 | if(value is bool?)
15 | {
16 | return (bool)value;
17 | }
18 | return false;
19 | }
20 |
21 | public object ConvertBack(object value, Type targetType, object parameter, string language)
22 | {
23 | if (value is bool)
24 | return (bool)value;
25 | return false;
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Common/ReadMe.txt:
--------------------------------------------------------------------------------
1 | The Common directory contains classes that simplify application development.
2 |
3 | Classes in the Common directory form part of your project and may be further enhanced to meet your
4 | needs. Care should be taken when altering existing methods and properties as incompatible changes
5 | will require corresponding changes to code included in a variety of Visual Studio templates. For
6 | example, additional pages added to your project are written assuming that the original methods and
7 | properties in Common classes are still present and that the names of the types have not changed.
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Common/StringToBrushConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using Windows.UI;
7 | using Windows.UI.Xaml.Data;
8 | using Windows.UI.Xaml.Media;
9 | using System.Reflection;
10 | using Windows.UI.Xaml.Controls;
11 |
12 | namespace AppUIBasics.Common
13 | {
14 | public class StringToBrushConverter : IValueConverter
15 | {
16 | public object Convert(object value, Type targetType, object parameter, string language)
17 | {
18 | if(value is ComboBoxItem)
19 | {
20 | //First see if this brush is defined as a resource
21 | var brushName = (value as ComboBoxItem).Content.ToString();
22 | if (App.Current.Resources.ContainsKey(brushName))
23 | return (Brush)App.Current.Resources[brushName];
24 |
25 | //Try to get the brush from the Colors static class
26 | var prop = typeof(Colors).GetRuntimeProperty(brushName);
27 | if (prop != null)
28 | {
29 | var color = prop.GetValue(null);
30 | if (color != null)
31 | return new SolidColorBrush((Color)color);
32 | }
33 | }
34 | return null;
35 | }
36 |
37 | public object ConvertBack(object value, Type targetType, object parameter, string language)
38 | {
39 | throw new NotImplementedException();
40 | }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Common/ValueToFontFamilyConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using Windows.UI.Xaml.Data;
7 | using Windows.UI.Xaml.Media;
8 |
9 | namespace AppUIBasics.Common
10 | {
11 | public class ValueToFontFamilyConverter : IValueConverter
12 | {
13 | public object Convert(object value, Type targetType, object parameter, string language)
14 | {
15 | if(value != null && value is FontFamily)
16 | {
17 | return (FontFamily)value;
18 | }
19 | return new FontFamily("Segoe UI");
20 | }
21 |
22 | public object ConvertBack(object value, Type targetType, object parameter, string language)
23 | {
24 | throw new NotImplementedException();
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Common/ValueToStringConverter.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using System;
11 | using System.Collections.Generic;
12 | using System.Linq;
13 | using System.Text;
14 | using System.Threading.Tasks;
15 | using Windows.UI.Xaml.Data;
16 |
17 | namespace AppUIBasics.Common
18 | {
19 | public sealed class ValueToStringConverter : IValueConverter
20 | {
21 | public object Convert(object value, Type targetType, object parameter, string language)
22 | {
23 | return value.ToString();
24 | }
25 |
26 | public object ConvertBack(object value, Type targetType, object parameter, string language)
27 | {
28 | throw new NotImplementedException("Converting from string is not supported.");
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlExample.xaml:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/CanvasPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using System;
11 | using System.Collections.Generic;
12 | using System.IO;
13 | using System.Linq;
14 | using System.Runtime.InteropServices.WindowsRuntime;
15 | using Windows.Foundation;
16 | using Windows.Foundation.Collections;
17 | using Windows.UI.Xaml;
18 | using Windows.UI.Xaml.Controls;
19 | using Windows.UI.Xaml.Controls.Primitives;
20 | using Windows.UI.Xaml.Data;
21 | using Windows.UI.Xaml.Input;
22 | using Windows.UI.Xaml.Media;
23 | using Windows.UI.Xaml.Navigation;
24 |
25 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
26 |
27 | namespace AppUIBasics.ControlPages
28 | {
29 | ///
30 | /// An empty page that can be used on its own or navigated to within a Frame.
31 | ///
32 | public sealed partial class CanvasPage : Page
33 | {
34 | public CanvasPage()
35 | {
36 | this.InitializeComponent();
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/ContentDialogExample.xaml:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/ContentDialogPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Runtime.InteropServices.WindowsRuntime;
6 | using Windows.Foundation;
7 | using Windows.Foundation.Collections;
8 | using Windows.UI.Xaml;
9 | using Windows.UI.Xaml.Controls;
10 | using Windows.UI.Xaml.Controls.Primitives;
11 | using Windows.UI.Xaml.Data;
12 | using Windows.UI.Xaml.Input;
13 | using Windows.UI.Xaml.Media;
14 | using Windows.UI.Xaml.Navigation;
15 |
16 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
17 |
18 | namespace AppUIBasics.ControlPages
19 | {
20 | ///
21 | /// An empty page that can be used on its own or navigated to within a Frame.
22 | ///
23 | public sealed partial class ContentDialogPage : Page
24 | {
25 | public ContentDialogPage()
26 | {
27 | this.InitializeComponent();
28 | }
29 |
30 | private async void ShowDialog_Click(object sender, RoutedEventArgs e)
31 | {
32 | ContentDialogExample dialog = new ContentDialogExample();
33 | await dialog.ShowAsync();
34 |
35 | if(dialog.Result == SignInResult.SignInOK)
36 | {
37 | DialogResult.Text = "Dialog result successful.";
38 | }
39 | else if(dialog.Result == SignInResult.SignInCancel)
40 | {
41 | DialogResult.Text = "Dialog result canceled.";
42 | }
43 | else if(dialog.Result == SignInResult.Nothing)
44 | {
45 | DialogResult.Text = "Dialog dismissed.";
46 | }
47 | }
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/DatePickerPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using System;
11 | using Windows.UI.Xaml.Navigation;
12 | using Windows.UI.Xaml.Controls;
13 |
14 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
15 |
16 | namespace AppUIBasics.ControlPages
17 | {
18 | ///
19 | /// An empty page that can be used on its own or navigated to within a Frame.
20 | ///
21 | public sealed partial class DatePickerPage : Page
22 | {
23 | public DatePickerPage()
24 | {
25 | this.InitializeComponent();
26 | }
27 |
28 | protected override void OnNavigatedTo(NavigationEventArgs e)
29 | {
30 | // Set the default date to 2 months from the current date.
31 | Control2.Date = DateTimeOffset.Now.AddMonths(2);
32 |
33 | // Set the minimum year to the current year.
34 | Control2.MinYear = DateTimeOffset.Now;
35 |
36 | // Set the maximum year to 5 years in the future.
37 | Control2.MaxYear = DateTimeOffset.Now.AddYears(5);
38 |
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/FlipViewPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using AppUIBasics.Common;
11 | using AppUIBasics.Data;
12 | using System.Collections.Generic;
13 | using Windows.UI.Xaml.Navigation;
14 | using Windows.UI.Xaml.Controls;
15 |
16 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
17 |
18 | namespace AppUIBasics.ControlPages
19 | {
20 | ///
21 | /// An empty page that can be used on its own or navigated to within a Frame.
22 | ///
23 | public sealed partial class FlipViewPage : Page
24 | {
25 | private IEnumerable _groups;
26 |
27 | public FlipViewPage()
28 | {
29 | this.InitializeComponent();
30 | }
31 | public IEnumerable Groups
32 | {
33 | get { return this._groups; }
34 | }
35 |
36 | protected async override void OnNavigatedTo(NavigationEventArgs e)
37 | {
38 | base.OnNavigatedTo(e);
39 |
40 | _groups = await ControlInfoDataSource.GetGroupsAsync();
41 | }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/FlyoutPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using Windows.UI.Xaml;
11 | using Windows.UI.Xaml.Controls;
12 | using Windows.UI.Xaml.Controls.Primitives;
13 | using Windows.UI.Xaml.Input;
14 |
15 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
16 |
17 | namespace AppUIBasics.ControlPages
18 | {
19 | ///
20 | /// An empty page that can be used on its own or navigated to within a Frame.
21 | ///
22 | public sealed partial class FlyoutPage : Page
23 | {
24 | public FlyoutPage()
25 | {
26 | this.InitializeComponent();
27 | }
28 |
29 | private void Element_Tapped(object sender, TappedRoutedEventArgs e)
30 | {
31 | FrameworkElement element = sender as FrameworkElement;
32 | if (element != null)
33 | {
34 | FlyoutBase.ShowAttachedFlyout(element);
35 | }
36 | }
37 |
38 | private void DeleteConfirmation_Click(object sender, RoutedEventArgs e)
39 | {
40 | Flyout f = this.Control1.Flyout as Flyout;
41 | if (f != null)
42 | {
43 | f.Hide();
44 | }
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/GridPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using System;
11 | using System.Collections.Generic;
12 | using System.IO;
13 | using System.Linq;
14 | using System.Runtime.InteropServices.WindowsRuntime;
15 | using Windows.Foundation;
16 | using Windows.Foundation.Collections;
17 | using Windows.UI.Xaml;
18 | using Windows.UI.Xaml.Controls;
19 | using Windows.UI.Xaml.Controls.Primitives;
20 | using Windows.UI.Xaml.Data;
21 | using Windows.UI.Xaml.Input;
22 | using Windows.UI.Xaml.Media;
23 | using Windows.UI.Xaml.Navigation;
24 |
25 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
26 |
27 | namespace AppUIBasics.ControlPages
28 | {
29 | ///
30 | /// An empty page that can be used on its own or navigated to within a Frame.
31 | ///
32 | public sealed partial class GridPage : Page
33 | {
34 | public GridPage()
35 | {
36 | this.InitializeComponent();
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/HubPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using System.Collections.Generic;
11 | using Windows.UI.Xaml;
12 | using Windows.UI.Xaml.Controls;
13 |
14 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
15 |
16 | namespace AppUIBasics.ControlPages
17 | {
18 | ///
19 | /// An empty page that can be used on its own or navigated to within a Frame.
20 | ///
21 | public sealed partial class HubPage : Page
22 | {
23 | public HubPage()
24 | {
25 | this.InitializeComponent();
26 | Loaded += HubPage_Loaded;
27 | }
28 |
29 | void HubPage_Loaded(object sender, RoutedEventArgs e)
30 | {
31 | List sections = new List();
32 |
33 | foreach (HubSection section in NewsHub.Sections)
34 | {
35 | if (section.Header != null)
36 | {
37 | sections.Add(section.Header.ToString());
38 | }
39 | }
40 |
41 | ZoomedOutList.ItemsSource = sections;
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/HyperlinkButtonPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using Windows.UI.Xaml;
11 | using Windows.UI.Xaml.Controls;
12 |
13 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
14 |
15 | namespace AppUIBasics.ControlPages
16 | {
17 | ///
18 | /// An empty page that can be used on its own or navigated to within a Frame.
19 | ///
20 | public sealed partial class HyperlinkButtonPage : Page
21 | {
22 | public HyperlinkButtonPage()
23 | {
24 | this.InitializeComponent();
25 | }
26 |
27 | private void GoToHyperlinkButton_Click(object sender, RoutedEventArgs e)
28 | {
29 | NavigationRootPage.RootFrame.Navigate(typeof(ItemPage), "ToggleButton");
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/ImagePage.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Runtime.InteropServices.WindowsRuntime;
6 | using Windows.Foundation;
7 | using Windows.Foundation.Collections;
8 | using Windows.UI.Xaml;
9 | using Windows.UI.Xaml.Controls;
10 | using Windows.UI.Xaml.Controls.Primitives;
11 | using Windows.UI.Xaml.Data;
12 | using Windows.UI.Xaml.Input;
13 | using Windows.UI.Xaml.Media;
14 | using Windows.UI.Xaml.Navigation;
15 | using Windows.UI.Xaml.Documents;
16 |
17 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
18 |
19 | namespace AppUIBasics.ControlPages
20 | {
21 | ///
22 | /// An empty page that can be used on its own or navigated to within a Frame.
23 | ///
24 | public sealed partial class ImagePage : Page
25 | {
26 | public ImagePage()
27 | {
28 | this.InitializeComponent();
29 | }
30 |
31 | private void ImageStretch_Checked(object sender, RoutedEventArgs e)
32 | {
33 | if (StretchImage != null)
34 | {
35 | var strStretch = (sender as RadioButton).Content.ToString();
36 | var stretch = (Stretch)Enum.Parse(typeof(Stretch), strStretch);
37 | StretchImage.Stretch = stretch;
38 |
39 | StretchLabel.Text = strStretch;
40 | }
41 | }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/MediaElementPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Runtime.InteropServices.WindowsRuntime;
6 | using Windows.Foundation;
7 | using Windows.Foundation.Collections;
8 | using Windows.UI.Xaml;
9 | using Windows.UI.Xaml.Controls;
10 | using Windows.UI.Xaml.Controls.Primitives;
11 | using Windows.UI.Xaml.Data;
12 | using Windows.UI.Xaml.Input;
13 | using Windows.UI.Xaml.Media;
14 | using Windows.UI.Xaml.Navigation;
15 |
16 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
17 |
18 | namespace AppUIBasics.ControlPages
19 | {
20 | ///
21 | /// An empty page that can be used on its own or navigated to within a Frame.
22 | ///
23 | public sealed partial class MediaElementPage : Page
24 | {
25 | public MediaElementPage()
26 | {
27 | this.InitializeComponent();
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/PasswordBoxPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using Windows.UI.Xaml;
11 | using Windows.UI.Xaml.Controls;
12 |
13 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
14 |
15 | namespace AppUIBasics.ControlPages
16 | {
17 | ///
18 | /// An empty page that can be used on its own or navigated to within a Frame.
19 | ///
20 | public sealed partial class PasswordBoxPage : Page
21 | {
22 | public PasswordBoxPage()
23 | {
24 | this.InitializeComponent();
25 | }
26 |
27 | private void PasswordBox_PasswordChanged(object sender, RoutedEventArgs e)
28 | {
29 | PasswordBox pb = sender as PasswordBox;
30 |
31 | if (pb != null)
32 | {
33 | if (string.IsNullOrEmpty(pb.Password) || pb.Password == "Password")
34 | {
35 | Control1Output.Visibility = Visibility.Visible;
36 | Control1Output.Text = "'Password' is not allowed.";
37 | pb.Password = string.Empty;
38 | }
39 | else
40 | {
41 | Control1Output.Text = string.Empty;
42 | Control1Output.Visibility = Visibility.Collapsed;
43 | }
44 | }
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/PivotPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Runtime.InteropServices.WindowsRuntime;
6 | using Windows.Foundation;
7 | using Windows.Foundation.Collections;
8 | using Windows.UI.Xaml;
9 | using Windows.UI.Xaml.Controls;
10 | using Windows.UI.Xaml.Controls.Primitives;
11 | using Windows.UI.Xaml.Data;
12 | using Windows.UI.Xaml.Input;
13 | using Windows.UI.Xaml.Media;
14 | using Windows.UI.Xaml.Navigation;
15 |
16 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
17 |
18 | namespace AppUIBasics.ControlPages
19 | {
20 | ///
21 | /// An empty page that can be used on its own or navigated to within a Frame.
22 | ///
23 | public sealed partial class PivotPage : Page
24 | {
25 | public PivotPage()
26 | {
27 | this.InitializeComponent();
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/ProgressBarPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using Windows.UI.Xaml;
11 | using Windows.UI.Xaml.Controls;
12 |
13 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
14 |
15 | namespace AppUIBasics.ControlPages
16 | {
17 | ///
18 | /// An empty page that can be used on its own or navigated to within a Frame.
19 | ///
20 | public sealed partial class ProgressBarPage : Page
21 | {
22 | public ProgressBarPage()
23 | {
24 | this.InitializeComponent();
25 | }
26 |
27 | private static int _clicks = 0;
28 | private void RepeatButton_Click(object sender, RoutedEventArgs e)
29 | {
30 | _clicks += 1;
31 | Control2Output.Text = _clicks.ToString();
32 | DeterminateProgressValue.Text = _clicks.ToString();
33 | ProgressBar2.Value = _clicks;
34 |
35 | if (_clicks >= 100) _clicks = 0;
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/ProgressRingPage.xaml:
--------------------------------------------------------------------------------
1 |
12 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 | <ProgressRing IsActive="" />
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/ProgressRingPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using System;
11 | using System.Collections.Generic;
12 | using System.IO;
13 | using System.Linq;
14 | using System.Runtime.InteropServices.WindowsRuntime;
15 | using Windows.Foundation;
16 | using Windows.Foundation.Collections;
17 | using Windows.UI.Xaml;
18 | using Windows.UI.Xaml.Controls;
19 | using Windows.UI.Xaml.Controls.Primitives;
20 | using Windows.UI.Xaml.Data;
21 | using Windows.UI.Xaml.Input;
22 | using Windows.UI.Xaml.Media;
23 | using Windows.UI.Xaml.Navigation;
24 |
25 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
26 |
27 | namespace AppUIBasics.ControlPages
28 | {
29 | ///
30 | /// An empty page that can be used on its own or navigated to within a Frame.
31 | ///
32 | public sealed partial class ProgressRingPage : Page
33 | {
34 | public ProgressRingPage()
35 | {
36 | this.InitializeComponent();
37 | }
38 |
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/RelativePanelPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Runtime.InteropServices.WindowsRuntime;
6 | using Windows.Foundation;
7 | using Windows.Foundation.Collections;
8 | using Windows.UI.Xaml;
9 | using Windows.UI.Xaml.Controls;
10 | using Windows.UI.Xaml.Controls.Primitives;
11 | using Windows.UI.Xaml.Data;
12 | using Windows.UI.Xaml.Input;
13 | using Windows.UI.Xaml.Media;
14 | using Windows.UI.Xaml.Navigation;
15 |
16 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
17 |
18 | namespace AppUIBasics.ControlPages
19 | {
20 | ///
21 | /// An empty page that can be used on its own or navigated to within a Frame.
22 | ///
23 | public sealed partial class RelativePanelPage : Page
24 | {
25 | public RelativePanelPage()
26 | {
27 | this.InitializeComponent();
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/RepeatButtonPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using Windows.UI.Xaml;
11 | using Windows.UI.Xaml.Controls;
12 |
13 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
14 |
15 | namespace AppUIBasics.ControlPages
16 | {
17 | ///
18 | /// An empty page that can be used on its own or navigated to within a Frame.
19 | ///
20 | public sealed partial class RepeatButtonPage : Page
21 | {
22 | public RepeatButtonPage()
23 | {
24 | this.InitializeComponent();
25 | }
26 |
27 | private static int _clicks = 0;
28 | private void RepeatButton_Click(object sender, RoutedEventArgs e)
29 | {
30 | _clicks += 1;
31 | Control1Output.Text = "Number of clicks: " + _clicks;
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/RichTextBlockPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using System;
11 | using System.Collections.Generic;
12 | using System.IO;
13 | using System.Linq;
14 | using System.Runtime.InteropServices.WindowsRuntime;
15 | using Windows.Foundation;
16 | using Windows.Foundation.Collections;
17 | using Windows.UI.Xaml;
18 | using Windows.UI.Xaml.Controls;
19 | using Windows.UI.Xaml.Controls.Primitives;
20 | using Windows.UI.Xaml.Data;
21 | using Windows.UI.Xaml.Input;
22 | using Windows.UI.Xaml.Media;
23 | using Windows.UI.Xaml.Navigation;
24 |
25 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
26 |
27 | namespace AppUIBasics.ControlPages
28 | {
29 | ///
30 | /// An empty page that can be used on its own or navigated to within a Frame.
31 | ///
32 | public sealed partial class RichTextBlockPage : Page
33 | {
34 | public RichTextBlockPage()
35 | {
36 | this.InitializeComponent();
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/SemanticZoomPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using AppUIBasics.Common;
11 | using AppUIBasics.Data;
12 | using System.Collections.Generic;
13 | using Windows.UI.Xaml.Controls;
14 | using Windows.UI.Xaml.Navigation;
15 |
16 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
17 |
18 | namespace AppUIBasics.ControlPages
19 | {
20 | ///
21 | /// An empty page that can be used on its own or navigated to within a Frame.
22 | ///
23 | public sealed partial class SemanticZoomPage : Page
24 | {
25 | private IEnumerable _groups;
26 |
27 | public SemanticZoomPage()
28 | {
29 | this.InitializeComponent();
30 | }
31 | public IEnumerable Groups
32 | {
33 | get { return this._groups; }
34 | }
35 |
36 | protected async override void OnNavigatedTo(NavigationEventArgs e)
37 | {
38 | base.OnNavigatedTo(e);
39 |
40 | _groups = await ControlInfoDataSource.GetGroupsAsync();
41 | }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/SliderPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using System;
11 | using System.Collections.Generic;
12 | using System.IO;
13 | using System.Linq;
14 | using System.Runtime.InteropServices.WindowsRuntime;
15 | using Windows.Foundation;
16 | using Windows.Foundation.Collections;
17 | using Windows.UI.Xaml;
18 | using Windows.UI.Xaml.Controls;
19 | using Windows.UI.Xaml.Controls.Primitives;
20 | using Windows.UI.Xaml.Data;
21 | using Windows.UI.Xaml.Input;
22 | using Windows.UI.Xaml.Media;
23 | using Windows.UI.Xaml.Navigation;
24 |
25 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
26 |
27 | namespace AppUIBasics.ControlPages
28 | {
29 | ///
30 | /// An empty page that can be used on its own or navigated to within a Frame.
31 | ///
32 | public sealed partial class SliderPage : Page
33 | {
34 | public SliderPage()
35 | {
36 | this.InitializeComponent();
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/StackPanelPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using Windows.UI.Xaml;
11 | using Windows.UI.Xaml.Controls;
12 |
13 | // The Basic Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234237
14 |
15 | namespace AppUIBasics.ControlPages
16 | {
17 | ///
18 | /// A basic page that provides characteristics common to most applications.
19 | ///
20 | public sealed partial class StackPanelPage : Page
21 | {
22 | public StackPanelPage()
23 | {
24 | this.InitializeComponent();
25 | }
26 |
27 | private void RadioButton_Checked(object sender, RoutedEventArgs e)
28 | {
29 | RadioButton rb = sender as RadioButton;
30 | if (rb != null && Control1 != null)
31 | {
32 | string orientationName = rb.Tag.ToString();
33 | OrientationLabel.Text = orientationName;
34 | switch (orientationName)
35 | {
36 | case "Horizontal":
37 | Control1.Orientation = Orientation.Horizontal;
38 | break;
39 | case "Vertical":
40 | Control1.Orientation = Orientation.Vertical;
41 | break;
42 | }
43 | }
44 | }
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/TextBlockPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using System;
11 | using System.Collections.Generic;
12 | using System.IO;
13 | using System.Linq;
14 | using System.Runtime.InteropServices.WindowsRuntime;
15 | using Windows.Foundation;
16 | using Windows.Foundation.Collections;
17 | using Windows.UI.Xaml;
18 | using Windows.UI.Xaml.Controls;
19 | using Windows.UI.Xaml.Controls.Primitives;
20 | using Windows.UI.Xaml.Data;
21 | using Windows.UI.Xaml.Input;
22 | using Windows.UI.Xaml.Media;
23 | using Windows.UI.Xaml.Navigation;
24 |
25 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
26 |
27 | namespace AppUIBasics.ControlPages
28 | {
29 | ///
30 | /// An empty page that can be used on its own or navigated to within a Frame.
31 | ///
32 | public sealed partial class TextBlockPage : Page
33 | {
34 | public TextBlockPage()
35 | {
36 | this.InitializeComponent();
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/TextBoxPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using System;
11 | using System.Collections.Generic;
12 | using System.IO;
13 | using System.Linq;
14 | using System.Runtime.InteropServices.WindowsRuntime;
15 | using Windows.Foundation;
16 | using Windows.Foundation.Collections;
17 | using Windows.UI.Xaml;
18 | using Windows.UI.Xaml.Controls;
19 | using Windows.UI.Xaml.Controls.Primitives;
20 | using Windows.UI.Xaml.Data;
21 | using Windows.UI.Xaml.Input;
22 | using Windows.UI.Xaml.Media;
23 | using Windows.UI.Xaml.Navigation;
24 |
25 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
26 |
27 | namespace AppUIBasics.ControlPages
28 | {
29 | ///
30 | /// An empty page that can be used on its own or navigated to within a Frame.
31 | ///
32 | public sealed partial class TextBoxPage : Page
33 | {
34 | public TextBoxPage()
35 | {
36 | this.InitializeComponent();
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/TimePickerPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using System;
11 | using System.Collections.Generic;
12 | using System.IO;
13 | using System.Linq;
14 | using System.Runtime.InteropServices.WindowsRuntime;
15 | using Windows.Foundation;
16 | using Windows.Foundation.Collections;
17 | using Windows.UI.Xaml;
18 | using Windows.UI.Xaml.Controls;
19 | using Windows.UI.Xaml.Controls.Primitives;
20 | using Windows.UI.Xaml.Data;
21 | using Windows.UI.Xaml.Input;
22 | using Windows.UI.Xaml.Media;
23 | using Windows.UI.Xaml.Navigation;
24 |
25 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
26 |
27 | namespace AppUIBasics.ControlPages
28 | {
29 | ///
30 | /// An empty page that can be used on its own or navigated to within a Frame.
31 | ///
32 | public sealed partial class TimePickerPage : Page
33 | {
34 | public TimePickerPage()
35 | {
36 | this.InitializeComponent();
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/ToggleButtonPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using Windows.UI.Xaml;
11 | using Windows.UI.Xaml.Controls;
12 |
13 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
14 |
15 | namespace AppUIBasics.ControlPages
16 | {
17 | ///
18 | /// An empty page that can be used on its own or navigated to within a Frame.
19 | ///
20 | public sealed partial class ToggleButtonPage : Page
21 | {
22 | public ToggleButtonPage()
23 | {
24 | this.InitializeComponent();
25 |
26 | // Set initial outpput value.
27 | Control1Output.Text = (bool)Toggle1.IsChecked ? "On" : "Off";
28 | }
29 |
30 | private void ToggleButton_Checked(object sender, RoutedEventArgs e)
31 | {
32 | Control1Output.Text = "On";
33 | }
34 |
35 | private void ToggleButton_Unchecked(object sender, RoutedEventArgs e)
36 | {
37 | Control1Output.Text = "Off";
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/ToggleSwitchPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using System;
11 | using System.Collections.Generic;
12 | using System.IO;
13 | using System.Linq;
14 | using System.Runtime.InteropServices.WindowsRuntime;
15 | using Windows.Foundation;
16 | using Windows.Foundation.Collections;
17 | using Windows.UI.Xaml;
18 | using Windows.UI.Xaml.Controls;
19 | using Windows.UI.Xaml.Controls.Primitives;
20 | using Windows.UI.Xaml.Data;
21 | using Windows.UI.Xaml.Input;
22 | using Windows.UI.Xaml.Media;
23 | using Windows.UI.Xaml.Navigation;
24 |
25 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
26 |
27 | namespace AppUIBasics.ControlPages
28 | {
29 | ///
30 | /// An empty page that can be used on its own or navigated to within a Frame.
31 | ///
32 | public sealed partial class ToggleSwitchPage : Page
33 | {
34 | public ToggleSwitchPage()
35 | {
36 | this.InitializeComponent();
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/ToolTipPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using System;
11 | using System.Collections.Generic;
12 | using System.IO;
13 | using System.Linq;
14 | using System.Runtime.InteropServices.WindowsRuntime;
15 | using Windows.Foundation;
16 | using Windows.Foundation.Collections;
17 | using Windows.UI.Xaml;
18 | using Windows.UI.Xaml.Controls;
19 | using Windows.UI.Xaml.Controls.Primitives;
20 | using Windows.UI.Xaml.Data;
21 | using Windows.UI.Xaml.Input;
22 | using Windows.UI.Xaml.Media;
23 | using Windows.UI.Xaml.Navigation;
24 |
25 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
26 |
27 | namespace AppUIBasics.ControlPages
28 | {
29 | ///
30 | /// An empty page that can be used on its own or navigated to within a Frame.
31 | ///
32 | public sealed partial class ToolTipPage : Page
33 | {
34 | public ToolTipPage()
35 | {
36 | this.InitializeComponent();
37 | }
38 |
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/ControlPages/VariableSizedWrapGridPage.xaml.cs:
--------------------------------------------------------------------------------
1 | //*********************************************************
2 | //
3 | // Copyright (c) Microsoft. All rights reserved.
4 | // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 | // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 | // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 | // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 | //
9 | //*********************************************************
10 | using Windows.UI.Xaml;
11 | using Windows.UI.Xaml.Controls;
12 |
13 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
14 |
15 | namespace AppUIBasics.ControlPages
16 | {
17 | ///
18 | /// An empty page that can be used on its own or navigated to within a Frame.
19 | ///
20 | public sealed partial class VariableSizedWrapGridPage : Page
21 | {
22 | public VariableSizedWrapGridPage()
23 | {
24 | this.InitializeComponent();
25 | }
26 |
27 | private void RadioButton_Checked(object sender, RoutedEventArgs e)
28 | {
29 | RadioButton rb = sender as RadioButton;
30 |
31 | if (rb != null && Control1 != null)
32 | {
33 | string orientionName = rb.Tag.ToString();
34 | OrientationLabel.Text = orientionName;
35 | switch (orientionName)
36 | {
37 | case "Horizontal":
38 | Control1.Orientation = Orientation.Horizontal;
39 | break;
40 | case "Vertical":
41 | Control1.Orientation = Orientation.Vertical;
42 | break;
43 | }
44 | }
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Package.appxmanifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | App UI Basics C# Sample
7 | Microsoft Corporation
8 | Assets\StoreLogo-sdk.png
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("AppUIBasics")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("AppUIBasics")]
13 | [assembly: AssemblyCopyright("Copyright © 2014")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Version information for an assembly consists of the following four values:
18 | //
19 | // Major Version
20 | // Minor Version
21 | // Build Number
22 | // Revision
23 | //
24 | // You can specify all the values or you can default the Build and Revision Numbers
25 | // by using the '*' as shown below:
26 | // [assembly: AssemblyVersion("1.0.*")]
27 | [assembly: AssemblyVersion("1.0.0.0")]
28 | [assembly: AssemblyFileVersion("1.0.0.0")]
29 | [assembly: ComVisible(false)]
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/Properties/Default.rd.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
20 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/README.md:
--------------------------------------------------------------------------------
1 | # AppUIBasics
2 |
3 | AppUIBasics is a sample Universal Windows Platfrom application created to showcase various controls (UI elements) that can be added to your application. This application is taken from and slightly modified to run independently. This application contains all the controls that are tested in [UWPControls Test](../../Tests/UWPControls/) project.
4 |
5 |
6 | ## Requirements
7 |
8 | - Windows 10 PC with the latest Windows 10 version (Version 1607 or later)
9 | - Microsoft Visual Studio 2015 or later
10 | - Windows 10 SDK version 10.0.14393.0 or later
11 |
12 |
13 | ## Getting Started
14 |
15 | 1. Open `AppUIBasics.sln` in Visual Studio
16 | 2. Select `x86` as **Solution Platform**
17 | 3. Select **Build** > **Build Solution** to build the application
18 | 4. Select **Build** > **Deploy Solution** to deploy the application
19 |
20 | > Once the application is successfully built and installed, you can run any of the test in the [UWPControls Test](../../Tests/UWPControls/) project.
21 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/AppUIBasics/project.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0"
4 | },
5 | "frameworks": {
6 | "uap10.0": {}
7 | },
8 | "runtimes": {
9 | "win10-arm": {},
10 | "win10-arm-aot": {},
11 | "win10-x86": {},
12 | "win10-x86-aot": {},
13 | "win10-x64": {},
14 | "win10-x64-aot": {}
15 | }
16 | }
--------------------------------------------------------------------------------
/ApplicationUnderTests/Input/App.xaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/Input/Assets/LockScreenLogo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/Input/Assets/LockScreenLogo.scale-200.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/Input/Assets/Rotate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/Input/Assets/Rotate.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/Input/Assets/SplashScreen.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/Input/Assets/SplashScreen.scale-200.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/Input/Assets/Square150x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/Input/Assets/Square150x150Logo.scale-200.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/Input/Assets/Square44x44Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/Input/Assets/Square44x44Logo.scale-200.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/Input/Assets/Square44x44Logo.targetsize-24_altform-unplated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/Input/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/Input/Assets/StoreLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/Input/Assets/StoreLogo.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/Input/Assets/Wide310x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/ApplicationUnderTests/Input/Assets/Wide310x150Logo.scale-200.png
--------------------------------------------------------------------------------
/ApplicationUnderTests/Input/Package.appxmanifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Input
7 | shweaver
8 | Assets\StoreLogo.png
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/Input/Properties/Default.rd.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
20 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/Input/README.md:
--------------------------------------------------------------------------------
1 | # Input
2 |
3 | Input is a sample Universal Windows Platfrom application tailored to enable testing various Windows Application Driver input support. This application allows test scenarios in [Input Test](../../Tests/Input/) project to be run and verified by logging input events that the target element is receiving.
4 |
5 |
6 | ## Requirements
7 |
8 | - Windows 10 PC with the latest Windows 10 version (Version 1607 or later)
9 | - Microsoft Visual Studio 2015 or later
10 | - Windows 10 SDK version 10.0.14393.0 or later
11 |
12 |
13 | ## Getting Started
14 |
15 | 1. Open `Input.sln` in Visual Studio
16 | 2. Select `x86` as **Solution Platform**
17 | 3. Select **Build** > **Build Solution** to build the application
18 | 4. Select **Build** > **Deploy Solution** to deploy the application
19 |
20 | > Once the application is successfully built and installed, you can run any of the test in the [Input Test](../../Tests/Input/) project.
21 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/Input/project.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "Microsoft.NETCore.UniversalWindowsPlatform": "5.1.0"
4 | },
5 | "frameworks": {
6 | "uap10.0": {}
7 | },
8 | "runtimes": {
9 | "win10-arm": {},
10 | "win10-arm-aot": {},
11 | "win10-x86": {},
12 | "win10-x86-aot": {},
13 | "win10-x64": {},
14 | "win10-x64-aot": {}
15 | }
16 | }
--------------------------------------------------------------------------------
/ApplicationUnderTests/README.md:
--------------------------------------------------------------------------------
1 | # Application Under Tests
2 |
3 | The following sample applications are used for [Windows Application Driver Tests](../Tests) to test against.
4 |
5 | | Test | Description |
6 | |----------------------------------- |----------------------------------------------- |
7 | | [AppUIBasics ](./AppUIBasics/) | Hosts all UI Universal Windows UI controls |
8 | | [Input ](./Input/) | Logs various input interactions |
9 | | [Xaml Controls Gallery](./Xaml-Controls-Gallery/) | This app demonstrates the controls available in the Fluent Design System and Xaml. |
10 |
--------------------------------------------------------------------------------
/ApplicationUnderTests/custom.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ApplicationUnderTests\$(MSBuildProjectName)
5 |
6 |
--------------------------------------------------------------------------------
/Docs/UsingUIRecorder.md:
--------------------------------------------------------------------------------
1 | # Getting Started
2 | The source code for the UI Recorder tool is available on the WinAppDriver repo [here](https://github.com/Microsoft/WinAppDriver/tree/master/Tools).
3 |
4 | # Using UI Recorder
5 |
6 | The UI Recorder tool aims to provide an intuitive, and simplistic, user interface that is divided into two panels, as seen below:
7 | 
8 |
9 | **UI Recorder** tracks both keyboard and mouse interactions against an application interface—representing a **UI action**. When **Recording** is active, both the top and bottom panels are dynamically updated with varying UI element information every time a new UI action takes place. The **Top Panel** shows the generated XPath query of the currently selected UI element, and the **Bottom Panel** shows the **raw XML information** for the same element. You can navigate to the **C# Code tab** on the bottom panel to view generated C# code of the recorded action which you can use on a WinAppDriver test.
10 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 Microsoft
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/SUPPORT.md:
--------------------------------------------------------------------------------
1 | ## Getting Help
2 |
3 | This project uses GitHub issues to track bugs and take feature requests. Please
4 | search for existing issues before filing new ones to avoid duplicates. To
5 | open a new issue, click on [Issues](https://github.com/microsoft/WinAppDriver/issues)
6 | and then [New issue](https://github.com/microsoft/WinAppDriver/issues/new).
7 |
8 | If you need help in how to use this project, please review our [Wiki](https://github.com/microsoft/WinAppDriver/wiki)
9 | before opening an issue.
10 |
11 | ## Security Issues
12 |
13 | If you discover a security vulnerability in this project, please see [SECURITY.md](https://github.com/microsoft/WinAppDriver/blob/master/SECURITY.md) for information on how to report it privately.
14 |
15 | ## Microsoft Support Policy
16 |
17 | Support for this project is limited to the resources listed above.
18 |
--------------------------------------------------------------------------------
/Samples/.gitignore:
--------------------------------------------------------------------------------
1 | project.lock.json
2 | *.user
--------------------------------------------------------------------------------
/Samples/C#/AlarmClockTest/AlarmClockTest.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.25420.1
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AlarmClockTest", "AlarmClockTest.csproj", "{D2D62728-48E1-46C3-BA5B-F5923B0326B8}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {D2D62728-48E1-46C3-BA5B-F5923B0326B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {D2D62728-48E1-46C3-BA5B-F5923B0326B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {D2D62728-48E1-46C3-BA5B-F5923B0326B8}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {D2D62728-48E1-46C3-BA5B-F5923B0326B8}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | EndGlobal
23 |
--------------------------------------------------------------------------------
/Samples/C#/AlarmClockTest/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Samples/C#/CalculatorTest/CalculatorTest.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.25420.0
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CalculatorTest", "CalculatorTest.csproj", "{B2C5ADFF-D6B5-48C1-BB8C-571BFD583D7F}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {B2C5ADFF-D6B5-48C1-BB8C-571BFD583D7F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {B2C5ADFF-D6B5-48C1-BB8C-571BFD583D7F}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {B2C5ADFF-D6B5-48C1-BB8C-571BFD583D7F}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {B2C5ADFF-D6B5-48C1-BB8C-571BFD583D7F}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | EndGlobal
23 |
--------------------------------------------------------------------------------
/Samples/C#/CalculatorTest/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Samples/C#/CortanaTest/CortanaTest.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.25420.0
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CortanaTest", "CortanaTest.csproj", "{56221B96-A146-4A17-BC9F-07838E8EEAC3}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {56221B96-A146-4A17-BC9F-07838E8EEAC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {56221B96-A146-4A17-BC9F-07838E8EEAC3}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {56221B96-A146-4A17-BC9F-07838E8EEAC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {56221B96-A146-4A17-BC9F-07838E8EEAC3}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | EndGlobal
23 |
--------------------------------------------------------------------------------
/Samples/C#/CortanaTest/README.md:
--------------------------------------------------------------------------------
1 | # CortanaTest
2 |
3 | CortanaTest is a sample test project that runs and validates basic UI scenarios on Windows 10 built-in **Cortana** application. This sample demonstrates the use of [Desktop Session](../../../README.md#creating-a-desktop-session) and [creation of a new session from a top level window](../../../README.md#attaching-to-an-existing-app-window). In this sample, the **Desktop Session** is used to launch and locate **Cortana** window which the **Cortana Session** will attach to.
4 |
5 | This test project highlights the following Windows Application Driver feature.
6 | - Attaching to an Existing App Window
7 | - Creating a Desktop Session
8 | - Sending system keyboard shortcut such as Windows Key + S
9 | - Sending keyboard input to a rich edit box
10 | - Finding element in Edge based WebView
11 |
12 |
13 | ## Requirements
14 |
15 | - Windows 10 PC with the latest Windows 10 version (Version 1809 or later)
16 | - Microsoft Visual Studio 2017 or later
17 |
18 |
19 | ## Getting Started
20 |
21 | 1. [Run](../../../README.md#installing-and-running-windows-application-driver) `WinAppDriver.exe` on the test device
22 | 2. Open `CortanaTest.sln` in Visual Studio
23 | 3. Select **Build** > **Rebuild Solution**
24 | 4. Select **Test** > **Windows** > **Test Explorer**
25 | 5. Select **Run All** on the test pane or through menu **Test** > **Run** > **All Tests**
26 |
27 | > Once the project is successfully built, you can use the **TestExplorer** to pick and choose the test scenario(s) to run
28 |
29 | ## Adding/Updating Test Scenario
30 |
31 | Please follow the guidelines below to maintain test reliability and conciseness:
32 | 1. Test all changes against all supported version of Windows 10 built-in **Cortana** app
33 | 2. Maintain simplicity and only add tests that provide additional value to the sample
34 |
--------------------------------------------------------------------------------
/Samples/C#/CortanaTest/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Samples/C#/NotepadAndCalculatorTest/NotepadCalculatorTest.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.29326.143
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NotepadCalculatorTest", "NotepadCalculatorTest.csproj", "{B2C5ADFF-D6B5-48C1-BB8C-571BFD583D7F}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {B2C5ADFF-D6B5-48C1-BB8C-571BFD583D7F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {B2C5ADFF-D6B5-48C1-BB8C-571BFD583D7F}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {B2C5ADFF-D6B5-48C1-BB8C-571BFD583D7F}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {B2C5ADFF-D6B5-48C1-BB8C-571BFD583D7F}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {993F4E37-F1F7-434A-BFF8-F767326C7654}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/Samples/C#/NotepadAndCalculatorTest/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Samples/C#/NotepadTest/NotepadTest.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.25420.0
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NotepadTest", "NotepadTest.csproj", "{54E36D90-BFBB-4F1A-945D-B7646F3AF88A}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {54E36D90-BFBB-4F1A-945D-B7646F3AF88A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {54E36D90-BFBB-4F1A-945D-B7646F3AF88A}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {54E36D90-BFBB-4F1A-945D-B7646F3AF88A}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {54E36D90-BFBB-4F1A-945D-B7646F3AF88A}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | EndGlobal
23 |
--------------------------------------------------------------------------------
/Samples/C#/NotepadTest/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("NotepadTest")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("NotepadTest")]
13 | [assembly: AssemblyCopyright("Copyright © 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("54e36d90-bfbb-4f1a-945d-b7646f3af88a")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Samples/C#/NotepadTest/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Samples/C#/Paint3DTest/Paint3DTest.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 15
4 | VisualStudioVersion = 15.0.27703.2035
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Paint3DTest", "Paint3DTest.csproj", "{98E13E3A-A110-4694-BFA7-3F4E8CC173A4}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {98E13E3A-A110-4694-BFA7-3F4E8CC173A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {98E13E3A-A110-4694-BFA7-3F4E8CC173A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {98E13E3A-A110-4694-BFA7-3F4E8CC173A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {98E13E3A-A110-4694-BFA7-3F4E8CC173A4}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {224533C9-3B8E-48D8-B7CD-940357E4EED6}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/Samples/C#/Paint3DTest/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | [assembly: AssemblyTitle("Paint3DTest")]
6 | [assembly: AssemblyDescription("")]
7 | [assembly: AssemblyConfiguration("")]
8 | [assembly: AssemblyCompany("")]
9 | [assembly: AssemblyProduct("Paint3DTest")]
10 | [assembly: AssemblyCopyright("Copyright © 2018")]
11 | [assembly: AssemblyTrademark("")]
12 | [assembly: AssemblyCulture("")]
13 |
14 | [assembly: ComVisible(false)]
15 |
16 | [assembly: Guid("98e13e3a-a110-4694-bfa7-3f4e8cc173a4")]
17 |
18 | // [assembly: AssemblyVersion("1.0.*")]
19 | [assembly: AssemblyVersion("1.0.0.0")]
20 | [assembly: AssemblyFileVersion("1.0.0.0")]
21 |
--------------------------------------------------------------------------------
/Samples/C#/Paint3DTest/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Samples/C#/PaintTest/PaintTest.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 15
4 | VisualStudioVersion = 15.0.27703.2035
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PaintTest", "PaintTest.csproj", "{75FD12B5-F371-4C03-8F60-439144865AF8}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {75FD12B5-F371-4C03-8F60-439144865AF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {75FD12B5-F371-4C03-8F60-439144865AF8}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {75FD12B5-F371-4C03-8F60-439144865AF8}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {75FD12B5-F371-4C03-8F60-439144865AF8}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {AF04FDF9-06D1-4320-BCE5-1DEED1DAF27F}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/Samples/C#/PaintTest/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | [assembly: AssemblyTitle("PaintTest")]
6 | [assembly: AssemblyDescription("")]
7 | [assembly: AssemblyConfiguration("")]
8 | [assembly: AssemblyCompany("")]
9 | [assembly: AssemblyProduct("PaintTest")]
10 | [assembly: AssemblyCopyright("Copyright © 2018")]
11 | [assembly: AssemblyTrademark("")]
12 | [assembly: AssemblyCulture("")]
13 |
14 | [assembly: ComVisible(false)]
15 |
16 | [assembly: Guid("75fd12b5-f371-4c03-8f60-439144865af8")]
17 |
18 | // [assembly: AssemblyVersion("1.0.*")]
19 | [assembly: AssemblyVersion("1.0.0.0")]
20 | [assembly: AssemblyFileVersion("1.0.0.0")]
21 |
--------------------------------------------------------------------------------
/Samples/C#/PaintTest/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Samples/C#/StickyNotesTest/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | //******************************************************************************
2 | //
3 | // Copyright (c) 2018 Microsoft Corporation. All rights reserved.
4 | //
5 | // This code is licensed under the MIT License (MIT).
6 | //
7 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
8 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
9 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
10 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
11 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
12 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
13 | // THE SOFTWARE.
14 | //
15 | //******************************************************************************
16 |
17 | using System.Reflection;
18 | using System.Runtime.CompilerServices;
19 | using System.Runtime.InteropServices;
20 |
21 | [assembly: AssemblyTitle("StickyNotesTest")]
22 | [assembly: AssemblyDescription("")]
23 | [assembly: AssemblyConfiguration("")]
24 | [assembly: AssemblyCompany("")]
25 | [assembly: AssemblyProduct("StickyNotesTest")]
26 | [assembly: AssemblyCopyright("Copyright © 2018 Microsoft Corporation")]
27 | [assembly: AssemblyTrademark("")]
28 | [assembly: AssemblyCulture("")]
29 |
30 | [assembly: ComVisible(false)]
31 |
32 | [assembly: Guid("9ed00387-c536-4ad7-9228-9fb87d3a2fd7")]
33 |
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Samples/C#/StickyNotesTest/StickyNotesTest.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 15
4 | VisualStudioVersion = 15.0.27130.2027
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StickyNotesTest", "StickyNotesTest.csproj", "{9ED00387-C536-4AD7-9228-9FB87D3A2FD7}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {9ED00387-C536-4AD7-9228-9FB87D3A2FD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {9ED00387-C536-4AD7-9228-9FB87D3A2FD7}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {9ED00387-C536-4AD7-9228-9FB87D3A2FD7}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {9ED00387-C536-4AD7-9228-9FB87D3A2FD7}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {CB5C6371-2720-46EF-9125-DA145F5DD82F}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/Samples/C#/StickyNotesTest/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Samples/Java/.idea/Java.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Samples/Java/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Samples/Java/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__cglib_cglib_3_2_4.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__cglib_cglib_nodep_3_2_4.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__com_codeborne_phantomjsdriver_1_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__com_google_code_gson_gson_2_8_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__com_google_guava_guava_21_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_9_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__commons_codec_commons_codec_1_9.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__commons_collections_commons_collections_3_2_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__commons_digester_commons_digester_1_8_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__commons_io_commons_io_2_5.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__commons_validator_commons_validator_1_5_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__io_appium_java_client_5_0_0_BETA6.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__junit_junit_4_11.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__net_java_dev_jna_jna_4_1_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__net_java_dev_jna_jna_platform_4_1_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__net_sourceforge_cssparser_cssparser_0_9_21.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__net_sourceforge_htmlunit_htmlunit_2_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__net_sourceforge_htmlunit_htmlunit_core_js_2_23.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__net_sourceforge_htmlunit_neko_htmlunit_2_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_apache_ant_ant_1_9_6.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_apache_ant_ant_launcher_1_9_6.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_apache_commons_commons_exec_1_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_5.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_4.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_apache_httpcomponents_httpmime_4_5_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_10.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_eclipse_jetty_jetty_io_9_2_20_v20161216.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_eclipse_jetty_jetty_util_9_2_20_v20161216.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_api_9_2_20_v20161216.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_client_9_2_20_v20161216.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_common_9_2_20_v20161216.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_ow2_asm_asm_5_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_seleniumhq_selenium_htmlunit_driver_2_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_api_3_3_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_chrome_driver_3_3_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_edge_driver_3_3_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_firefox_driver_3_3_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_ie_driver_3_3_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_java_3_3_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_opera_driver_3_3_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_remote_driver_3_3_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_seleniumhq_selenium_selenium_safari_driver_3_3_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_springframework_spring_aop_4_3_5_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_springframework_spring_beans_4_3_5_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_springframework_spring_context_4_3_5_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_springframework_spring_core_4_3_5_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_springframework_spring_expression_4_3_5_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__org_w3c_css_sac_1_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__xalan_serializer_2_7_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__xalan_xalan_2_7_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__xerces_xercesImpl_2_11_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/libraries/Maven__xml_apis_xml_apis_1_4_01.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 4.0.0
6 |
7 | CalculatorTest
8 | CalculatorTest
9 | 1.0-SNAPSHOT
10 |
11 |
12 |
13 | org.seleniumhq.selenium
14 | selenium-java
15 | 3.3.1
16 |
17 |
18 | junit
19 | junit
20 | 4.11
21 |
22 |
23 | io.appium
24 | java-client
25 | 5.0.0
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/Samples/Java/CalculatorTest/target/test-classes/CalculatorTest.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/Samples/Java/CalculatorTest/target/test-classes/CalculatorTest.class
--------------------------------------------------------------------------------
/Samples/JavaScript/.ado/templates/buildTestApp.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - task: NuGetToolInstaller@0
3 | displayName: 'Use NuGet 4.4.1'
4 | inputs:
5 | versionSpec: 4.4.1
6 |
7 | - task: NuGetCommand@2
8 | displayName: 'NuGet restore'
9 | inputs:
10 | restoreSolution: ApplicationUnderTests/Xaml-Controls-Gallery/XamlControlsGallery/XamlControlsGallery.sln
11 | - task: VSBuild@1
12 | displayName: 'Build solution ApplicationUnderTests/XamlControlsGallery/XamlControlsGallery.sln'
13 | inputs:
14 | solution: ApplicationUnderTests/Xaml-Controls-Gallery/XamlControlsGallery/XamlControlsGallery.sln
15 | msbuildArgs: '/p:Configuration=Deploy /p:AppxPackageDir="$(Build.ArtifactStagingDirectory)\\" /p:UapAppxPackageBuildMode=CI/p:AppxBundlePlatforms="x86" /p:AppxBundle=Always'
16 | platform: x86
17 | configuration: Release
--------------------------------------------------------------------------------
/Samples/JavaScript/.ado/templates/deployTestApp.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - task: PowerShell@1
3 | displayName: 'Install Xaml Controls Cert'
4 | inputs:
5 | scriptType: inlineScript
6 | arguments: '-NonInteractive -Verb RunAs'
7 | inlineScript: |
8 | $file = ( Get-ChildItem -Path $(Build.ArtifactStagingDirectory)\XamlControlsGallery_$(PackageManifest)_Test\XamlControlsGallery_$(PackageManifest)_x86.cer )
9 | $file | Import-Certificate -CertStoreLocation cert:\LocalMachine\Root
10 |
11 | - task: PowerShell@1
12 | displayName: 'Install XAML Appx Packages'
13 | inputs:
14 | scriptName: '$(Build.ArtifactStagingDirectory)\XamlControlsGallery_$(PackageManifest)_Test\Add-AppDevPackage.ps1'
15 | arguments: '-NonInteractive -Force:$true -Verb RunAs'
--------------------------------------------------------------------------------
/Samples/JavaScript/.gitignore:
--------------------------------------------------------------------------------
1 | */node_modules
2 | # Reports section
3 | packages/webdriverio/reports
4 | .vscode
5 | node_modules
6 |
--------------------------------------------------------------------------------
/Samples/JavaScript/lerna.json:
--------------------------------------------------------------------------------
1 | {
2 | "packages": [
3 | "packages/*"
4 | ],
5 | "version": "0.0.0"
6 | }
7 |
--------------------------------------------------------------------------------
/Samples/JavaScript/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "winappdriver-js-webdriver-example-repo",
3 | "version": "0.0.1",
4 | "private": true,
5 | "scripts": {
6 | },
7 | "repository": {
8 | "type": "git",
9 | "url": "git@github.com:Microsoft/WinAppDriver.git"
10 | },
11 | "license": "MIT",
12 | "workspaces": {
13 | "packages": [
14 | "packages/*"
15 | ]
16 | },
17 | "devDependencies": {
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Samples/JavaScript/packages/selenium-webdriver/Pages/BasicInputPage.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Microsoft Corporation. All rights reserved.
3 | * Licensed under the MIT License.
4 | */
5 |
6 | import { PageObject, By2 } from "selenium-appium";
7 |
8 | class BasicInputPage extends PageObject {
9 | isPageLoaded() {
10 | return this.checkBoxButton.isDisplayed();
11 | }
12 |
13 | private get checkBoxButton() { return By2.nativeName('CheckBox'); }
14 | private get buttonButton() { return By2.nativeName('Button'); }
15 |
16 | gotoButtonPage() {
17 | return this.buttonButton.click();
18 | }
19 |
20 | gotoCheckboxPage() {
21 | return this.checkBoxButton.click();
22 | }
23 | }
24 |
25 | export default new BasicInputPage();
--------------------------------------------------------------------------------
/Samples/JavaScript/packages/selenium-webdriver/Pages/ButtonPage.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Microsoft Corporation. All rights reserved.
3 | * Licensed under the MIT License.
4 | */
5 |
6 | import { PageObject, By2 } from "selenium-appium";
7 |
8 | class ButtonPage extends PageObject {
9 | isPageLoaded() {
10 | return this.button1Button.isDisplayed();
11 | }
12 |
13 | private get button1Button() { return By2.nativeAccessibilityId('Button1'); }
14 | private get control1Ooutput() { return By2.nativeAccessibilityId('Control1Output');}
15 |
16 | clickButton1() {
17 | return this.button1Button.click();
18 | }
19 |
20 | getControl1Output() {
21 | return this.control1Ooutput.getText();
22 | }
23 | }
24 |
25 | export default new ButtonPage();
--------------------------------------------------------------------------------
/Samples/JavaScript/packages/selenium-webdriver/Pages/CheckBoxPage.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Microsoft Corporation. All rights reserved.
3 | * Licensed under the MIT License.
4 | */
5 |
6 | import { PageObject, By2 } from "selenium-appium";
7 |
8 | class CheckBoxPage extends PageObject {
9 | isPageLoaded() {
10 | return this.checkbox1Button.isDisplayed();
11 | }
12 |
13 | private get checkbox1Button() { return By2.nativeName('Two-state CheckBox'); }
14 | private get control1Ooutput() { return By2.nativeAccessibilityId('Control1Output');}
15 |
16 | clickCheckbox1() {
17 | return this.checkbox1Button.click();
18 | }
19 |
20 | getControl1Output() {
21 | return this.control1Ooutput.getText();
22 | }
23 | }
24 |
25 | export default new CheckBoxPage();
--------------------------------------------------------------------------------
/Samples/JavaScript/packages/selenium-webdriver/Pages/HomePage.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Microsoft Corporation. All rights reserved.
3 | * Licensed under the MIT License.
4 | */
5 |
6 | import { PageObject, By2 } from "selenium-appium";
7 |
8 | class HomePage extends PageObject {
9 | isPageLoaded() {
10 | return this.basicInputButton.isDisplayed();
11 | }
12 | private get basicInputButton() { return By2.nativeName('Basic Input'); }
13 |
14 | gotoBasicInputPage() {
15 | return this.basicInputButton.click();
16 | }
17 | }
18 |
19 | export default new HomePage();
--------------------------------------------------------------------------------
/Samples/JavaScript/packages/selenium-webdriver/README.md:
--------------------------------------------------------------------------------
1 | ## Example with selenium-webdriver
2 | Make sure [Dependencies](../../README.md)
3 |
4 | 1. goto selenium-webdriver project
5 | 2. start appium
6 |
7 | `yarn run appium` or `npm run appium`
8 |
9 | expect output
10 | ```
11 | [Appium] Welcome to Appium v1.14.1
12 | [Appium] Appium REST http interface listener started on 0.0.0.0:4723
13 | ```
14 |
15 | 3. run jest test
16 |
17 | `yarn run jest` or `npm run jest`
18 |
--------------------------------------------------------------------------------
/Samples/JavaScript/packages/selenium-webdriver/__tests__/samples.test.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Microsoft Corporation. All rights reserved.
3 | * Licensed under the MIT License.
4 | */
5 |
6 | import { driver, By2, windowsAppDriverCapabilities } from 'selenium-appium'
7 | import HomePage from '../Pages/HomePage';
8 | import BasicInputPage from '../Pages/BasicInputPage';
9 | import ButtonPage from '../Pages/ButtonPage';
10 | import CheckBoxPage from '../Pages/CheckBoxPage';
11 |
12 | jest.setTimeout(50000);
13 |
14 | const appId = 'Microsoft.XAMLControlsGallery_8wekyb3d8bbwe!App'
15 | const capabilites = windowsAppDriverCapabilities(appId)
16 |
17 | beforeAll(() => {
18 | return driver.startWithCapabilities(capabilites);
19 | });
20 |
21 | afterAll(() => {
22 | return driver.quit();
23 | });
24 |
25 | describe('Samples', () => {
26 | beforeEach(async ()=> {
27 | await HomePage.gotoBasicInputPage();
28 | await BasicInputPage.waitForPageLoaded();
29 | })
30 |
31 | test('ButtonPage', async () => {
32 | await BasicInputPage.gotoButtonPage();
33 | await ButtonPage.waitForPageLoaded();
34 |
35 | await ButtonPage.clickButton1();
36 | expect(await ButtonPage.getControl1Output()).toBe('You clicked: Button1');
37 | });
38 |
39 | test('checkboxPage', async () => {
40 |
41 | await BasicInputPage.gotoCheckboxPage();
42 | await CheckBoxPage.waitForPageLoaded();
43 |
44 | await CheckBoxPage.clickCheckbox1();
45 | expect(await CheckBoxPage.getControl1Output()).toBe('You checked the box.');
46 | });
47 | });
--------------------------------------------------------------------------------
/Samples/JavaScript/packages/selenium-webdriver/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | [
4 | '@babel/preset-env',
5 | {
6 | targets: {
7 | node: 'current',
8 | },
9 | },
10 | ], '@babel/preset-typescript',
11 | ],
12 | };
--------------------------------------------------------------------------------
/Samples/JavaScript/packages/selenium-webdriver/jest.config.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/Samples/JavaScript/packages/selenium-webdriver/jest.config.js
--------------------------------------------------------------------------------
/Samples/JavaScript/packages/selenium-webdriver/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "example",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "appium": "appium",
8 | "jest": "jest --maxWorkers=1"
9 | },
10 | "keywords": [],
11 | "author": "Canhua Li (https://github.com/licanhua)",
12 | "license": "ISC",
13 | "devDependencies": {
14 | "@types/jest": "^24.0.17",
15 | "@babel/core": "^7.5.5",
16 | "@babel/preset-env": "^7.5.5",
17 | "@babel/preset-typescript": "^7.3.3",
18 | "@types/selenium-webdriver": "^4.0.1",
19 | "babel-jest": "^24.8.0",
20 | "jest": "^24.8.0",
21 | "selenium-appium": "^0.0.15",
22 | "selenium-webdriver": "^4.0.0-alpha.4",
23 | "typescript": "^3.5.3",
24 | "appium": "1.15.0",
25 | "jest-junit-reporter": "1.1.0"
26 | },
27 | "jest": {
28 | "testResultsProcessor": "./node_modules/jest-junit-reporter"
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/Samples/JavaScript/packages/webdriverio/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "useTabs": true,
3 | "printWidth": 80,
4 | "tabWidth": 2,
5 | "singleQuote": true,
6 | "trailingComma": "es5"
7 | }
--------------------------------------------------------------------------------
/Samples/JavaScript/packages/webdriverio/README.md:
--------------------------------------------------------------------------------
1 | ## Example with webdriverio
2 | Make sure [Dependencies](../../README.md)
3 |
4 | ### By launching WinAppDriver automatically
5 | 1. Launch the test
6 | ```
7 | yarn run testappium
8 | ```
9 |
10 | ### By launching WinAppDriver manually
11 | 1. Start WinAppDriver and listen on 4723/wd/hub
12 | ```
13 | cd C:\Program Files (x86)\Windows Application Driver
14 | c:
15 | WinAppDriver.exe 127.0.0.1 4723/wd/hub
16 | ```
17 | And the output is like this:
18 | ```
19 | Windows Application Driver listening for requests at: http://127.0.0.1:4723/wd/hub
20 | Press ENTER to exit.
21 | ```
22 |
23 | or
24 | ```
25 | yarn run appium
26 | ```
27 | 2. Launch the test
28 | ```
29 | yarn run test
30 | ```
--------------------------------------------------------------------------------
/Samples/JavaScript/packages/webdriverio/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "e2e",
3 | "version": "1.0.0",
4 | "description": "e2e test",
5 | "main": "index",
6 | "scripts": {
7 | "prettier": "prettier --write --loglevel warn \"**/**/*.ts\"",
8 | "testappium": "rimraf reports/* && npm run prettier && wdio",
9 | "test": "rimraf reports/* && npm run prettier && wdio wdio.conf.winappdriver.js",
10 | "appium": "appium"
11 | },
12 | "devDependencies": {
13 | "@wdio/appium-service": "^5.12.1",
14 | "@types/jasmine": "^3.4.1",
15 | "@types/node": "^12.7.5",
16 | "@wdio/cli": "^5.10.1",
17 | "@wdio/local-runner": "^5.10.1",
18 | "@wdio/jasmine-framework": "^5.12.1",
19 | "@wdio/junit-reporter": "^5.12.1",
20 | "@wdio/sync": "^5.10.1",
21 | "@wdio/dot-reporter": "5.13.2",
22 | "webdriver": "git+https://github.com/react-native-windows/webdriver.git",
23 | "webdriverio": "^5.13.1",
24 | "prettier": "^1.18.2",
25 | "ts-node": "^8.4.1",
26 | "tsconfig-paths": "^3.8.0",
27 | "typescript": "^3.5.1",
28 | "appium": "1.15.0",
29 | "rimraf": "3.0.0"
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/Samples/JavaScript/packages/webdriverio/pages/BasePage.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Microsoft Corporation. All rights reserved.
3 | * Licensed under the MIT License.
4 | */
5 |
6 | export class BasePage {
7 | isPageLoaded(): boolean {
8 | return false;
9 | }
10 |
11 | waitForPageLoaded(timeout?: number) {
12 | browser.waitUntil(
13 | () => {
14 | return this.isPageLoaded();
15 | },
16 | this.timeoutForPageLoaded(timeout),
17 | 'Wait for page ' + this.constructor.name + ' timeout'
18 | );
19 | }
20 |
21 | protected timeoutForPageLoaded(currentTimeout?: number) {
22 | if (currentTimeout) return currentTimeout;
23 | return this.waitforPageTimeout;
24 | }
25 |
26 | // Default timeout for waitForPageLoaded command in PageObject
27 | private waitforPageTimeout: number = 10000;
28 | }
29 |
30 | export class By2 {
31 | static nativeAccessibilityId(testId: string): WebdriverIO.Element {
32 | return $('~' + testId);
33 | }
34 |
35 | static nativeName(name: string): WebdriverIO.Element {
36 | return $("[name='" + name + "']");
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Samples/JavaScript/packages/webdriverio/pages/BasicInputPage.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Microsoft Corporation. All rights reserved.
3 | * Licensed under the MIT License.
4 | */
5 |
6 | import { BasePage, By2 } from './BasePage';
7 |
8 | class BasicInputPage extends BasePage {
9 | isPageLoaded() {
10 | return this.checkBoxButton.isDisplayed();
11 | }
12 |
13 | private get checkBoxButton() {
14 | return By2.nativeName('CheckBox');
15 | }
16 | private get buttonButton() {
17 | return By2.nativeName('Button');
18 | }
19 |
20 | gotoButtonPage() {
21 | return this.buttonButton.click();
22 | }
23 |
24 | gotoCheckboxPage() {
25 | return this.checkBoxButton.click();
26 | }
27 | }
28 |
29 | export default new BasicInputPage();
30 |
--------------------------------------------------------------------------------
/Samples/JavaScript/packages/webdriverio/pages/ButtonPage.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Microsoft Corporation. All rights reserved.
3 | * Licensed under the MIT License.
4 | */
5 |
6 | import { BasePage, By2 } from './BasePage';
7 |
8 | class ButtonPage extends BasePage {
9 | isPageLoaded() {
10 | return this.button1Button.isDisplayed();
11 | }
12 |
13 | private get button1Button() {
14 | return By2.nativeAccessibilityId('Button1');
15 | }
16 | private get control1Ooutput() {
17 | return By2.nativeAccessibilityId('Control1Output');
18 | }
19 |
20 | clickButton1() {
21 | return this.button1Button.click();
22 | }
23 |
24 | getControl1Output() {
25 | return this.control1Ooutput.getText();
26 | }
27 | }
28 |
29 | export default new ButtonPage();
30 |
--------------------------------------------------------------------------------
/Samples/JavaScript/packages/webdriverio/pages/CheckBoxPage.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Microsoft Corporation. All rights reserved.
3 | * Licensed under the MIT License.
4 | */
5 |
6 | import { BasePage, By2 } from './BasePage';
7 |
8 | class CheckBoxPage extends BasePage {
9 | isPageLoaded() {
10 | return this.checkbox1Button.isDisplayed();
11 | }
12 |
13 | private get checkbox1Button() {
14 | return By2.nativeName('Two-state CheckBox');
15 | }
16 | private get control1Ooutput() {
17 | return By2.nativeAccessibilityId('Control1Output');
18 | }
19 |
20 | clickCheckbox1() {
21 | return this.checkbox1Button.click();
22 | }
23 |
24 | getControl1Output() {
25 | return this.control1Ooutput.getText();
26 | }
27 | }
28 |
29 | export default new CheckBoxPage();
30 |
--------------------------------------------------------------------------------
/Samples/JavaScript/packages/webdriverio/pages/HomePage.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Microsoft Corporation. All rights reserved.
3 | * Licensed under the MIT License.
4 | */
5 |
6 | import { BasePage, By2 } from './BasePage';
7 |
8 | class HomePage extends BasePage {
9 | isPageLoaded() {
10 | return this.basicInputButton.isDisplayed();
11 | }
12 |
13 | private get basicInputButton() {
14 | return By2.nativeName('Basic Input');
15 | }
16 |
17 | gotoBasicInputPage() {
18 | return this.basicInputButton.click();
19 | }
20 | }
21 | export default new HomePage();
22 |
--------------------------------------------------------------------------------
/Samples/JavaScript/packages/webdriverio/test/samples.spec.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Microsoft Corporation. All rights reserved.
3 | * Licensed under the MIT License.
4 | */
5 |
6 | import assert from 'assert';
7 | import HomePage from '../pages/HomePage';
8 | import BasicInputPage from '../pages/BasicInputPage';
9 | import ButtonPage from '../pages/ButtonPage';
10 | import CheckBoxPage from '../pages/CheckBoxPage';
11 |
12 | describe('Samples', () => {
13 | beforeEach(() => {
14 | HomePage.gotoBasicInputPage();
15 | BasicInputPage.waitForPageLoaded();
16 | });
17 |
18 | it('ButtonPage', () => {
19 | BasicInputPage.gotoButtonPage();
20 | ButtonPage.waitForPageLoaded();
21 |
22 | ButtonPage.clickButton1();
23 | assert.equal(ButtonPage.getControl1Output(), 'You clicked: Button1');
24 | });
25 |
26 | it('checkboxPage', () => {
27 | BasicInputPage.gotoCheckboxPage();
28 | CheckBoxPage.waitForPageLoaded();
29 |
30 | CheckBoxPage.clickCheckbox1();
31 | assert.equal(CheckBoxPage.getControl1Output(), 'You checked the box.');
32 | });
33 | });
34 |
--------------------------------------------------------------------------------
/Samples/JavaScript/packages/webdriverio/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "target": "es6",
5 | "module": "commonjs",
6 | "jsx": "react",
7 | "outDir": "dist",
8 | "declaration": true,
9 | "sourceMap": true,
10 | "noEmitOnError": true,
11 | "skipLibCheck": true,
12 | "moduleResolution": "node",
13 | "noEmit": true,
14 | "noUnusedLocals": true,
15 | "strict": true,
16 | "rootDir": ".",
17 | "esModuleInterop": true,
18 | "types": [
19 | "@wdio/sync",
20 | "@wdio/jasmine-framework",
21 | "@types/jasmine",
22 | "node"
23 | ]
24 | },
25 | "include": [
26 | "pages",
27 | "test"
28 | ],
29 | "exclude": [
30 | "node_modules"
31 | ]
32 | }
--------------------------------------------------------------------------------
/Samples/Python/README.md:
--------------------------------------------------------------------------------
1 | # CalculatorTest
2 |
3 | CalculatorTest is a sample test project that runs and validates basic UI scenarios on Windows 10 built-in **Calculator** application. This sample is created as the most basic test project to quickly try out Windows Application Driver.
4 |
5 | This test project highlights the following basic interactions to demonstrate how you can write UI tests in Python which run with Windows Application Driver.
6 | - Creating a modern UWP app session
7 | - Finding element using name
8 | - Finding element using accessibility id
9 | - Sending click action to an element
10 | - Retrieving element value
11 |
12 | ## Requirements
13 |
14 | - Windows 10 PC with the latest Windows 10 version (Version 1607 or later)
15 | - Python v2.7 or higher
16 | - Use Python package manager (PIP) to install the following dependencies
17 | - Appium-Python-Client (tested version 0.24)
18 | - selenium (tested version 3.5.0)
19 | - setuptools (tested version 28.8.0)
20 | - Recommend an IDE for editing/debuggin a Python project such as Visual Studio Code
21 |
22 | ## Getting Started
23 |
24 | 1. Open a Command Prompt and run WinAppDriver.exe (in C:\Program Files (86)\Windows Application Driver)
25 | 1. Open another Command Prompt and browse to this Sample directory
26 | 2. type **python calculatortest.py**
27 |
28 | ## Adding/Updating Test Scenario
29 |
30 | Please follow the guidelines below to maintain test reliability and conciseness:
31 | 1. Test all changes against all supported version of Windows 10 built-in **Calculator** app
32 | 2. Maintain simplicity and only add tests that provide additional value to the sample
33 |
--------------------------------------------------------------------------------
/Samples/Ruby/features/support/env.rb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/Samples/Ruby/features/support/env.rb
--------------------------------------------------------------------------------
/Samples/Ruby/features/support/hooks.rb:
--------------------------------------------------------------------------------
1 | Before do |scenario|
2 | # The +scenario+ argument is optional, but if you use it, you can get the title,
3 | # description, or name (title + description) of the scenario that is about to be
4 | # executed.
5 | name = "#{scenario.name}"
6 | end
7 |
8 | After do |scenario|
9 | # Do something after each scenario.
10 | # The +scenario+ argument is optional, but
11 | # if you use it, you can inspect status with
12 | # the #failed?, #passed? and #exception methods.
13 | $CalculatorSession.quit
14 |
15 | if scenario.failed?
16 | reason = "#{scenario.exception.message}"
17 | print reason
18 | end
19 | end
20 |
--------------------------------------------------------------------------------
/Samples/custom.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Samples\$(MSBuildProjectName)
5 |
6 |
--------------------------------------------------------------------------------
/Tests/AbsoluteXPath/AbsoluteXPath.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 15
4 | VisualStudioVersion = 15.0.28307.329
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AbsoluteXPath", "AbsoluteXPath.csproj", "{971BE3D2-1EFF-4660-A8A8-C1A52966572C}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {971BE3D2-1EFF-4660-A8A8-C1A52966572C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {971BE3D2-1EFF-4660-A8A8-C1A52966572C}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {971BE3D2-1EFF-4660-A8A8-C1A52966572C}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {971BE3D2-1EFF-4660-A8A8-C1A52966572C}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {4E2EBE62-05BC-42C6-8002-CB40A0D39472}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/Tests/AbsoluteXPath/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | [assembly: AssemblyTitle("AbsoluteXPath")]
6 | [assembly: AssemblyDescription("")]
7 | [assembly: AssemblyConfiguration("")]
8 | [assembly: AssemblyCompany("")]
9 | [assembly: AssemblyProduct("AbsoluteXPath")]
10 | [assembly: AssemblyCopyright("Copyright © 2019")]
11 | [assembly: AssemblyTrademark("")]
12 | [assembly: AssemblyCulture("")]
13 |
14 | [assembly: ComVisible(false)]
15 |
16 | [assembly: Guid("971be3d2-1eff-4660-a8a8-c1a52966572c")]
17 |
18 | // [assembly: AssemblyVersion("1.0.*")]
19 | [assembly: AssemblyVersion("1.0.0.0")]
20 | [assembly: AssemblyFileVersion("1.0.0.0")]
21 |
--------------------------------------------------------------------------------
/Tests/AbsoluteXPath/README.md:
--------------------------------------------------------------------------------
1 | # AbsoluteXPath
2 |
3 | AbsoluteXPath is a sample test project that demonstrates how UIRecorder generated xpaths are used to find target elements. You can use this as a template for writing your test project.
4 |
5 | This test project highlights some common interactions below that can be put together to perform and verify various UI scenario on a modern app.
6 | - Sending click action to an element
7 | - Sending keyboard input to a text box
8 |
9 | ## Requirements
10 |
11 | - Windows 10 PC with the latest Windows 10 version (Version 1607 or later)
12 | - Microsoft Visual Studio 2015 or later
13 |
14 | ## Getting Started
15 |
16 | 1. Open `AlarmClockTest.sln` in Visual Studio
17 | 2. Select **Test** > **Windows** > **Test Explorer**
18 | 3. Select **Run All** on the test pane or through menu **Test** > **Run** > **All Tests**
19 |
20 | > Once the project is successfully built, you can use the **TestExplorer** to pick and choose the test scenario(s) to run
21 |
22 |
23 | ## Adding/Updating Test Scenario
24 |
25 | Please follow the guidelines below to maintain test reliability and conciseness:
26 | 1. Group test methods based on the UI view page such as Alarm, Stopwatch, Timer, etc.
27 | 2. Maintain original state after test runs and keep clean state in between tests when possible
28 | 3. Only add tests that provide additional value to the sample
29 |
--------------------------------------------------------------------------------
/Tests/AbsoluteXPath/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Tests/Input/Input.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.25420.1
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Input", "Input.csproj", "{E0FC5C2C-3C64-4542-A0DB-DC8059948619}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {E0FC5C2C-3C64-4542-A0DB-DC8059948619}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {E0FC5C2C-3C64-4542-A0DB-DC8059948619}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {E0FC5C2C-3C64-4542-A0DB-DC8059948619}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {E0FC5C2C-3C64-4542-A0DB-DC8059948619}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | EndGlobal
23 |
--------------------------------------------------------------------------------
/Tests/Input/README.md:
--------------------------------------------------------------------------------
1 | # Input
2 |
3 | Input is a collection of test scenarios that covers various input methods such as swipe and pinch multitouch gesture.
4 |
5 | The test scenarios are written against [Input](../../ApplicationUnderTests/Input) application that logs the input event received by the target element.. This application needs to be installed once in the machine you are running your test. Follow the instruction on the application [README](../../ApplicationUnderTests/Input/README.md).
6 |
7 |
8 | ## Requirements
9 |
10 | - Windows 10 PC with the latest Windows 10 version (Version 1607 or later)
11 | - Microsoft Visual Studio 2015 or later
12 | - [Input](../../ApplicationUnderTests/Input) application
13 |
14 |
15 | ## Getting Started
16 |
17 | 1. Open `Input.sln` in Visual Studio
18 | 2. Select **Test** > **Windows** > **Test Explorer**
19 | 3. Select **Run All** on the test pane or through menu **Test** > **Run** > **All Tests**
20 |
21 | > Once the project is successfully built, you can use the **TestExplorer** to pick and choose the test scenario(s) to run
22 |
--------------------------------------------------------------------------------
/Tests/Input/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Tests/Input/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Tests/README.md:
--------------------------------------------------------------------------------
1 | # Windows Application Driver Tests
2 |
3 | The following tests are used to verify Windows Application Driver functionality across JSON Wire Protocol API, basic UI controls, and input interactions.
4 |
5 | | Test | Description |
6 | |----------------------------------- |----------------------------------------------- |
7 | | [WebDriverAPI](./WebDriverAPI/) | Tests all supported JSON Wire Protocol API |
8 | | [UWPControls ](./UWPControls/) | Tests various Universal Windows UI Controls |
9 | | [Input ](./Input/) | Tests various input interactions |
10 |
--------------------------------------------------------------------------------
/Tests/UWPControls/UWPControls.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.25420.1
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UWPControls", "UWPControls.csproj", "{0DFB274B-8D24-401B-949B-51493EE6FD12}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {0DFB274B-8D24-401B-949B-51493EE6FD12}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {0DFB274B-8D24-401B-949B-51493EE6FD12}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {0DFB274B-8D24-401B-949B-51493EE6FD12}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {0DFB274B-8D24-401B-949B-51493EE6FD12}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | EndGlobal
23 |
--------------------------------------------------------------------------------
/Tests/UWPControls/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Tests/WebDriverAPI/Location.cs:
--------------------------------------------------------------------------------
1 | //******************************************************************************
2 | //
3 | // Copyright (c) 2016 Microsoft Corporation. All rights reserved.
4 | //
5 | // This code is licensed under the MIT License (MIT).
6 | //
7 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
8 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
9 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
10 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
11 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
12 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
13 | // THE SOFTWARE.
14 | //
15 | //******************************************************************************
16 |
17 | using Microsoft.VisualStudio.TestTools.UnitTesting;
18 |
19 | namespace WebDriverAPI
20 | {
21 | [TestClass]
22 | public class Location : AlarmClockBase
23 | {
24 | [ClassInitialize]
25 | public static void ClassInitialize(TestContext context)
26 | {
27 | Setup(context);
28 | }
29 |
30 | [ClassCleanup]
31 | public static void ClassCleanup()
32 | {
33 | TearDown();
34 | }
35 |
36 | [TestMethod]
37 | public void GetLocation()
38 | {
39 | OpenQA.Selenium.Appium.Location geoLocation = session.Location;
40 | Assert.IsNotNull(geoLocation.Altitude);
41 | Assert.IsNotNull(geoLocation.Latitude);
42 | Assert.IsNotNull(geoLocation.Longitude);
43 | Assert.IsTrue(System.Math.Abs(geoLocation.Latitude) <= 90);
44 | Assert.IsTrue(System.Math.Abs(geoLocation.Longitude) <= 180);
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/Tests/WebDriverAPI/WebDriverAPI.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.25420.1
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriverAPI", "WebDriverAPI.csproj", "{81529391-98A1-478C-98A2-E59A2E826796}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {81529391-98A1-478C-98A2-E59A2E826796}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {81529391-98A1-478C-98A2-E59A2E826796}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {81529391-98A1-478C-98A2-E59A2E826796}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {81529391-98A1-478C-98A2-E59A2E826796}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | EndGlobal
23 |
--------------------------------------------------------------------------------
/Tests/WebDriverAPI/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Tests/custom.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Tests\$(MSBuildProjectName)
5 |
6 |
--------------------------------------------------------------------------------
/Tools/UIRecorder/README.md:
--------------------------------------------------------------------------------
1 | # WinAppDriver UI Recorder Tool
2 |
3 | This tool allows UI element inspection and generates an XPath query to the element. More information can be found on the [wiki](https://github.com/Microsoft/WinAppDriver/wiki/WinAppDriver-UI-Recorder).
4 |
5 |
6 | ## Requirements
7 |
8 | - Windows 10 PC with the latest Windows 10 version (Version 1607 or later)
9 | - Microsoft Visual Studio 2017 or later
10 |
11 |
12 | ## Getting Started
13 |
14 | 1. Open `WinAppDriverUIRecorder.sln` in Visual Studio
15 | 2. Select **Debug** > **Start Debugging** or simply **Run**
16 |
--------------------------------------------------------------------------------
/Tools/UIRecorder/SignConfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Tools/UIRecorder/UIRecorder/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Tools/UIRecorder/UIRecorder/App.xaml:
--------------------------------------------------------------------------------
1 |
12 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Tools/UIRecorder/UIRecorder/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace WinAppDriverUIRecorder.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.7.0.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Tools/UIRecorder/UIRecorder/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Tools/UIRecorder/UIRecorder/Resource/copy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/Tools/UIRecorder/UIRecorder/Resource/copy.png
--------------------------------------------------------------------------------
/Tools/UIRecorder/UIRecorder/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Tools/UIRecorder/UIRecorderTemplate/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Tools/UIRecorder/UIRecorderTemplate/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("UIXPathLib")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("UIXPathLib")]
13 | [assembly: AssemblyCopyright("Copyright © 2018")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("4cce44fd-c27a-4cea-a703-3775964ae1d4")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Tools/UIRecorder/UIRecorderTemplate/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Tools/UIRecorder/UIXPathLib/UiXPathLib.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/Tools/UIRecorder/UIXPathLib/UiXPathLib.cpp
--------------------------------------------------------------------------------
/Tools/UIRecorder/UIXPathLib/UiXPathLib.def:
--------------------------------------------------------------------------------
1 | LIBRARY
2 | EXPORTS
3 | SetWindowsHookExNative PRIVATE
4 | UninitializeHook PRIVATE
5 | InitUiTreeWalk PRIVATE
6 | UnInitUiTreeWalk PRIVATE
7 | GetUiXPath PRIVATE
8 | HighlightCachedUI PRIVATE
--------------------------------------------------------------------------------
/Tools/UIRecorder/UIXPathLib/dllmain.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/Tools/UIRecorder/UIXPathLib/dllmain.cpp
--------------------------------------------------------------------------------
/Tools/UIRecorder/UIXPathLib/stdafx.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/Tools/UIRecorder/UIXPathLib/stdafx.cpp
--------------------------------------------------------------------------------
/Tools/UIRecorder/UIXPathLib/stdafx.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/Tools/UIRecorder/UIXPathLib/stdafx.h
--------------------------------------------------------------------------------
/Tools/UIRecorder/UIXPathLib/targetver.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/Tools/UIRecorder/UIXPathLib/targetver.h
--------------------------------------------------------------------------------
/Tools/UIRecorder/custom.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 1
6 | 0
7 | WinAppDriver
8 |
9 |
--------------------------------------------------------------------------------
/WinAppDriver.pfx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/WinAppDriver/09e3f7111eb2fae2b4eff0ab058cc7a5dbc14d02/WinAppDriver.pfx
--------------------------------------------------------------------------------