提交 6113d42f 编写于 作者: T Tom Meschter

Add helpers for interacting with dialogs

上级 abe58e48
......@@ -435,5 +435,42 @@ public void PressDialogButton(string dialogAutomationName, string buttonAutomati
var buttonAutomationElement = dialogAutomationElement.FindDescendantByAutomationId(buttonAutomationName);
buttonAutomationElement.Invoke();
}
public void PressDialogButtonWithName(string dialogAutomationName, string buttonName)
{
var dialogAutomationElement = DialogHelpers.GetOpenDialog(GetDTE().MainWindow.HWnd, dialogAutomationName);
var buttonAutomationElement = dialogAutomationElement.FindDescendantByName(buttonName);
buttonAutomationElement.Invoke();
}
public void DialogSelectComboBoxItem(string dialogAutomationName, string comboBoxAutomationName, string itemText)
{
var dialogAutomationElement = DialogHelpers.GetOpenDialog(GetDTE().MainWindow.HWnd, dialogAutomationName);
var comboBoxAutomationElement = dialogAutomationElement.FindDescendantByAutomationId(comboBoxAutomationName);
comboBoxAutomationElement.Expand();
var comboBoxItemAutomationElement = comboBoxAutomationElement.FindDescendantByName(itemText);
comboBoxItemAutomationElement.Select();
comboBoxAutomationElement.Collapse();
}
public void DialogSelectRadioButton(string dialogAutomationName, string radioButtonAutomationName)
{
var dialogAutomationElement = DialogHelpers.GetOpenDialog(GetDTE().MainWindow.HWnd, dialogAutomationName);
var radioButton = dialogAutomationElement.FindDescendantByAutomationId(radioButtonAutomationName);
radioButton.Select();
}
public void DialogSetElementValue(string dialogAutomationName, string elementAutomationName, string value)
{
var dialogAutomationElement = DialogHelpers.GetOpenDialog(GetDTE().MainWindow.HWnd, dialogAutomationName);
var control = dialogAutomationElement.FindDescendantByAutomationId(elementAutomationName);
control.SetValue(value);
}
}
}
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
using Microsoft.CodeAnalysis.CodeFixes;
using Microsoft.VisualStudio.IntegrationTest.Utilities.Common;
using Microsoft.VisualStudio.IntegrationTest.Utilities.InProcess;
......@@ -73,6 +74,8 @@ public Signature GetCurrentSignature()
return _inProc.GetCurrentSignature();
}
public void ShowLightBulb()
=> _inProc.ShowLightBulb();
......@@ -114,7 +117,19 @@ public void VerifyDialog(string dialogName, bool isOpen)
public void PressDialogButton(string dialogAutomationName, string buttonAutomationName)
=> _inProc.PressDialogButton(dialogAutomationName, buttonAutomationName);
public void PressDialogButtonWithName(string dialogAutomationName, string buttonName)
=> _inProc.PressDialogButtonWithName(dialogAutomationName, buttonName);
public void DialogSendKeys(string dialogAutomationName, string keys)
=> _inProc.DialogSendKeys(dialogAutomationName, keys);
public void DialogSelectComboBoxItem(string dialogAutomationName, string comboBoxAutomationName, string itemText)
=> _inProc.DialogSelectComboBoxItem(dialogAutomationName, comboBoxAutomationName, itemText);
public void DialogSelectRadioButton(string dialogAutomationName, string radioButtonAutomationName)
=> _inProc.DialogSelectRadioButton(dialogAutomationName, radioButtonAutomationName);
public void DialogSetElementValue(string dialogAutomationName, string elementAutomationName, string value)
=> _inProc.DialogSetElementValue(dialogAutomationName, elementAutomationName, value);
}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册