【问题标题】:Stop QTP execution using c#使用 c# 停止 QTP 执行
【发布时间】:2012-05-06 15:11:42
【问题描述】:

我最近开始研究 Selenium 和 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 的相同行为对我来说很常见。当我执行测试(WinXP、QPT10、网络插件)时,我无法使用停止/暂停按钮停止或暂停它。一旦我按下它,QTP 就会挂起,我必须终止该进程。我使用的解决方法是在我知道代码流将通过的部分放置一个断点(在运行时)。从断点开始,我可以暂停或停止测试。我不使用 C# 与 QTP 交互,但它可能有一个 COM 接口方法来放置或触发断点?
  • @AutomatedChaos:感谢您的 cmets。我可以使用变通方法暂停测试,但没有运气停止它。我已经让我的团队成员询问惠普这是否是一个已知问题。我搜索但一无所获。我也是 c#、qtp 的新手,所以不确定这是否是预期的行为。
  • 好吧,如果您是 QTP 和 C# 的新手,那么您肯定想阅读这篇文章 Creating an event interrupt in QTP。与您的问题没有非常相关,但它是一本很好的教育读物,也许它会促使您为您的实际问题提出解决方案。
  • 感谢 AutomatedChaos。我设法找到了解决方案。在阅读了一些 .net 内容后,我向相关代码.com/contact/ 发送了消息,并收到了一个类库,其中包含我想要的部分 + c# 中的一些其他 c 样式代码。不知道那是做什么的。 :)

标签: c# qtp


【解决方案1】:

杀掉QTP的进程,而不是停止执行呢?能解决你的问题吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    相关资源
    最近更新 更多