1

我的测试自动化要求如下

  1. 从 QTP 以用户 A 身份打开 IE
  2. 执行一些操作并关闭 IE
  3. 在同一测试中从 QTP 以用户 B 身份打开 IE
  4. 执行一些操作
  5. 关闭红外

我能够使用模拟成功地实现第 1 步到第 3 步。http://www.sqaforums.com/download.php?Number=700264(.net dll 方法)

我已经验证了这种模拟与基于客户端服务器的操作(例如数据库调用、文件访问等)一起工作正常,但是当我打开 IE 时,qtp 停止识别 IE 上的对象(浏览器被识别为窗口)。我相信这是由于 QTP 钩子被注入到带有用户上下文 A 的 IE 中的原因。有没有办法可以克服这个问题并让 qtp 正确识别 IE 对象?

提前致谢。

4

2 回答 2

0

你不关闭IE如何,只需从用户A注销并从用户B再次登录。

问候。

于 2013-10-03T08:36:47.663 回答
0

我也有类似的问题...

场景是当我启动 IE 然后打开 QTP 时,QTP 将资源管理器识别为 Window

但是如果我先打开QTP再打开IE,它会识别为浏览器...

所以重启QTP可能会解决问题。所以我的建议是使用驱动脚本并在驱动脚本中包含模拟级别

  1. 使用驱动程序脚本打开 QTP.. 然后以用户 A 身份打开 IE
  2. 执行操作,使用 QTP 关闭 IE 并将结果存储在 Excel 中并使用驱动程序脚本关闭 QTP
  3. 在驱动程序脚本中执行模拟并打开 QTP,然后打开 IE。
  4. 执行动作

希望这能解决问题,并感谢分享模拟文档。学习新东西真是太好了!!!

于 2013-10-18T18:36:22.647 回答