【问题标题】:Dynamically building a URL in QTP在 QTP 中动态构建 URL
【发布时间】:2009-11-27 13:58:07
【问题描述】:

我与我们的一个测试团队一起快速浏览了 QTP。

我们已经弄清楚了一些基础知识,例如记录测试、使用输出值捕获文本、设置检查点等。

但是,我无法弄清楚如何执行以下操作...

我们有一个用户填写并提交的网络表单。这将创建一个项目并在数据库中为其分配一个 ID。我们可以捕获这个 ID。

随后的页面会显示所有项目的列表,其中包含可用于打开特定项目的链接。这是网页上的简单超链接。

我该怎么做:

  • 检查页面上是否存在具有从创建步骤分配的 ID 的链接?
  • 点击那个链接?

我确信这一定是可能的,但到目前为止我一直在努力探索这个工具,所以这是一个无耻的呼救,让我不必研究文档。

谢谢。

【问题讨论】:

  • 天堂禁止你阅读文档! ;o)

标签: testing automated-tests qtp webtest


【解决方案1】:
  1. 快速了解 QTP 中的 Web GUI 识别原理。进入描述性编程部分。

  2. 在 QTP 中查找 Link 对象的帮助。

  3. 使用描述性编程定义您的目标链接对象。 它应该类似于

    Set objTargetLink = Browser("title:=...").Page("title:=...").Frame("title:=...").Link("id:=target_id")

  4. 使用

    boolRC = objTargetLink.Exist(0)

    检查您的链接是否存在。

  5. 使用

    sURL = objTargetLink.GetTOProperty("url")

    检索实际的网址。您可以通过相同的方式获得其他属性。

  6. 使用objTargetLink.Click点击链接。

PS。不过,功能测试自动化有所不同。 请您的测试团队阅读有关自动化框架和自动化要求的信息。 我的博客上有一些东西。 http://automation-beyond.com/2009/06/06/qa-test-automation-requirements-usability/

谢谢你, 阿尔伯特·加里耶夫

http://automation-beyond.com/

【讨论】:

  • 很好的答案,唯一的问题是我认为 QTP 锚定了属性的开头和结尾,因此您可能不得不使用 "id:=.*target_id.*" 而不是 Albert 的建议。
  • 谢谢 - 我们会试一试。我认为我们会遇到的问题是我们的测试团队正在寻找一种主要是指向和点击的工具。这对于基本的东西来说似乎没问题。但是,如果您想做一些更棘手的事情,似乎我们必须放下代码。我们的测试人员不是开发人员——他们是纯粹的功能测试人员。所以我不确定我们会从 QTP 中获得多少里程。这是一个公平的评论还是我在损害该工具?
  • A_M,测试自动化确实需要被视为软件开发。正如您已经注意到“下拉代码”的需要。因此,如果没有编程技能,您将不会从任何自动化工具中获得巨大的成功。这可能需要开发人员提供帮助,或者增加一些具有良好编程能力的员工,以便能够构建强大且可维护的自动化套件。
  • Motti,没有让您了解“QTP 锚定属性的开头和结尾”。如果“target_id”应该是准确的而不是正则表达式,为什么要从中制作正则表达式?我刚刚尝试过: Browser("Google").Page("Google").WebButton("name:=Google Search").Click Browser("Google").Page("Google").WebButton ("name:=Google Se.*")。点击两种方式。
  • A_M,任何“点击”(=“记录/播放”)总是使用一次。创建成本低,但灵活性几乎为零,维护成本巨大。这就是为什么如果您对脚本有重大问题,只需将它们扔掉并从头开始记录......但无论如何不要指望良好的覆盖范围。 PS。 Tom E 非常同意,投了赞成票——他们确实需要团队中的自动化开发人员,而且他们必须首先投资框架。
猜你喜欢
  • 2011-01-14
  • 2021-12-04
  • 1970-01-01
  • 2015-08-11
  • 2019-02-03
  • 1970-01-01
  • 2014-10-04
  • 2014-01-17
  • 1970-01-01
相关资源
最近更新 更多