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.
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).
Build solution
In tested app project, add reference to WindowsPhoneDriver.InnerDriver
and WindowsPhoneDriver.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 in PrepareApplication
if you use Caliburn.Micro
or App.xaml.cs for vanilla app) and add
AutomationServer.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