我正在制作一个提供多项选择测试的网络,但我懒得以人性化的方式测试它。我想编写一个简单的C#.Net winform程序,帮助我在Web浏览器中检查问题的每个A(或B,C,D)单选按钮。我想知道winform应用程序是否可以做到这一点。
感谢阅读:)
答案 0 :(得分:1)
据我所知,您的主要目标不是编写C#winforms应用程序,而只是测试您的Web表单。因此,我建议您研究专用的Web测试解决方案,而不是花时间创建专门的C#应用程序来测试您的网站。 这里有一个非常类似的问题: How apply Unit tests in ASP.NET webforms
如果您不喜欢,那么另一种选择是为FireFox iMacros extension生成测试脚本。语法很简单。
一般来说,您应该查看用于测试Web表单的现有解决方案的主题。不建议仅为此目的创建专用解决方案。
修改强>
好的,从您的评论中我发现在WinForms中使用此解决方案非常重要,因此我会纠正我的回答。 要在WinForms中执行此操作,请执行以下步骤:
string address = @"D:\path\to\my\file.html"
或使用http://地址代替。webBrowser.Navigate(new Uri(address));
这可以在InitializeComponent();
之后的Form1的构造函数中运行,或者在你想要的任何地方运行(在另一个按钮上结合地址文本框?)。
现在为您的测试按钮代码。要执行测试,您可以使用WebBrowser.Document's methods获取HtmlElement并对其执行操作。有关详细信息,请参阅提供的文档链接。
一些例子:
HtmlElement checkboxGenderFemale = webBrowser.Document.GetElementById("female");
checkboxGenderFemale.InvokeMember("CLICK");
这将模拟点击并检查给定的复选框。请记住为所有元素分配ID。要填写文本输入,您可以使用以下代码段:
HtmlElement nameInput = webBrowser.Document.GetElementById("firstname");
nameInput.SetAttribute("value", "NewName");
如您所见,您可以轻松模拟点击并修改元素的属性。您可以将这些代码示例放在btnTest_Click(...)
方法中,看看它是如何工作的。如果您已在Form1的构造函数中完成导航,则表单应打开并且已加载页面。单击btnTest后,将执行相关测试。