如何对具有名称不断变化的文本框的页面进行Selenium测试?

时间:2010-10-06 22:51:48

标签: selenium selenium-ide

我正在尝试创建一个可以在页面上的登录表单中输入用户名和密码的测试。但是,文本框名称会在页面的每次加载时更改,因此每次运行时测试都会停止。

如何设置Selenium IDE以便在刷新时识别文本框?

4 个答案:

答案 0 :(得分:4)

我假设文本框每次只更改ID的一部分而不是整个ID。

为了解决这个问题,我建议像上面的人一样使用xpath,但要让它更健壮,因为它每次只能找到那个元素。

e.g。

//input[contains(@id,'thePartOfTheIdThatNeverChanges')]

//input[starts-with(@id,'thePartOfTheIdThatNeverChanges')]

//input[ends-with(@id,'thePartOfTheIdThatNeverChanges')]

答案 1 :(得分:2)

// form 1(3) - HTML中的第一个表单元素

here拉出来作为示例这是利用XPath。从理论上讲,你可以利用XPath专注于解析XHTML的结构,但这是相当脆弱的,所以它不一定是明智的事情,但它应该照顾你的问题。

答案 2 :(得分:1)

文本框的位置是否更改,或仅更改名称?

如果文本框位于同一位置,您可以使用css或xpath选择器获取文本框。

答案 3 :(得分:1)

我会推荐CSS因为 - 一个。为了便于阅读 湾为了便于访问(在您的情况下,可维护性)。

我使用firebug来访问/制定CSS标识符。