0

我正在尝试自动化 Web 表单的测试。为此,我需要知道如何使用 C# 在 HTML 页面中动态定位输入标记,然后为它们分配值。我不想使用 XPath,因为每次我都会使用不同的 Web 表单。我想将 Web 表单的 URL 传递给 Selenium,然后自动填充字段。我听说过 HTMLAgilityPack。这对我有帮助吗?如果是这样,我该如何使用它?

我感谢您的帮助。

4

2 回答 2

2

我可能错过了您问题的关键部分,但是,您看过Selenium WebDriver吗?

如果您编写一个处理通用 Web 表单的测试,您可以通过动态数据支持您的测试。因此,您可以使用数据驱动测试来满足页面中的更改。我已经为许多页面编写了测试,并且总是有共同的操作,但是我以不同的方式满足每个页面,尽管该页面上有不同的东西!

[编辑]
根据您的评论,我认为研究 Selenium 是一个好主意。处理不同页面的方法是在每个页面的“定义”类中准备好这些元素定义。这样,一旦您知道页面是什么,您只需使用正确的类进行定义。最好在测试运行之前知道您将在测试中与哪些元素进行交互。自动化 UI 测试的重点是要执行一组已知的操作并获得正确的结果。

我建议您查看一些诸如此类的教程您可以查看我的博客 ,尽管我在最初学习 WatiN 时写了这篇文章,然后用 Selenium 替换了它(我更喜欢它:P)。

于 2013-01-17T03:39:10.340 回答
0

Html 敏捷包

这是一个敏捷的 HTML 解析器,它构建一个读/写 DOM 并支持普通的 XPATH 或 XSLT(实际上你不必了解 XPATH 或 XSLT 就可以使用它,不用担心......)。它是一个 .NET 代码库,允许您解析“网络之外”的 HTML 文件。解析器对“真实世界”格式错误的 HTML 非常宽容。对象模型与 System.Xml 的提议非常相似,但用于 HTML 文档(或流)。

HtmlDocument doc = new HtmlDocument();
doc.Load(path);

foreach (HtmlNode input in doc.DocumentNode.SelectNodes("//input"))
    // Your Code...
于 2013-01-17T02:44:35.983 回答