Hi Jian,
Thanks for the feedback. I've taken the separator off of the table
definition. Here's the new def:
Table(uid: "AddMembersThickboxTable", clocator: [id:
"aspect_vireo_admin_Settings_table_group-edit-search-eperson", class:
"ds-table search-results"], ht: "tr") {
// table headers
TextBox(uid: "{header: 1} as addButton",
clocator: [text: "Add",
tag: "th"], self: true)
TextBox(uid: "{header: 2} as name", clocator:
[text: "Name", tag:
"th"], self: true)
TextBox(uid: "{header: 3} as email", clocator:
[text: "Email",
tag: "th"], self: true)
// all rows and columns
SubmitButton(uid: "{row: all, column: 1} as
addButtons", clocator:
[name: "*submit_add_eperson_"])
// The rest of the columns
TextBox(uid: "{row: all, column: all}",
clocator: [tag: "td",
class: "ds-table-cell"], self: true)
}
I've also tried without the ht: "tr" but I get a selenium error
message:
com.thoughtworks.selenium.SeleniumException: ERROR: Element
#aspect_vireo_admin_Settings_table_group-edit-search-eperson > tbody >
tr:has(td) not found
message: Element #aspect_vireo_admin_Settings_table_group-edit-search-
eperson > tbody > tr:has(td) not found, name: Error, filename:
http://localhost:4444/selenium-server/core/scripts/htmlutils.js,
linenumber: 814.
When looking at Tellurium's Table.groovy file, it appears to always
expect the tbody tag and the jquery plugin, thickbox, doesn't include
a tbody tag. Is there a way to model a table that doesn't have a tbody
tag?
Jade
On Oct 15, 10:39 am, Jian Fang <[email protected]> wrote:
> A quick look at your UI module and seems you should not add separator for
> the Table object.
> I will create a test case for you later.
>
> Thanks,
>
> Jian
>
>
>
>
>
>
>
> On Thu, Oct 14, 2010 at 5:34 PM, Jade <[email protected]> wrote:
> > We have a a form that contains many elements including a table that
> > contains many rows and columns. For the test, I want to do the
> > following:
>
> > 1. Get the number of submit buttons in the table that start with the
> > name submit_add_eperson_
>
> > 2. If that number is one or more, click on the first submit button in
> > the table and then verify that the table cell text replaced the button
> > with this text "Current Member".
>
> > I tried modelling the table and module as:
>
> > ui.Form(uid: "AddMembersThickbox", clocator: [tag: "div"], id:
> > "TB_window") {
>
> > // Title
> > Div(uid: "AddMembersTitleDiv", clocator: [id:
> > "TB_title"]) {
>
> > Div(uid: "AddMembersTitle", clocator: [id:
> > "TB_ajaxWindowTitle"])
> > }
>
> > // Table of Members
> > Table(uid: "AddMembersThickboxTable", clocator: [id:
> > "aspect_vireo_admin_Settings_table_group-edit-search-eperson", class:
> > "ds-table search-results"], separator: "tr") {
> > // table headers
> > // UrlLink(uid:
> > "{header: 1} as addButton", clocator: [text:
> > "Add"], separator: "th")
> > // UrlLink(uid:
> > "{header: 2} as name", clocator: [text:
> > "Name"])
> > // UrlLink(uid:
> > "{header: 3} as email", clocator: [text:
> > "Email"])
> > // all rows and columns
> > SubmitButton(uid: "{row: all, column: 1} as
> > addButtons", clocator:
> > [name: "*submit_add_eperson_"])
> > // The rest of the columns
> > Div(uid: "{row: all, column: all}",
> > clocator: [tag: "td", class:
> > "ds-table-cell"])
> > }
>
> > // Add buttons to add a member
> > // ids's start with:
> > aspect_vireo_admin_Settings_field_submit_add_eperson_
> > SubmitButton(uid: "Submit", clocator: [tag: "input",
> > type:
> > "submit", name: "^submit_add_eperson_", class: "ds-button-field"])
>
> > UrlLink(uid: "CloseThickbox", clocator: [id:
> > "TB_closeWindowButton", text: "close"])
> > }
>
> > Here's the HTML of the table:
>
> > <table id="aspect_vireo_admin_Settings_table_group-edit-search-
> > eperson" class="ds-table search-results">
> > <tr class="ds-table-header-row">
> > <th class="ds-table-header-cell odd">Add</th>
> > <th class="ds-table-header-cell even">Name</th>
> > <th class="ds-table-header-cell odd">Email</th>
> > </tr>
> > <tr class="ds-table-row even">
> > <td class="ds-table-cell odd">Current Member</td>
> > <td class="ds-table-cell even">admin a</td>
> > <td class="ds-table-cell odd">[email protected]</td>
> > </tr>
> > <tr class="ds-table-row odd">
> > <td class="ds-table-cell odd">
> > <input id="aspect_vireo_admin_Settings_field_submit_add_eperson_5"
> > class="ds-button-field submit_add_eperson" name="submit_add_eperson_5"
> > type="submit" value="Add" />
> > </td>
> > <td class="ds-table-cell even">admin a</td>
> > <td class="ds-table-cell odd">[email protected]</td>
> > </tr>
> > <tr class="ds-table-row even">
> > <td class="ds-table-cell odd">
> > <input id="aspect_vireo_admin_Settings_field_submit_add_eperson_4"
> > class="ds-button-field submit_add_eperson" name="submit_add_eperson_4"
> > type="submit" value="Add" />
> > </td>
> > <td class="ds-table-cell even">S A a</td>
> > <td class="ds-table-cell odd">[email protected]</td>
> > </tr>
> > <tr class="ds-table-row odd">
> > <td class="ds-table-cell odd">
> > <input id="aspect_vireo_admin_Settings_field_submit_add_eperson_2"
> > class="ds-button-field submit_add_eperson" name="submit_add_eperson_2"
> > type="submit" value="Add" />
> > </td>
> > <td class="ds-table-cell even">manager a m</td>
> > <td class="ds-table-cell odd">[email protected]</td>
> > </tr>
> > <tr class="ds-table-row even">
> > <td class="ds-table-cell odd">Current Member</td>
> > <td class="ds-table-cell even">Manager B m</td>
> > <td class="ds-table-cell odd">[email protected]</td>
> > </tr>
> > <tr class="ds-table-row odd">
> > <td class="ds-table-cell odd">
> > <input id="aspect_vireo_admin_Settings_field_submit_add_eperson_6"
> > class="ds-button-field submit_add_eperson" name="submit_add_eperson_6"
> > type="submit" value="Add" />
> > </td>
> > <td class="ds-table-cell even">Faculty Member</td>
> > <td class="ds-table-cell odd">[email protected]</td>
> > </tr>
> > <tr class="ds-table-row even">
> > <td class="ds-table-cell odd">
> > <input id="aspect_vireo_admin_Settings_field_submit_add_eperson_7"
> > class="ds-button-field submit_add_eperson" name="submit_add_eperson_7"
> > type="submit" value="Add" />
> > </td>
> > <td class="ds-table-cell even">Faculty Member</td>
> > <td class="ds-table-cell odd">[email protected]</td>
> > </tr>
> > </table>
>
> > This is the error message that I get when I try to access the
> > addButtons:
>
> > ["jquery=#aspect_vireo_admin_Settings_table_group-edit-search-eperson
> > > tbody > tr:has(td):eq(0) > td"],"name":"getCssSelectorCount","sequ":
> > 36}], ] on session 43d47bfe4e5a4651ab22d35c44a0957b
> > 14:52:22.389 INFO - Got result: ERROR: Element
> > #aspect_vireo_admin_Settings_table_group-edit-search-eperson > tbody >
> > tr:has(td):eq(0) > td not found
> > message: Element #aspect_vireo_admin_Settings_table_group-edit-search-
> > eperson > tbody > tr:has(td):eq(0) > td not found, name: Error,
> > filename:http://localhost:4444/selenium-server/core/scripts/htmlutils.js,
> > linenumber: 814.
> > JavaScript Error Stack:
> > SeleniumError("Element #aspect_vireo_admin_Settings_table_group-edit-
> > search-eperson > tbody > tr:has(td):eq(0) > td not found")@http://
> > localhost:4444/selenium-server/core/scripts/htmlutils.js:814
>
> > Any help in changing the code so I can click on the first button and
> > then read back the text in that cell would be appreciated.
>
> > the toString and dump information is:
>
> > Dump locator information for
> > AddMembersThickbox.AddMembersThickboxTable
> > -------------------------------------------------------
> > AddMembersThickbox.AddMembersThickboxTable:
> > jquery=#aspect_vireo_admin_Settings_table_group-edit-search-eperson
> > AddMembersThickbox.AddMembersThickboxTable[1][1]:
> > jquery=#aspect_vireo_admin_Settings_table_group-edit-search-eperson >
> > tbody > tr:has(td):eq(0) > td:eq(0) input[name*=submit_add_eperson_]
> > [type=submit]
> > AddMembersThickbox.AddMembersThickboxTable[1][2]:
> > jquery=#aspect_vireo_admin_Settings_table_group-edit-search-eperson >
> > tbody > tr:has(td):eq(0) > td:eq(1) td.ds-table-cell
> > AddMembersThickbox.AddMembersThickboxTable[2][1]:
> > jquery=#aspect_vireo_admin_Settings_table_group-edit-search-eperson >
> > tbody > tr:has(td):eq(1) > td:eq(0) input[name*=submit_add_eperson_]
> > [type=submit]
> > AddMembersThickbox.AddMembersThickboxTable[2][2]:
> > jquery=#aspect_vireo_admin_Settings_table_group-edit-search-eperson >
> > tbody > tr:has(td):eq(1) > td:eq(1) td.ds-table-cell
> > -------------------------------------------------------
>
> > [{"obj":{"uid":"AddMembersThickboxTable","locator":
> > {"tag":"table","attributes":
> > {"id":"aspect_vireo_admin_Settings_table_group-edit-search-
> > eperson","class":"ds-table search-
> > results"}},"uiType":"Table","metaData":
>
> > {"id":"AddMembersThickboxTable","type":"UiObject"}},"key":"AddMembersThickb
> > ox.AddMembersThickboxTable"},
> > {"obj":{"uid":"addButtons","locator":{"tag":"input","attributes":
>
> > {"name":"*submit_add_eperson_","type":"submit"}},"uiType":"SubmitButton","m
> > etaData":
> > {"id":"addButtons","tbody":{"value":"1","type":"VAL"},"column":
> > {"value":"1","type":"VAL"},"type":"TBody","row":
>
> > {"value":"all","type":"VAL"}}},"key":"AddMembersThickbox.AddMembersThickbox
> > Table.addButtons"},
> > {"obj":{"uid":"_1_all_all","locator":{"tag":"td","attributes":
> > {"class":"ds-table-cell"}},"uiType":"Div","metaData":
> > {"id":"_1_all_all","tbody":{"value":"1","type":"VAL"},"column":
> > {"value":"all","type":"VAL"},"type":"TBody","row":
>
> > {"value":"all","type":"VAL"}}},"key":"AddMembersThickbox.AddMembersThickbox
> > Table._1_all_all"}]
> > TE: Name: getValidateUiModule, start: 1287090483311, duration: 99ms
> > TE: Name: getValidateUiModule, start: 1287090483311, duration: 99ms
>
> > UI Module Validation Result for addButtons
>
> > -------------------------------------------------------
>
> > Found Exact Match: true
>
> > Found Closest Match: false
>
> > Match Count: 6
>
> > Match Score: 100
>
> > Jade
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "tellurium-users" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<tellurium-users%2Bunsubscribe@
> > googlegroups.com>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/tellurium-users?hl=en.
--
You received this message because you are subscribed to the Google Groups
"tellurium-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/tellurium-users?hl=en.