3 Replies Latest reply on Sep 21, 2007 6:10 PM by Sergey Smirnov

    3.0 vs. 3.1 -- id changes

    steve tynor Novice

      I have a Seam based application using Richfaces and have just upgraded from Seam 1.2.1 (which was using Richfaces 3.0.1) to Seam 2.0.0 (which uses 3.1.1-SNAPSHOT).

      A change to the way id's are assigned has broken my Selenium tests.

      <rich:dataTable id="userList"
       rows="20"
       var="user"
       value="#{userList.resultList}"
       rendered="#{not empty userList.resultList}">
      ...
       <h:column id="action">
       <f:facet name="header">action</f:facet>
       <s:link view="/admin/UserEdit.xhtml"
       value="Edit..."
       id="user">
       <f:param name="userUserId"
       value="#{user.userId}"/>
       </s:link>
       </h:column>
       </rich:dataTable>


      The Edit... links in this table used to be addressable from Selenium scripts as
      userListForm:userList:0:user

      now they are simply
      user

      Here's the HTML source for the 3.1 base app:
      <td id="userListForm:userList:0:action" class="dr-table-cell rich-table-cell ">
      <a href="/myapp/admin/UserEdit.seam?userUserId=1&cid=9" id="user">Edit...</a></td>

      Here's what it looked like in 3.0.1:
      <td id="userListForm:userList:0:action" class="dr-table-cell rich-table-cell ">
      <a id="userListForm:userList:0:user" href="/myapp/admin/UserEdit.seam?userUserId=1&cid=4">Edit...</a></td>

      They no longer include the row id in the link id. What can I do to get a rowid back into the id so that my tests can distinguish row0 from row15?

      Thanks!