我正在尝试自动化Web表单的测试。为此,我需要知道如何使用C#在HTML页面中动态定位输入标签,然后为它们分配值。我不想使用XPath,因为每次我都会使用不同的Web表单。我想将Web表单的URL传递给Selenium,然后自动填充字段。我听说过HTMLAgilityPack。这对我有帮助吗?如果是这样,我该如何使用它?
感谢您的帮助。
答案 0 :(得分:2)
我可能错过了你问题的一个关键部分,但是,你看过Selenium WebDriver吗?
如果您编写处理通用Web表单的测试,则可以通过动态数据来备份测试。因此,您可以使用数据驱动测试来满足页面中的更改。我已经为很多页面编写了测试,并且总是有一些常见的操作,但是我对每个页面的用法都不同,因为该页面上有不同的内容!
[编辑]
继你的评论之后,我认为调查Selenium会是一个好主意。处理不同页面的方法是在每个页面的“定义”类中准备好这些元素定义。这样,一旦你知道页面是什么,你只需使用正确的类来定义。最好知道在测试运行之前之前>>将要与哪些元素进行交互。自动UI测试的关键是要执行一组已知的操作并获得正确的结果。
我建议您查看一些教程,例如this,您可以看到我的blog 虽然我在最初学习WatiN时写了这个,然后用Selenium替换它(我更喜欢它:P)。
答案 1 :(得分:0)
这是一个灵活的HTML解析器,可构建读/写DOM并支持 普通的XPATH或XSLT(你实际上并不需要理解XPATH或者 使用XSLT,不用担心......)。它是一个允许的.NET代码库 你解析“out of the web”HTML文件。解析器非常宽容 与“真实世界”格式错误的HTML。对象模型非常相似 什么提出System.Xml,但对于HTML文档(或流)。
HtmlDocument doc = new HtmlDocument();
doc.Load(path);
foreach (HtmlNode input in doc.DocumentNode.SelectNodes("//input"))
// Your Code...