Win App Driver:如何在另一台机器上运行测试

时间:2018-11-09 14:23:45

标签: winappdriver

我的确来自编码UI背景,并且已经开始使用Win App Driver测试WPF应用程序。如果我缺少有关Win App Driver的信息,请原谅我。好消息是它可以在我的开发机器上运行!

开发编码的UI测试时,可以将订购的测试和测试应用程序dll复制到任何计算机上,安装VS Test Agent并在其中运行测试。这样,我们的客户等可以在没有Visual Studio等的情况下运行我们的自动化测试,而VS Test Agent是免费的。

我从Windows批处理文件(如下面的文件)中运行测试。

C:
cd codedui
set mstestPath="C:\Program Files (x86)\Microsoft Visual 
Studio\2017\TestAgent\Common7\IDE"

%mstestpath%\mstest /testcontainer:WinAppD_OrderedTest- 
AcceptanceTest_Logon.orderedtest 

pause

我的问题是我可以通过Win App Driver测试来做到这一点吗?我已经尝试过,它说找不到“ appium-dotnet-driver.dll”和“ WebDriver.dll”,我将它们复制到与我订购的测试,bat文件等相同的文件夹中,然后询问另外3个dll (“ Newtonsoft.dll”,“ WebDriver.Support.dll”和“ Castle.Core.dll”)。我也把那三个复制了。

现在,它只是说找不到“ Castle.Core”。令我感到困惑的是,它要求提供5个dll,然后我将它们复制并解决了前4个问题,为什么它找不到Castle.Core.dll?另外,是否有更简单,更多Win App Drivery方式来做到这一点?

非常感谢编码UI测试人员的任何建议,他们希望过渡到Web App驱动程序!

1 个答案:

答案 0 :(得分:0)

与其手动复制文件,不如将依赖项配置为nuget软件包,然后仅在远程服务器上执行nuget restore

Microsoft提供了Appium.WinAppDriver nuget程序包,将其添加到您的UI测试项目时,它将提供测试项目所需的所有必需功能。

如果使用软件包的4.0版或更高版本,则GitHub上的文档已过时。您应该使用AppiumOptions() API创建一个新会话

// Set up the session
var opt = new AppiumOptions();
opt.AddAdditionalCapability("app", @"path/to/your/application.exe");
opt.AddAdditionalCapability("platformName", "Windows");
var session = new WindowsDriver<WindowsElement>(new Uri(WindowsApplicationDriverUrl), opt);

// Click a button
session.FindElementByName("MyButtonName").Click();

// Tear down
session.Close();
session.Dispose();