1

我真的来自 Coded UI 背景,并且已经开始使用 Win App Driver 来测试 WPF 应用程序。如果我遗漏了有关 Win App Driver 的内容,请原谅我。好消息是它可以在我的开发机器上运行!

当我开发 Coded UI 测试时,我可以将我订购的测试和我的测试应用程序 dll 复制到任何机器上,安装 VS 测试代理并在那里运行我的测试。这样,我们的客户等可以在没有 Visual Studio 等的情况下运行我们的自动化测试,并且 VS 测试代理是免费的。

我从如下所示的 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”)。我也复制了这3个。

现在它只是说它找不到“Castle.Core”。令我困惑的是,它要求 5 个 dll,我复制了它们并解决了前 4 个的问题,为什么找不到 Castle.Core.dll?或者,是否有更简单、更 Win App Drivery 的方法来做到这一点?

非常感谢想要过渡到 Web App Driver 的 Coded UI 测试人员的任何建议!

4

1 回答 1

0

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

Microsoft 提供了Appium.WinAppDrivernuget 包,将其添加到您的 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();
于 2019-11-19T15:32:03.253 回答