C# 编码 UI 测试 - 在 javascript window.prompt 文本框中输入文本
C# Coded UI testing - enter text into a javascript window.prompt text box
我在 Visual Studio Enterprise 2017 中 运行 编码 UI 测试。
我的测试网页有一个 javascript 弹出窗口要求输入电子邮件地址。我可以找到 confirmationPopup(突出显示正确绘制),我可以单击其中的按钮,例如取消。
confirmationPopup = new WinWindow();
confirmationPopup.SearchProperties.Add(WinWindow.PropertyNames.ControlType, "Dialog");
confirmationPopup.SearchProperties.Add(WinWindow.PropertyNames.ClassName, "#32770");
confirmationPopup.TechnologyName = "MSAA";
confirmationPopup.Find();
confirmationPopup.DrawHighlight();
var cancelButton = new WinButton(confirmationPopup);
cancelButton.SearchProperties.Add(WinButton.PropertyNames.Name, "Cancel");
Mouse.Click(cancelButton);
我正在努力做的是在弹出窗口的输入框中输入文本:
var textInput = new WinEdit(confirmationPopup);
textInput.SearchProperties.Add(WinEdit.PropertyNames.ClassName, "Edit");
textInput.TechnologyName = "MSAA";
textInput.DrawHighlight();
textInput.Text = "bill@microsoft.com";
高亮显示在正确的控件周围,但是 textInput.Text= 行给出了错误
附加信息:"Text" 的 SetProperty 在控件类型上不受支持:Window
知道我做错了什么吗?
这里是一个与javascript提示交互的例子window。
// go to a public site which has a prompt
var window = BrowserWindow.Launch("http://www.javascriptkit.com/javatutors/alert2.shtml");
var contentDiv = new HtmlDiv(window);
contentDiv.SearchProperties.Add(HtmlDiv.PropertyNames.Id, "contentcolumn", PropertyExpressionOperator.EqualTo);
var promptButton = new HtmlInputButton(contentDiv);
promptButton.SearchProperties.Add(HtmlInputButton.PropertyNames.ControlDefinition, "name=\"B4\"", PropertyExpressionOperator.Contains);
promptButton.SetFocus();
Keyboard.SendKeys("{ENTER}");
// now the prompt is showing, find it and set text
var promptWindow = new WinWindow();
promptWindow.SearchProperties.Add(WinWindow.PropertyNames.ControlType, "Dialog");
promptWindow.SearchProperties.Add(WinWindow.PropertyNames.ClassName, "#32770");
promptWindow.DrawHighlight();
var middleWindow = new WinWindow(promptWindow);
middleWindow.DrawHighlight();
var inputBox = new WinEdit(middleWindow);
inputBox.DrawHighlight();
inputBox.Text = "Hello world!";
当使用编码 ui 的检查功能时,我看到中间有一个 window。不管是否使用,我都能找到编辑。
我在 Visual Studio Enterprise 2017 中 运行 编码 UI 测试。
我的测试网页有一个 javascript 弹出窗口要求输入电子邮件地址。我可以找到 confirmationPopup(突出显示正确绘制),我可以单击其中的按钮,例如取消。
confirmationPopup = new WinWindow();
confirmationPopup.SearchProperties.Add(WinWindow.PropertyNames.ControlType, "Dialog");
confirmationPopup.SearchProperties.Add(WinWindow.PropertyNames.ClassName, "#32770");
confirmationPopup.TechnologyName = "MSAA";
confirmationPopup.Find();
confirmationPopup.DrawHighlight();
var cancelButton = new WinButton(confirmationPopup);
cancelButton.SearchProperties.Add(WinButton.PropertyNames.Name, "Cancel");
Mouse.Click(cancelButton);
我正在努力做的是在弹出窗口的输入框中输入文本:
var textInput = new WinEdit(confirmationPopup);
textInput.SearchProperties.Add(WinEdit.PropertyNames.ClassName, "Edit");
textInput.TechnologyName = "MSAA";
textInput.DrawHighlight();
textInput.Text = "bill@microsoft.com";
高亮显示在正确的控件周围,但是 textInput.Text= 行给出了错误 附加信息:"Text" 的 SetProperty 在控件类型上不受支持:Window
知道我做错了什么吗?
这里是一个与javascript提示交互的例子window。
// go to a public site which has a prompt
var window = BrowserWindow.Launch("http://www.javascriptkit.com/javatutors/alert2.shtml");
var contentDiv = new HtmlDiv(window);
contentDiv.SearchProperties.Add(HtmlDiv.PropertyNames.Id, "contentcolumn", PropertyExpressionOperator.EqualTo);
var promptButton = new HtmlInputButton(contentDiv);
promptButton.SearchProperties.Add(HtmlInputButton.PropertyNames.ControlDefinition, "name=\"B4\"", PropertyExpressionOperator.Contains);
promptButton.SetFocus();
Keyboard.SendKeys("{ENTER}");
// now the prompt is showing, find it and set text
var promptWindow = new WinWindow();
promptWindow.SearchProperties.Add(WinWindow.PropertyNames.ControlType, "Dialog");
promptWindow.SearchProperties.Add(WinWindow.PropertyNames.ClassName, "#32770");
promptWindow.DrawHighlight();
var middleWindow = new WinWindow(promptWindow);
middleWindow.DrawHighlight();
var inputBox = new WinEdit(middleWindow);
inputBox.DrawHighlight();
inputBox.Text = "Hello world!";
当使用编码 ui 的检查功能时,我看到中间有一个 window。不管是否使用,我都能找到编辑。