为了更方便的使用QTP进行自动化测试,一般情况下,我们都会开发一些配置管理工具。下面主要讲的是在开发配置管理工具的时候,外部调用QTP的方法:
前置条件:在添加引用窗体选中的"com" tab 下添加:QuickTest Professional xx Object Libary (xx 表示你的QTP版本号)
using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; namespace TaogeTest { class Program { public static void CheckQTPEXE() // 检查QTP是否存在 { Process[] processList = Process.GetProcessesByName("QTPro"); foreach(Process p in processList) { p.Kill(); } } static void Main(string[] args) { try { CheckQTPEXE(); QuickTest.Application app = new QuickTest.Application(); //创建QTP应用实例 string[] addinstr = { "Web", ".NET" }; // 加载插件 object addinName = addinstr; object errorDescription = ""; app.SetActiveAddins(ref addinName, out errorDescription); app.Launch(); // 调用QTP app.Visible = true; // 使其可见 app.Open(@"C:\myTest"); // 加载脚本 } catch(Exception e) { Console.WriteLine(e.Message); Console.ReadKey(); } } } }
在此需要说明的是:如果是在.net 3.5 的版本上编译的,那么在试用编译的exe时,需要Interop.QuickTest.dll;如果.net 是4.0以上的版本,那么直接使用编译好的exe就ok了。