使用Selenium来测试jQuery元素数据()?

时间:2009-08-13 13:48:03

标签: javascript jquery unit-testing selenium

是否可以使用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()?

2 个答案:

答案 0 :(得分:1)

您确定Selenium IDE遇到$问题吗?我能够从Selenium IDE访问它。你的jQuery表达式可能还有其他东西被打破了吗?您可以先尝试“assertEval $ 0”等,看看IDE是否可以单独评估$吗?

答案 1 :(得分:1)

我发现selenium只能在以下情况下看到jquery函数:

window.$(...)

不是

$(...)

也许那是(部分)问题?