是否可以使用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()?
答案 0 :(得分:1)
您确定Selenium IDE遇到$
问题吗?我能够从Selenium IDE访问它。你的jQuery表达式可能还有其他东西被打破了吗?您可以先尝试“assertEval $ 0”等,看看IDE是否可以单独评估$
吗?
答案 1 :(得分:1)
我发现selenium只能在以下情况下看到jquery函数:
window.$(...)
不是
$(...)
也许那是(部分)问题?