WinAppDriver UI记录器工具

时间:2018-10-01 10:24:46

标签: c# user-interface winappdriver

早上好

我希望为Windows应用程序生成简单的UI测试,例如,从开始菜单启动应用程序,并使用该应用程序打开文件。

我希望允许任何用户记录上述简单的UI测试,我一直在寻找Microsoft的WinAppDriver,是的,根据通过测试浏览器运行得到的示例,驱动程序本身非常适合运行测试。

我一直在查看Git中提供的UIrecorder,它似乎符合我的一些要求。

我目前正在记录RecordedUiTask,但是我不了解C#生成的MyDesktopSession对象是什么以及如何在测试中初始化它。

以下示例:

 string xp0 = "/Pane[@Name=\"Desktop 1\"][@ClassName=\"#32769\"]/Window[@Name=\"Untitled - Notepad\"][@ClassName=\"Notepad\"]/Document[@Name=\"Text Editor\"][@ClassName=\"Edit\"]";
 var winElem0 = MyDesktopSession.FindElementByXPath(xp0);
 if (winElem0 != null)
 {
     winElem0.Click();
 }

我不知道是否有价格合理的商业软件可用于此目的或开源软件?

任何帮助将不胜感激。

谢谢

2 个答案:

答案 0 :(得分:0)

MyDesktopSession对象在UIRecorderTemplate中定义,可以在Git存储库中找到。

public static WindowsDriver<WindowsElement> DesktopSession;
if (DesktopSession == null)
{
     DesiredCapabilities appCapabilities = new DesiredCapabilities();
     appCapabilities.SetCapability("app", "Root");
     appCapabilities.SetCapability("deviceName", "WindowsPC");
     DesktopSession = new WindowsDriver<WindowsElement>(new 
            Uri(WindowsApplicationDriverUrl), appCapabilities);
}

对象名称不同,但这为您提供了UIRecorder使用的主要对象。

答案 1 :(得分:0)

对于长时间运行,您从桌面开始,然后深入到AUT。这意味着必须搜索整个桌面(所有正在运行的程序)才能找到该字段。如果您在记事本上开始搜索,它应该会更快。这是有关选择器性能的答案:Selenium Element Selectors - I thought xPath was slowest?