【发布时间】:2010-11-19 07:33:15
【问题描述】:
是否可以使用 selenium 来测试是否在元素上设置了 jQuery data()?
在我的应用中,用户输入了有关多个订单的信息。每个订单都会附加到概览表中,这样他们就可以看到他们的进度。除了可见的订单信息之外,我们还使用存储在 jquery.data() 中的数组存储了一些关于每个订单所需的额外信息,如下所示:
$('#table').data('orders').push(neworderdata)
我想编写一个 selenium 测试来断言当用户按下“添加订单”时,我的附加数据会添加到 $('#table').data('orders')。
我想我需要类似的东西:
Command: assertEval
Target: $('#table').data('order')[1].cust_no
Value: 99999
但我认为我遇到的问题是 Selenium IDE 不知道 jQuery 命名空间和函数,因此它不知道如何查找表。但是即使我使用了 getElementbyID('table'),我如何让 selenium 了解 data()?
【问题讨论】:
-
当然,另一种方法是在表格的每一行中的隐藏字段中添加我们的额外信息,这样 selenium 可以轻松找到它。但是,这不是我们所拥有的。该死的继承代码=)
标签: javascript jquery unit-testing selenium