Я создал приложение-образец формы, в которое добавил элемент управления WebBrowser с некоторыми Html элементами, я пытаюсь автоматизировать его с помощью TestStack white. У меня возникают проблемы с доступом к элементам HTML во время автоматизации.
Ниже приведен код для приложения c#
namespace StartCsharp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
WebBrowser browser = new System.Windows.Forms.WebBrowser();
browser.Navigate("about:blank");
browser.Document.OpenNew(false);
browser.Document.Write(GenerateHtml().ToString());
Controls.Add(browser);
}
public StringBuilder GenerateHtml()
{
StringBuilder sb = new StringBuilder();
sb.Append("<h1>BODY</h1>");
sb.Append("<input type=\"checkbox\" id=\"vehicle1\" name=\"vehicle1\" value=\"Bike\">");
sb.Append("<label for=\"vehicle1\"> I have a bike</label><br>");
sb.Append("<input type=\"checkbox\" id=\"vehicle2\" name=\"vehicle2\" value=\"Car\">");
sb.Append("<label for=\"vehicle2\"> I have a car</label><br>");
sb.Append("<button type=\"button\">Click Me!</button><br><br>");
sb.Append(" <label for=\"fname\">First name:</label><br><br>");
sb.Append("<input type=\"text\" id=\"fname\" name=\"fname\"><br><br>");
sb.Append("<label for=\"cars\">Choose a car:</label>");
sb.Append("<select name=\"cars\" id=\"cars\">");
sb.Append("<option value = \"volvo\" > Volvo </option >");
sb.Append("<option value = \"audi\" > Audi </option ></select>");
StringBuilder _formattedReport = new StringBuilder();
_formattedReport.Append("<html>");
_formattedReport.Append("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">");
_formattedReport.AppendLine("<body>");
_formattedReport.AppendLine(sb.ToString());
_formattedReport.AppendLine("</body>");
_formattedReport.AppendLine("</html>");
return _formattedReport;
}
}
Код для операторов файла шага автоматизации для доступа к элементам
var vechile1 = window.Get<TestStack.White.UIItems.CheckBox>(TestStack.White.UIItems.Finders.SearchCriteria.ByAutomationId("vechile1").AndOfFramework(WindowsFramework.InternetExplorer));
vechile1.Click();
var vechile2 = window.Get<TestStack.White.UIItems.CheckBox>(TestStack.White.UIItems.Finders.SearchCriteria.ByAutomationId("vechile2").AndOfFramework(WindowsFramework.InternetExplorer));
vechile2.Click();
Button button3 = window.Get<TestStack.White.UIItems.Button>(TestStack.White.UIItems.Finders.SearchCriteria.ByText("Click Me!"));
button3.Click();
Пожалуйста, помогите мне получить доступ к Html элементам пользовательского интерфейса из автоматизации с помощью Test Stack или порекомендуйте любой другой инструмент для этого.
Заранее спасибо.