如何使用第三方程序自动检查单选按钮



我正在制作一个提供多项选择测试的web,但我太懒了,无法用人工方式进行测试。我想写一个简单的C#.Net winform程序,帮助我在网络浏览器中检查问题的每个a(或B、C、D)单选按钮。我想知道winform应用程序是否可以做到这一点。

感谢阅读:)

据我所知,您的主要目标不是编写C#winforms应用程序,而是简单地测试您的web表单。因此,与其花时间创建一个专用的C#应用程序来测试您的网站,我建议您研究专用的web测试解决方案。这里已经有一个非常相似的问题:如何在ASP.NET Web窗体中应用单元测试

如果你不喜欢,那么另一个选择是为FireFox iMacros扩展生成测试脚本。语法相当简单。

一般来说,您应该研究测试web表单的现有解决方案的主题。仅仅为此目的创建一个专用的解决方案是不可取的。


编辑:

好吧,从你的评论中,我看到在WinForms中拥有这个解决方案对你来说很重要,所以我会纠正我的答案。要在WinForms中执行此操作,请执行以下步骤:

  1. 使用WebBrowser类-将相关的WebBrowser控件添加到您的winform中
  2. 添加一个按钮,你可以称之为"btnTest">
  3. 在编辑器中双击此按钮,这样就会创建一个btnTest_click(…)方法存根
  4. 在代码中,设置所需的浏览器地址字符串,如so:string address = @"D:pathtomyfile.html",或者如果需要,可以使用http://地址
  5. 使用WebBrowser.Navigate方法导航到此地址,如下所示:webBrowser.Navigate(new Uri(address));

这一切都可以在InitializeComponent();之后的Form1的构造函数中运行,也可以在其他任何地方运行(可能在另一个与地址文本框组合的按钮上?)。现在为您的测试按钮代码。要执行测试,您可以使用WebBrowser.Document的方法来获取HtmlElements并对其执行操作。有关详细信息,请参阅提供的文档链接。

一些例子:

HtmlElement checkboxGenderFemale = webBrowser.Document.GetElementById("female");
checkboxGenderFemale.InvokeMember("CLICK");

这将模拟单击并选中给定的复选框。请记住为所有元素指定ID。要填写文本输入,可以使用以下代码片段:

HtmlElement nameInput = webBrowser.Document.GetElementById("firstname");
nameInput.SetAttribute("value", "NewName");

正如您所看到的,您可以轻松地模拟单击并修改元素的属性。您可以将这些代码示例放在btnTest_Click(...)方法中,看看它是如何工作的。如果您已经在Form1的构造函数中完成了导航,那么打开表单时应该已经加载了页面。点击btnTest后,将执行相关测试。

最新更新