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

时间:2016-06-01 03:09:19

标签: winforms testing radio

我正在制作一个提供多项选择测试的网络,但我懒得以人性化的方式测试它。我想编写一个简单的C#.Net winform程序,帮助我在Web浏览器中检查问题的每个A(或B,C,D)单选按钮。我想知道winform应用程序是否可以做到这一点。

感谢阅读:)

1 个答案:

答案 0 :(得分:1)

据我所知,您的主要目标不是编写C#winforms应用程序,而只是测试您的Web表单。因此,我建议您研究专用的Web测试解决方案,而不是花时间创建专门的C#应用​​程序来测试您的网站。 这里有一个非常类似的问题: How apply Unit tests in ASP.NET webforms

如果您不喜欢,那么另一种选择是为FireFox iMacros extension生成测试脚本。语法很简单。

一般来说,您应该查看用于测试Web表单的现有解决方案的主题。不建议仅为此目的创建专用解决方案。

修改

好的,从您的评论中我发现在WinForms中使用此解决方案非常重要,因此我会纠正我的回答。 要在WinForms中执行此操作,请执行以下步骤:

  1. 使用WebBrowser类 - 将相关的WebBrowser控件添加到winform。
  2. 添加一个按钮,您可以将其命名为“btnTest”。
  3. 在编辑器中双击此按钮,以便创建btnTest_Click(...)方法存根。
  4. 在代码中,设置所需的浏览器地址字符串,如下所示:string address = @"D:\path\to\my\file.html"或使用http://地址代替。
  5. 使用WebBrowser.Navigate方法导航到此地址,如下所示:webBrowser.Navigate(new Uri(address));
  6. 这可以在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后,将执行相关测试。