Winapi 如何使用.net编写测试自动化工具,如QTP和winrunner?

Winapi 如何使用.net编写测试自动化工具,如QTP和winrunner?,winapi,automation,Winapi,Automation,我想知道winrunner、QTP等测试自动化工具是如何工作的。这些工具是否使用windows提供的任何测试API,取决于IPC和事件。我搞不懂它们是怎么工作的。对我来说,QTP的录制和播放功能似乎很神奇。任何指导都将受到高度赞赏。我对QTP了解不多。但是如果你想了解内部情况,你可以下载开源项目,比如和,看看里面发生了什么。两者都用于web测试自动化。代码是免费提供的 如果您正在寻找像Nunit这样的单元测试框架。它们是属性驱动的。。Nunit通过TestFixture标识类,通过测试属性标识方

我想知道winrunner、QTP等测试自动化工具是如何工作的。这些工具是否使用windows提供的任何测试API,取决于IPC和事件。我搞不懂它们是怎么工作的。对我来说,QTP的录制和播放功能似乎很神奇。任何指导都将受到高度赞赏。

我对QTP了解不多。但是如果你想了解内部情况,你可以下载开源项目,比如和,看看里面发生了什么。两者都用于web测试自动化。代码是免费提供的


如果您正在寻找像Nunit这样的单元测试框架。它们是属性驱动的。。Nunit通过TestFixture标识类,通过测试属性标识方法。它扫描整个应用程序以查找这些测试方法并触发测试。

我对QTP了解不多。但是如果你想了解内部情况,你可以下载开源项目,比如和,看看里面发生了什么。两者都用于web测试自动化。代码是免费提供的


如果您正在寻找像Nunit这样的单元测试框架。它们是属性驱动的。。Nunit通过TestFixture标识类,通过测试属性标识方法。它扫描整个应用程序以查找这些测试方法并触发测试。

我猜他们使用的是Win32挂钩


编辑:一个在.NET中定义钩子的例子。

我猜他们使用的是Win32钩子


编辑:一个在.NET中定义钩子的例子。

实际上,WatiN是一个不错的起点。它并不完全是单元测试框架。它可能看起来像一个在第一眼,但它是用来编写功能测试。如果您像单元测试一样运行它们,这完全取决于您。我在用WatiN编写同一个测试,通过两种方式进行功能测试,模拟网页上的用户操作:

1在Powershell中编写脚本,与其他PS脚本一样从命令行运行。这很有趣,尽管您需要编写大量用于报告、异常处理和其他方面的代码。 2使用MSVS项目类型中的C单元测试在C中编写MSVS中的单元测试。这实际上很有趣,因为您只需要在MSV中运行它,就像单元测试一样,但您拥有对代码编写、报告和运行等的环境支持

所以,若你们想从一些东西开始,看看WatiN,特别是因为WatiN有一个专用的记录器,它用C语言记录动作和输出代码。看看库和工具的内部结构会给你们一些开始


只有一件事需要提及——这只是网络。桌面是完全不同的。有了web,你们就可以钩住IE,查询html文档中的对象,检查浏览器状态等等。使用桌面可能会更困难。您需要挂接到应用程序中,可能是通过提到的Win32hooks。也许可以尝试使用Microsoft脚本主机

事实上,沃特是个不错的起点。它并不完全是单元测试框架。它可能看起来像一个在第一眼,但它是用来编写功能测试。如果您像单元测试一样运行它们,这完全取决于您。我在用WatiN编写同一个测试,通过两种方式进行功能测试,模拟网页上的用户操作:

1在Powershell中编写脚本,与其他PS脚本一样从命令行运行。这很有趣,尽管您需要编写大量用于报告、异常处理和其他方面的代码。 2使用MSVS项目类型中的C单元测试在C中编写MSVS中的单元测试。这实际上很有趣,因为您只需要在MSV中运行它,就像单元测试一样,但您拥有对代码编写、报告和运行等的环境支持

所以,若你们想从一些东西开始,看看WatiN,特别是因为WatiN有一个专用的记录器,它用C语言记录动作和输出代码。看看库和工具的内部结构会给你们一些开始


只有一件事需要提及——这只是网络。桌面是完全不同的。有了web,你们就可以钩住IE,查询html文档中的对象,检查浏览器状态等等。使用桌面可能会更困难。您需要挂接到应用程序中,可能是通过提到的Win32hooks。也许可以尝试使用Microsoft脚本主机 < P>应该是使用C、C++的Win32/64编程,使用COM、OLE技术,它们可能使用的是Active Access API。毫无疑问,他们可能已经在这些技术上创建了一个大型API。甚至他们可能也使用了一些汇编编程。

嗨,我不是在寻找单元测试框架。我很想知道如何编写像QTP这样的应用程序。本质上,我想知道QTP如何在windows应用程序或web应用程序中记录您的操作并回放它们。编写这些应用程序就像编写调试程序一样。我也
想知道windows是否提供任何API来了解其他应用程序窗口中的控件。很抱歉给你带来困惑。嗨,我不是在找单元测试框架。我很想知道如何编写像QTP这样的应用程序。本质上,我想知道QTP如何在windows应用程序或web应用程序中记录您的操作并回放它们。编写这些应用程序就像编写调试程序一样。我还想知道windows是否提供任何API来了解其他应用程序窗口中的控件。很抱歉给你带来了困惑。