Winium.StoreApps vs Winium.StoreApps.CodedUi - 2gis/Winium GitHub Wiki
| Winium.StoreApps | Winium.StoreApps.CodedUi | |
|---|---|---|
| Visual Studio Premium or Higher requirement | No | Yes |
| Support for devices and emulators | Emulators only | Emulators and Devices |
| Support for Hybrid apps | No (at the moment) | Partial support |
| AUT modification requirement | Yes. Requires inclusion of InnerServer |
No |
| Access to any public property of elements | Yes | No |
| Interaction with other apps | No. Tests freeze when AUT is not in foreground | Yes |
| Parallel sessions out of a box | No | No |
Clarifications
Visual Studio Premium or Higher requirement
Visual Studio Premium or higher is needed both for development and running tests. Research needed if vs.test.console can be used to run tests on Windows Phone without Visual Studio Premium.
Support for devices and emulators
In theory it is possible to run tests on devices, but will require major refactoring of input simulation. Currently, Winium.StoreApps uses Hyper-V virtual mouse and keyboard to simulate gestures and some of keyboard events.
Support for Hybrid apps
Winium.StoreApps does not support Hybrid apps at the moment, but it is doable.
Winium.StoreApps.CodedUi supports hybrid apps, because WebView elements are direclty visible just like any other element of interface. But this limits or contorl over WebView elements as we can not send JavaScript to it.
AUT modification requirement
Winium.StoreApps requires AUT to be modified to include InnerServer, this leads to some drawbacks, but also allows opens some possibilities.
Access to any public property of elements
Winium.StoreApps, due to InnerServer being injected in AUT, have access to all public properties of elements in visual tree.
Winium.StoreApps.CodedUi is not integrated into AUT so it is limited to standard automation properties only.
<a name"FRE">Interaction with other apps
Winium.StoreApps, due to InnerServer being injected in AUT, freezes with AUT when it goes to foreground, so driver is not able to access anything outside AUt, except of sending basic input simulations like pressing hardware buttons Start, Back, Search.
Parallel sessions out of a box
Parallels sessions support is limited due to restictions of running only one emulator of each kind at same type, usage of ports, etc. Making tests run in parallel on same machine will require some scripting and setup.