Awesome
DEPRECATION
Please use https://github.com/2gis/Winium.Mobile for latests releases of Silverlight auotmation. Use https://www.nuget.org/packages/Winium.Silverlight.InnerServer/ package instead of WindowsPhoneDriver.InnerDriver.
This repository is no longer maintained. Code from this repository has been merged into Winium.Mobile project. Any new issues, pull requests, bug fixes, etc should be created in https://github.com/2gis/Winium.Mobile from now on.
Windows Phone Driver
Selenium Driver for automated testing of Windows Phone 8.1 Silverlight applications. For automated testing of Universal Apps see Windows Universal App Driver.
This repository hosts the code for the Windows Phone driver. You can use it for testing of native Windows Phone 8.1 applications. Currently it implements only limited subset of WebDriver JSON Wire Protocol and supports testing only via an emulator (Windows phone 8.1).
Driver contains of two parts: Outer and Inner. To run tests you will need to add WindowsPhoneDriver.InnerDriver
to the app you want to test and start WindowsPhoneDriver.OuterDriver
(Remote WebDriver to send Json Wire Protocol commands to).
Requirements to run tests using Windows Phone driver
- Windows 8 or higher
- Windows phone 8.1 SDK
- You will also need Visual Studio 2013 with Update 2 or higher to build driver.
Usage
-
Build solution
-
In tested app project, add reference to
WindowsPhoneDriver.InnerDriver
andWindowsPhoneDriver.Common
(we also have NuGet package, but it might lag behind latests version of source code) -
In your app’s source code locate place where
RootFrame
is set (usually inPrepareApplication
if you useCaliburn.Micro
or App.xaml.cs for vanilla app) and addAutomationServer.Instance.InitializeAndStart(RootFrame);
or (will include driver only for debug build)
#if DEBUG AutomationServer.Instance.InitializeAndStart(RootFrame); #endif // DEBUG
where
RootFrame
is visual root of application. -
Write your tests using you favorite language. In your test use
app
desired capability to set path to tested app's xap file (python example).... self.driver = webdriver.Remote( command_executor = 'http://localhost:9999', desired_capabilities={ "app": r"C:\testApp.xap" }) ... # find all Textblock elements blocks= self.driver.find_elements_by_tag_name("System.Windows.Controls.TextBlock")
-
Start WindowsPhoneDriver.OuterDriver.exe
-
Run your tests