0

AutomationProperties.AutomationId 附加属性似乎有两个目的:

  1. 在自动化验收测试期间识别 UI 控件。
  2. 可访问性。

鉴于有很多情况下在运行时生成 UI 控件(例如数据绑定树视图),这会迫使验收测试使用其他方式搜索控件,什么时候真正为 AutomationId 设置一个值是有意义的,什么值?决定哪些控件应该有哪些不应该是一个随意的过程吗?或者是否有一些所有开发人员都可以遵循的一般准则?

4

2 回答 2

4

AutomationId 确实是为了测试目的,所以你如何使用它取决于你想如何测试你的应用程序(或者,对于由团队而不是个人构建的应用程序,测试组想要如何测试应用程序)。AutomationId 的关键用途是允许测试代码可靠地找到一个元素,而不必引用诸如 Name 之类的东西,它可以在不同的本地化构建中发生变化(或者在开发过程中随着 UI 的调整而变化)。根本不需要使用 AutomationId;如果 test 有其他识别元素的方法,他们可以使用它而不是 AutomationId 未分配。

可访问性通常不使用它。它对最终用户没有任何意义,并且不能保证在任何给定控件中都存在;所以几乎没有什么用处可以用它来完成。

测试和可访问性确实有很多重叠;UIAutomation 的某些部分同时服务于两者,但也有部分服务于其中一个或另一个;AutomationId 是专门用于测试的部分之一。

于 2011-11-01T06:10:44.990 回答
0

这是任意的。QA 团队应该了解他们在自动化 UI 测试期间需要的控件,并且您需要为他们单独分配唯一的 ID 以简化测试人员的工作。至少我是这么理解的。我没有遇到任何关于此的指导方针。

于 2015-12-10T10:20:50.330 回答