我需要一种方法来测试和验证我的UI表内容是否填充了数据库中的正确项并正确排序。目前,我有一个查询返回我需要的数据(在其中一个列上不区分大小写),然后将该查询结果放入DataTable类型。然后我在C#/ Selenium中有一个方法将UI的表内容转换为DataTable类型。我想在这两个数据表上执行Assert AreEqual或自定义断言以确保它们匹配。
但是我遇到了问题,因为需要验证的表是在包含一堆相同字的不同案例项的列上排序的,并且所述表的要求指定此列应该不区分大小写地排序。
所以每次加载页面时,那些相同单词的不同案例项有时会在列表/表中的不同索引处。例如,我可以第一次加载页面并查看:
NETWORK COLUMNTHATISSORTED
Net1 word 1
Net2 WORD 2
Net3 word 2
Net4 WORD 2
Net5 word 3
我可以第二次加载页面并看到:
NETWORK COLUMNTHATISSORTED
Net1 word 1
Net3 word 2
Net4 WORD 2
Net2 WORD 2
Net5 word 3
根据要求,这是完全正常的,不被视为缺陷。但是出于自动化测试的目的,我无法想到一种代码的方法。如果我使用简单的AreEqual Assert,则相同单词不同情况项的不一致性有时会导致测试失败。如何使用C#或Selenium代码解决这个问题?
答案 0 :(得分:0)
您可以在断言之前对UI数据表进行排序,例如:
datatable.DefaultView.Sort = "NETWORK";
datatable = datatable.DefaultView.ToTable();