无法使用 Teststack/White 在 modal/dialog 内的编辑字段中输入文本

Not able to enter text in a edit field inside a modal/dialog using Teststack/White

我正在尝试在模式 window 的编辑字段中输入文本。我得到一个错误 "Failed to get (ControlType=edit or ControlType=document),AutomationId=1118,ClassName=Edit"

以下是我的代码。

var window = app.GetWindow("Toolkit Version"); Window AuthWindow = null; AuthWindow = window.ModalWindow("Please Authenticate"); TextBox userNameField = AuthWindow.Get<TextBox>(SearchCriteria.ByClassName("Edit").AndAutomationId("1118")); userNameField.Text = "Administrator"; 来自检查

错误详情 - TestStack.White.AutomationException: 'Failed to get (ControlType=edit or ControlType=document),AutomationId=1118,ClassName=Edit'

有什么建议或解决方法吗? 谢谢!

超出我的想象:

  1. 也许您的 SearchCriteria 过于严格?尝试:

    TextBox userNameField = AuthWindow.Get<TextBox>(SearchCriteria.ByAutomationId("1118"));
    

    甚至

    TextBox userNameField = AuthWindow.Get(SearchCriteria.ByAutomationId("1118")) as TextBox;
    
  2. 它可能不是很优雅,但看起来你的window很小而且控件很少。为什么不这样挑选呢?

    TextBox userNameField = AuthWindow.GetMultiple(SearchCriteria.ByControlType(System.Windows.Automation.ControlType.Edit)[0]
    

我以为您的文本框位于位置 0,但您当然可以更改它。