【问题标题】:Win App Driver: How can you run tests on another machineWin App Driver:如何在另一台机器上运行测试
【发布时间】:2019-11-19 23:32:03
【问题描述】:

我真的来自 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 驱动程序测试来做到这一点吗?我试过了,它说找不到“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 测试人员提供的任何建议!

【问题讨论】:

    标签: winappdriver


    【解决方案1】:

    与其手动复制文件,不如将依赖项配置为 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();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-31
      • 1970-01-01
      • 2015-12-11
      • 1970-01-01
      • 1970-01-01
      • 2019-07-20
      • 1970-01-01
      • 2012-09-16
      相关资源
      最近更新 更多