gpt4 book ai didi

performance - QTP 数据表操作*极其*慢(在 MMDRV 批处理执行器下好多了)?

转载 作者:行者123 更新时间:2023-12-02 21:50:46 25 4
gpt4 key购买 nike

可能是一个精彩的故事——QTP 似乎无缘无故地浪费了我们的工作时间:

考虑这个脚本,它有一个包含 26 列的全局行的数据表,名为“A”到“Z”,填充了任意值:

Print "Started"
Services.StartTransaction "Simpletest"
Set G=DataTable.GetSheet ("Global")
For J=1 to 26
For I=1 to 100
Set P=G.GetParameter (Chr (J+64))
If P.Value = "Hi" Then
End If
Next
Next
Services.EndTransaction "Simpletest"
Print "Ended"

在 QTP 10 下在我的blaster 上执行此操作需要15.1 秒。 (当然,动画运行已关闭。)

现在,我使用 QTP 的 bin 文件夹中的 mmdrv.exe 执行此操作,为其提供参数“-usr ''”,其中包含 QTP 测试 .usr 文件的全名。

这需要0.07秒

喂?性能提升了 215 倍,但功能相同。怎么来的?

我正在这里挖掘,因为我们用 QTP 数据表做了一些奇怪的事情,并且在 QTP 下面临严重的性能问题。我相信已经找到了 DataTable.GetSheet 和 DTSheet.GetParameter 属性/方法的原因。

现在我发现用于在 LoadRunner 场景中执行 QTP 测试的 MMDRV 没有这种性能损失,我想知道以下问题:

  • 是否有访问 xls 文件的 1:1 替代方案?
  • Ex-Mercury/HP 的人员难道不应该注意到 QTP 下的数据表访问效率非常低效(如 MMDRV.EXE 所示),并对此采取措施吗?
  • 据我所知,所有其他 QTP 功能在 MMDRV 和 QTP 下的速度都相当。有人能承认这一点吗?*还有其他人知道这件事吗?

感谢您的回复,无论它们有多么令人不安。

* 更新 * 在 QTP 不可见的情况下执行需要 1.54 秒。正如答案之一所述,仅通过隐藏 QTP 即可实现 10 倍的改进。叹息。

最佳答案

我们在使用 QTP 时也遇到了同样的性能问题。经过调查,我们将问题集中在两个方面。

  • 数据表(糟糕的性能)
  • QTP 可见/不可见

我们发现 QTP 隐藏时运行速度快 5-6 倍

我们制作了一个小脚本来在开发/调试时切换 QTP 可见性(因为您始终可以强制 QTP 在远程代理设置中隐藏) '该脚本用于显示/隐藏QTP窗口 'QTP 隐藏时运行速度更快

Dim qtApp
Set qtApp = CreateObject("QuickTest.Application")
qtApp.Launch ' Start QuickTest
If qtApp.Visible = False Then ' Make the QuickTest application invisible/visible
qtApp.Visible = True
Else
qtApp.Visible = False
End If

您能否分享一下缓存数据表的想法,因为我们正在考虑开发相同的机制,并且如果看到这样的示例将会受益匪浅。

亲切的问候,阿什拉夫

关于performance - QTP 数据表操作*极其*慢(在 MMDRV 批处理执行器下好多了)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6859323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com