我正在按照此处的示例测试 UWP 应用程序 https://github.com/Microsoft/WinAppDriver。最近好像收获很多
附加信息:对远程 WebDriver 的 HTTP 请求 URL http://127.0.0.1:4723/session 的服务器在 60 后超时 秒。
以及普遍的缓慢和需要很长时间才能找到 UI 元素(我添加了几个测试)。按照此处的建议https://groups.google.com/forum/#!topic/appium-discuss/z7QqtJLEwiw我尝试将超时时间增加到某个较大的值,例如10分钟
var appCapabilities = new DesiredCapabilities();
appCapabilities.SetCapability("newCommandTimeout", "6000");
appCapabilities.SetCapability("app", "AppIdGoesHere");
AppSession = new IOSDriver<IOSElement>(new Uri(WindowsApplicationDriverUrl), appCapabilities);
这也行不通。
我见过很多与 WebDriver 相关的问题,但没有看到与测试 Windows 10 UWP 应用程序相关的问题。我还使用通用 C# 单元测试项目类型,因为我有 VS 2015 Pro,而不是 Enterprise,它允许使用编码 UI 测试类型。
private const string WindowsDriverUri = "http://127.0.0.1:4723";
[TestMethod]
public void TestMethod1()
{
AppiumOptions desktopCapabilities = new AppiumOptions();
desktopCapabilities.AddAdditionalCapability("app", "Root");
desktopCapabilities.AddAdditionalCapability("platformName", "Windows");
desktopCapabilities.AddAdditionalCapability("deviceName", "WindowsPC");
Console.WriteLine(desktopCapabilities);
using (WindowsDriver<WindowsElement> desktopSession = new WindowsDriver<WindowsElement>(new Uri("http://127.0.0.1:4723"), desktopCapabilities))
{
var windows = desktopSession.FindElementsByClassName("Window");
Console.WriteLine(windows);
}
}