【发布时间】:2010-04-06 18:49:07
【问题描述】:
我们的任务基本上是模拟浏览器来获取网页,并希望在不同的网页上自动进行测试。这将用于(理想情况下)在后台运行并生成报告的控制台式应用程序。
我们尝试使用 .NET 和 WatiN 库,但它是基于 Marshalled IE 构建的,因此它缺乏许多我们通过调用非托管本机代码侵入的功能,但归根结底 IE 不是线程安全也不是进程安全,而且许多需要的功能只能通过更改注册表值来实现,而且非常不灵活。
- 代理支持
- JavaScript 支持 - 我们必须能够在任何 javascript 执行后解析实际的 DOM(并希望引发一个事件来处理任何 ajax 调用)
- 能够将页面的全部内容(包括已加载页面缓存中的图像)保存到单独的位置
- 能够清除 cookie/缓存、获取 cookie/缓存等。
- 能够为任何浏览器调用设置标题和更改发布数据
- 进程和/或线程安全将是理想的
- 对于 drogs 的热爱,一个并不完全神秘的 API
可接受的语言 C++、C#、Python,任何可以是简单的小后台应用程序的语言,在某种程度上可以忍受,并且没有像 Ruby 那样完全“非传统”的语法。
根据我自己的研究,相信我在 google 搜索方面很糟糕,我听说过关于 WebKit 的好消息... Qt 模块 QtWebKit 会处理所有这些吗特点?
【问题讨论】:
-
我不太了解它是否会有所帮助,但是在 VS 2010 的某些版本中,有一些称为“手动测试”的东西可以让您记录与网页的交互。然后,您可以深入研究代码并自动化测试,据说我被告知它记录的内容是在 http 级别。因此,您的测试代码将在相当低的水平上运行。我不知道生成的代码可能有多混乱。
-
您不需要对 IE 进行真正的注册更改;您可以告诉 IE 使用替代根目录。