I see, that should be a bug, I will fix it soon. On Fri, May 15, 2009 at 5:18 AM, Rohan Holt <[email protected]> wrote:
> Thanks Jian, That works now. There are still some issues with getListSize > though. > In order to use the XPath version of getListSize you cannot just call > getListSizeByXPath(), you have to disableJQuerySelector before the > getListSize call then re enable JQuery. > > Just calling getListSizeByXPath() results in invalid xpath statements. > > 10:04:32.817 INFO - Command request: getXpathCount[jquery=#main > div.myBox/div, ] on session 21c2e4d3b60942d497eb080078c8998a > 10:04:32.858 INFO - Got result: ERROR: Invalid xpath: jquery=#main > div.myBox/div on session 21c2e4d3b60942d497eb080078c8998a > > R > > On 14 May 2009, at 19:58, Jian Fang wrote: > > I updated the trunk/core code to work around this problem and redeployed > core 0.6.0 to Maven repo. Please see the > InternalProfileTestCase. > > Later, we may need to re-visit this issue since the group locating may be > affected without the position information if we > have multiple elements with the same tag. > > Thanks, > > Jian > > On Thu, May 14, 2009 at 2:51 PM, Rohan Holt <[email protected]> wrote: > >> That sounds like the easiest solution. Thanks for the update. >> R >> >> On 14 May 2009, at 19:39, Jian Fang wrote: >> >> I created a test case using your html and UI module and can re-produce >> your error. >> Seems jQuery does have limitation/issue on the has() selector. One way to >> work around this >> is to let Tellurium core filter out the position attribute when build the >> has() selector. >> >> On Thu, May 14, 2009 at 12:23 PM, Jian Fang <[email protected]>wrote: >> >>> Rohan, >>> >>> Thanks for reporting this. Just saw the post because of the Google >>> outage. >>> >>> I will look into it. >>> >>> Mikhail, could you please add the html in the post to Tellurium test page >>> so that I >>> can create a test case for it? >>> >>> Thanks, >>> >>> Jian >>> >>> >>> On Thu, May 14, 2009 at 11:06 AM, rohanh <[email protected]> wrote: >>> >>>> >>>> Not sure if this is a Tellurium issue or a JQuery issue but given the >>>> following model >>>> >>>> Form(uid: "UserEditPrivateProfileForm", clocator: [tag: "form", >>>> name: "theForm", method: "post"], group: "true"){ >>>> /* >>>> InputBox(uid: "Address1" ,clocator: [tag: "input" , >>>> type: "text" ,name: "address1"]) >>>> InputBox(uid: "Address2" ,clocator: [tag: "input" , >>>> type: >>>> "text" ,name: "address2"]) >>>> InputBox(uid: "Address3" ,clocator: [tag: "input" , >>>> type: >>>> "text" ,name: "city"]) >>>> InputBox(uid: "PostCode" ,clocator: [tag: "input" , >>>> type: >>>> "text" ,name: "postcode"]) >>>> InputBox(uid: "Telephone" ,clocator: [tag: "input" , >>>> type: >>>> "text" ,name: "tel"]) >>>> InputBox(uid: "Email" ,clocator: [tag: "input" , >>>> type: >>>> "text" ,name: "email"]) >>>> Selector(uid: "Gender" ,clocator: [tag: "select", >>>> name: "gender"]) >>>> InputBox(uid: "Mobile" ,clocator: [tag: "input" , >>>> type: >>>> "text" ,name: "Mobile"]) >>>> */ >>>> List(uid: "Fields" , clocator: [tag: "div", class: >>>> "test", position: "2"], separator: "div") { >>>> Container(uid: "all") { >>>> InputBox(uid: "item" , clocator: [:]) >>>> Selector(uid: "selector", clocator: [:]) >>>> } >>>> } >>>> SubmitButton(uid: "Submit" ,clocator: [tag: "input" , >>>> type: >>>> "submit",name: "submit"], respond: ["click", "mouseOut", "mouseOver"]) >>>> } >>>> >>>> >>>> a call to getListSize("UserEditPrivateProfileForm.Fields") generates >>>> the following JQuery selector: >>>> >>>> 5:11:00.631 INFO - Command request: getListSize[jquery=#main form >>>> [name=theForm][method=post]:has(div.test:eq(1), input[type=submit] >>>> [name=submit]) div.test:eq(1), div] on session >>>> 65c1e3d5c462489cb6402b2d663a99ef >>>> 15:11:00.647 INFO - Got result: ERROR: Element jquery=#main form >>>> [name=theForm][method=post]:has(div.test:eq(1), input[type=submit] >>>> [name=submit]) div.test:eq(1) not found on session >>>> 65c1e3d5c462489cb6402b2d663a99ef >>>> >>>> The problem with this seems to be the :eq(1) within the has(). If I >>>> change the selector from >>>> >>>> #main form[name=theForm][method=post]:has(div.test:eq(1), input >>>> [type=submit][name=submit]) div.test:eq(1) >>>> >>>> to >>>> >>>> #main form[name=theForm][method=post]:has(div.test, input[type=submit] >>>> [name=submit]) div.test:eq(1) >>>> >>>> The correct List div is returned.... >>>> >>>> Maybe this is a restriction with JQuery but I am not sure. I would >>>> have expected a has() to take any valid selector... >>>> >>>> Here is the html to test with if you wish: >>>> >>>> <form method="post" name="theForm"> >>>> <div class="domtab3"> >>>> <ul class="domtabs3"> >>>> <li><a href="#t1" title="Internal >>>> Profile"><span>Internal Profile</span></a></li> >>>> <li><a href="#t2" title="Private Profile"><span>Private >>>> Profile</span></a></li> >>>> <li><a href="#t3" title="Public Profile"><span>Public >>>> Profile</span></a></li> >>>> <li><a href="#t4" title="Work History"><span>Work >>>> History</span></a></li> >>>> </ul> >>>> <INPUT TYPE="hidden" NAME="tabsub" ID="tabsub" >>>> VALUE="internal"> >>>> <div class="test"> >>>> <span><a name="t1" id="t1"></a></span> >>>> </div> >>>> <div class="test"> >>>> <span><a name="t2" id="t2"></a></span> >>>> <div> >>>> <div>Address</div> >>>> <div><input type="text" name="address1" >>>> value="address line 1" size="40" ></div> >>>> </div> >>>> <div> >>>> <div></div> >>>> <div><input type="text" name="address2" >>>> value="address line 2" size="40" ></div> >>>> </div> >>>> <div> >>>> <div></div> >>>> <div><input type="text" name="city" value="address >>>> line 3" size="30" ></div> >>>> </div> >>>> <div> >>>> <div>Postcode</div> >>>> <div><input type="text" name="postcode" >>>> value="postcode" size="30" ></div> >>>> </div> >>>> <div> >>>> <div>Tel*</div> >>>> <div><input type="text" value="" size="30" >>>> name="tel"></div> >>>> </div> >>>> <div> >>>> <div>Email*</div> >>>> <div><input type="text" >>>> value="[email protected]" size="30" name="email"></div> >>>> </div> >>>> <INPUT TYPE="submit" NAME="submit" VALUE="Save" >>>> class='submit' onClick="d=document.getElementById >>>> ('tabsub');d.value='private';return true;"> >>>> </div> >>>> <div class="test"> >>>> <span><a name="t3" id="t3"></a></span> >>>> <div> >>>> <div>Name</div> >>>> <div><input type="text" size="30" >>>> name="newusername" value="admin"></div> >>>> </div> >>>> <div> >>>> <div><strong>Birth Date</strong></div> >>>> <div><input name="Birth Date" type="text" size="30" >>>> value=""></div> >>>> </div> >>>> <div> >>>> <div><strong>Job Title</strong></div> >>>> <div><input name="Job Title" type="text" size="30" >>>> value=""></div> >>>> </div> >>>> <div> >>>> <div><strong>Company</strong></div> >>>> <div><input name="Company" type="text" size="30" >>>> value=""></div> >>>> </div> >>>> >>>> <INPUT TYPE="submit" NAME="submit" VALUE="Save" >>>> class='submit' onClick="d=document.getElementById >>>> ('tabsub');d.value='public';"> >>>> </div> >>>> <div class="test"> >>>> <span><a name="t4" id="t4"></a></span> >>>> <a href="/members/admin/index_edit.html? >>>> add_new_job=1">Add new job...</a><br><br> >>>> <INPUT TYPE="submit" NAME="submit" VALUE="Save" >>>> class='submit' onClick="d=document.getElementById >>>> ('tabsub');d.value='jobs';;return 1;"> >>>> </div> >>>> </div> >>>> </form> >>>> >>>> >>>> >>> >> >> >> >> >> >> >> > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
