imsardine / winappdriver

WebDriver for Windows Applications
MIT License
119 stars 11 forks source link

Are we able to do UI automation of windows store app which is build in WinJS/HTML? #16

Closed imsardine closed 9 years ago

imsardine commented 9 years ago

manojdeshmukh87 commented on "WinAppDriver - Windows Store Apps Test Automation" (SlideShare):

Are we able to do UI automation of windows store app which is build in WinJS/HTML?

imsardine commented 9 years ago

After experimenting with WinJS Contrib Samples, I think WinJS is supported, however only a few information is exposed via UI Automation (UIA).

Take horizontal form (UI & Controls > Data Forms) as an example:

screen shot 2015-08-18 at 8 40 13 am

The corresponding snippet of page source is:

<Text id="" framework="" name="name" value="" class="" help="" visible="true" enabled="true" focusable="false" focused="false" selected="false"protected="false" scrollable="false" handle="0" x="540" y="206" width="100" height="42" bounds="[540,206][100,42]">
<Text id="" framework="" name="name" value="" class="" help="" visible="true" enabled="true" focusable="false" focused="false" selected="false"protected="false" scrollable="false" handle="0" x="591" y="206" width="49" height="22" bounds="[591,206][49,22]"/>
</Text>
<Edit id="" framework="" name="" value="John Doe" class="" help="" visible="true" enabled="true" focusable="false" focused="false" selected="false"protected="false" scrollable="false" handle="0" x="650" y="208" width="210" height="32" bounds="[650,208][210,32]"/>
<Text id="" framework="" name="gender" value="" class="" help="" visible="true" enabled="true" focusable="false" focused="false" selected="false"protected="false" scrollable="false" handle="0" x="540" y="259" width="100" height="46" bounds="[540,259][100,46]">
<Text id="" framework="" name="gender" value="" class="" help="" visible="true" enabled="true" focusable="false" focused="false" selected="false"protected="false" scrollable="false" handle="0" x="579" y="259" width="61" height="22" bounds="[579,259][61,22]"/>
</Text>
<ComboBox id="" framework="" name="" value="unknown" class="" help="" visible="true" enabled="true" focusable="false" focused="false" selected="false"protected="false" scrollable="false" handle="0" x="650" y="261" width="210" height="36" bounds="[650,261][210,36]">
<Text id="" framework="" name="" value="unknown" class="" help="" visible="true" enabled="true" focusable="false" focused="false" selected="false"protected="false" scrollable="false" handle="0" x="652" y="263" width="181" height="32" bounds="[652,263][181,32]"/>
<Button id="" framework="" name="Open" value="" class="" help="" visible="true" enabled="true" focusable="false" focused="false" selected="false"protected="false" scrollable="false" handle="0" x="836" y="263" width="17" height="34" bounds="[836,263][17,34]"/>
</ComboBox>

As you can see, most of the time id and class attributes contain no information, but you can also use tag name, name attribute or even XPath locator to locate elements.