2012-03-21 123 views
5

我使用Selenium IDE Firefox插件来创建一些测试用例。我点击录制按钮来记录这些步骤。当我完成后,我停止录制,并运行测试用例,看看事情进展如何。在HTML表格中的这一个特定元素中,Selenium在记录过程中标识为id=my_id_1;当我运行测试用例时,它会说元素id=my_id_1未找到。Selenium元素即使Selenium填充ID也没有找到

如何在Selenium IDE中检测到ID时找不到它?我怎样才能解决这个问题?我也尝试过使用//tr[4]/td[3]/a。使用这种方法(并使用ID),当我单击IDE中的查找按钮时,网页上的相应项目将以黄色突出显示。但是,测试用例会失败,说元素找不到。

由于提前, 蒙

+0

您确定该命令在页面实际加载之前未被执行吗? – 2012-03-21 23:07:45

回答

7

在Selenium尝试查找元素之前尝试在问题命令之前暂停以查看它是否未完全加载。如果解决了问题,则可以用更强大的等待条件替代暂停。

+0

非常感谢。我在命令前执行了一个ClickAndWait命令,并且执行了这个技巧。 – 2012-03-26 21:33:59

+1

+1,我遇到了同样的问题,并在暂停中添加了解决问题。 – Tim 2012-06-07 12:43:27

0

有可能是你将被重定向到不同的页面,命令执行之前,所以你得到元素没有发现错误,你可以执行命令前加上暂停的情况下,或者如果不是这种情况,请尝试通过名称,值或Xpath来定位元素,而不是ID

-1

在IDE的慢速模式下运行您的测试。

0

也许它是每次都创建一个新的ID。因此,你可以做的是给出一个正则表达式,就像我在下面使用的那个。

//form[@id='adminLogin']/div/div[4]/input 

试试吧。这对我有效。