问题描述
我有一个具有多个页面的WPF应用程序。选择某些按钮后进行导航。我能够成功启动测试会话并在主窗口中找到元素。但是,当单击应该触发导航到另一个页面的“确定”按钮时,该应用程序将不会导航,并且测试用例无法在下一页中找到UI元素。我已经尝试过ImplicitWait和Thread.Sleep,但是仍然找不到元素。单击该按钮后,该应用似乎根本无法导航。
关于如何解决此问题的任何想法?以下是我到目前为止已完成的工作:
namespace TestDAAC
{
[TestClass]
public class UnitTests
{
protected const string WINAPPDRIVER_URL = "http://127.0.0.1:4723";
private const string DAAC_APP_ID = @"C:\Users\Admin\Desktop\VC PROJECTS\daac\DAAC\bin\x64\Release\DAAC5.exe";
protected static WindowsDriver<WindowsElement> daacSession;
[ClassInitialize]
public static void Setup(TestContext context)
{
if (daacSession == null)
{
var appiumOptions = new AppiumOptions();
appiumOptions.AddAdditionalCapability("app",DAAC_APP_ID);
appiumOptions.AddAdditionalCapability("deviceName","WindowsPC");
daacSession = new WindowsDriver<WindowsElement>(new Uri(WINAPPDRIVER_URL),appiumOptions);
}
}
[TestMethod]
public void SequenceOfSteps()
{
daacSession.FindElementByName("OK").Click();
Thread.Sleep(5000);
// daacSession.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
daacSession.FindElementByName("New Imaging Session").Click();
}
}
}
解决方法
我能够找到测试用例无法正常工作的原因。 WinAppDriver仅与Windows 10 Home或Pro兼容。我的目标设备运行在Windows Enterprise上。