C# 使用c停止QTP执行#

C# 使用c停止QTP执行#,c#,qtp,C#,Qtp,我最近开始研究硒和QTP。我的任务是满足测试团队的要求,使用C#编程停止QTP。这个小型实现是团队希望建立的框架的一部分 我不确定我做错了什么,但根据文档,我所做的在技术上应该是可行的,但事实并非如此 我可以获得测试状态等,但当我试图停止测试时,一切都出错了。QTP停止响应,我甚至无法手动停止测试。下面是我的代码: 示例1 QuickTest.Application qtp = new QuickTest.Application(); if (qtp.Test.IsRunning) {

我最近开始研究硒和QTP。我的任务是满足测试团队的要求,使用C#编程停止QTP。这个小型实现是团队希望建立的框架的一部分

我不确定我做错了什么,但根据文档,我所做的在技术上应该是可行的,但事实并非如此

我可以获得测试状态等,但当我试图停止测试时,一切都出错了。QTP停止响应,我甚至无法手动停止测试。下面是我的代码:

示例1

QuickTest.Application qtp = new QuickTest.Application();
if (qtp.Test.IsRunning)
{
    MessageBox.Show("Test is running"); // works
    qtp.Test.Stop(); // qtp halts and i can't stop execution manually also
}
示例2

与上面相同,只是我尝试使用以下语句连接到qtp:

var app = Marshal.ActivateObject("QuickTest.Application") as QuickTest.Application;

我做错了什么?

杀掉QTP的进程,而不是停止执行,怎么样?它能解决您的问题吗。

目前还没有人想出解决方案,我也没有,但QTP的相同行为对我来说很常见。当我执行测试(WinXP、QPT10、web加载项)时,我不能使用停止/暂停按钮停止或暂停测试。一旦我按下它,QTP就会挂起,我必须终止进程。我使用的解决方法是在我知道代码流将通过的部分上设置断点(在运行时)。从断点,我可以暂停或停止测试。我不使用C#与QTP接口,但它可能有一个COM接口方法用于放置或触发断点?@AutomatedChaos:谢谢您的评论。我可以使用变通方法暂停测试,但没有运气阻止它。我已要求我的团队成员询问HP这是否为已知问题。我搜索了一下,但什么也没找到。我对c#,qtp也是新手,所以不确定这是否是预期的行为。好吧,如果你对qtp和c#是新手,那么你肯定想读这篇文章。与你的问题不太相关,但这是一本很好的教育读物,也许它会促使你为你的实际问题想出一个解决方案。谢谢AutomatedChaos。我设法找到了解决办法。在阅读了一些.net内容后,我给relevantcodes.com/contact/发了一条消息,收到了一个类库,其中包含我想要的部分+一些c#中的其他c风格代码。不过,我不确定这会起什么作用。:)