【发布时间】:2012-09-24 10:26:32
【问题描述】:
我正在使用 JSF 1.2。我们想编写一些 selenium 测试(基于 xpath),但 xpath 似乎没有元素 id 的通配符匹配。
我们无法关闭前缀 ID,因为我们在 IBM Portal Server 6.1 中作为 portlet 运行,并且我们的应用程序在前缀关闭的环境中中断。
目前我们正在使用格式为
的 xpath//*[substring(@id, 54)='id_distributorName']
将匹配:
<select size="1" class="firstName" name="viewns_7_8000CB1A0GUIE0IJF799CR10O2_:commonEntryForm:id_distributorName" id="viewns_7_8000CB1A0GUIE0IJF799CR10O2_:commonEntryForm:id_distributorName" >
但令我震惊的是,假设 JSF 将始终生成相同长度的 viewId 是危险的。
有没有更好的方法来做到这一点?
我们已经尝试为我们的输入控件使用name 属性,但当然 JSF 会忽略该属性并写入它自己的 name 属性,其值与 id 可能是出于处理脚本的原因)
【问题讨论】: