【问题标题】:Set ID to bootstrap/JQuery object for Automation testing将 ID 设置为 bootstrap/JQuery 对象以进行自动化测试
【发布时间】:2013-07-19 21:32:28
【问题描述】:

一些背景:为了做 UI 自动化脚本,我寻找对象 id,

例如,<input id="PrimaryAddress_StreetName" maxlength="20" name="PrimaryAddress.StreetName" type="text" value="" />

通过自动化脚本定位文本框并执行任何操作。

同样,我正在测试的应用程序是在 ASP.NET 中开发的,并且通过引导程序和 JQuery JS 文件实现了一些验证消息和弹出消息。

由于它们是动态创建的,因此我们的开发人员认为他们无法为这些对象提供 ID。这意味着,我看到了那些引导消息,但是当我查看源代码时,我没有对应的 html 标记。当我问开发人员时,他们说它是由 src Javascript 文件驱动的。

示例 JS 文件代码,

if (propertyTypeId == 2) {
  var content = 'Note:  You cannot have more than 8 rental units in total and no more than 4 rental units you own in any one structure.';
  $(this).popover({ title: 'Rental Note', content: content, trigger: 'manual' });
  $(this).popover('show');

我想知道是否有一种方法可以为这些对象设置一个 ID,以便我的自动化工具 (TestComplete) 可以检测到它并帮助我编写自动化脚本来测试应用程序。

【问题讨论】:

  • 没有理由不能提供他们的 ID。现在,用于测试的有用 id 是另一回事,如果没有更多上下文,我们无法回答这个问题。
  • 是的@madth3,我相信这应该很简单,但我们的开发人员是自动化测试的新手,所以他们可能不正确。你能举个例子来实现它吗?

标签: jquery twitter-bootstrap automation testcomplete


【解决方案1】:

我认为在您的情况下,最好的解决方案是通过文本或其他可以唯一标识对象的属性手动映射这些对象。使用 TestComplete 的Name Mapping 功能及其Required ChildrenExtended Find 功能。

【讨论】:

  • 是的,我现在正在使用 Find 或 FindChild 做类似的事情来定位对象。我将尝试 NameMapping 的Required Children 和 Extended Find 功能,看看是否会变得更好。
猜你喜欢
  • 1970-01-01
  • 2014-09-30
  • 2010-10-10
  • 1970-01-01
  • 2022-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-05
相关资源
最近更新 更多