繁体   English   中英

开发人员如何为Grid中的HTML控件分配可以由自动化测试工具(如代码UI)使用的HTML的唯一ID?

[英]How developers can assign Unique Id for HTML Controls in Grid which can used by Automation Test tool like Code UI?

我正在使用Angular JS-ng-table。 生成具有排序,过滤,分页功能的网格结构。

我们正在使用编码的UI自动化工具,该工具期望所有HTML控件都应该是唯一的。

例如 :

让Grid Table由Employee记录组成。

Automation Tester编写了一个测试用例,期望前1-10个记录具有唯一的ID(Emp1-to-Emp10),并且不会更改。

但是,当Tester对Grid进行排序时,将更改Grid的整个结构。 前10个记录将具有-Emp11,Emp1,Emp4,Emp5,Emp37,Emp42,Emp67,Emp89,Emp12,Emp10。

当测试员重新测试测试用例时失败。

那么,如何通过Angular JS + Coded UI的组合来保持动态记录唯一ID的一致性?

谢谢Gokul

我会说发生的事情是预期的排序行为。

您可以解决问题的一些方法。 从测试人员的角度来看:

  • 测试应在结束之前将页面恢复到初始状态。 例如,如果测试对表进行排序,则应在完成之前“取消排序”表。 这样会使数据保持在预期状态,以便可以重复测试

  • 不要按ID选择事物。 我所知道的所有测试框架都允许您通过css选择器进行选择,而选择器可以进行比id更强大的选择。 例如,您可以按员工ID查找一行,而无论表格按什么顺序查找它。

从开发人员的角度来看:

  • 我假设这些行是数组中的项。 您可以将唯一的ID作为属性分配给数组中的每个项目,并在模板标记中使用它。 唯一ID不会受到任何排序的影响。

除非您使用一个非常不寻常的框架或受奇怪规则约束,否则我建议修改自动测试而不是代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM