0

如果有人可以帮助我,我将不胜感激。

我正在使用 Visual Studio 2010 中的 C# 文件,我需要能够测试具有多个表单页面的网站,出于示例的目的,我们将它们全部称为 1.aspx、2.aspx 等。

我的代码可以很好地填写第一页(1.aspx),然后单击“继续”按钮加载下一页,但是当它到达 2.aspx 时,它不会继续填写表格。

我们会说 2.aspx 页面上的一个元素称为“DOB”。在尝试从头开始运行时(我在一个 .cs 文件中拥有所有页面表单数据),我收到一个错误,例如“当前上下文中不存在 DOB”。

任何人对此的见解将不胜感激!

4

1 回答 1

2

老实说,听起来你最好使用WatiN 框架。多年来,我一直在用它编写自动化程序,它的实现方式和易用性使其值得稍微学习一下。

只是为答案添加更多内容;是的,这是伪代码:

[Test]
public void Should_attach_to_browser()
{
     ExecuteTest(browser =>
     {
          browser.GoTo(NewWindowUri);
          browser.Link(Find.First()).Click();

          var findBy = Find.ByTitle("New window");
          var newWindow = Browswer.AttachTo(browser.GetType(), findBy);
          newWindow.Close();
     });          
}

在上面的代码中,注意Browser.AttachTo(browser.GetType(), findBy);方法。根据我对您的问题的理解,该.AttachTo()方法效果很好,因为您可以将焦点当前表单上移开,并将其分配给您的工作/执行流程中的下一个表单。

于 2013-02-13T19:43:30.437 回答