Does anybody have sample of how to do this? I'm getting this error when I try to use the wicketpath
[error] Element //a [...@wicketpath = 'tablePanel_leftList_tableList_pojoList_18_nameCell_namePanelLink_name ']/div not found On Oct 19, 2009, at 3:43 PM, Igor Vaynberg wrote: > you have to write your selenium tests to use that attribute instead of > the component id. > > -igor > > On Mon, Oct 19, 2009 at 1:39 PM, Douglas Ferguson > <doug...@douglasferguson.us> wrote: >> I added this: >> >> getDebugSettings().setOutputComponentPath(true); >> >> to my init() method but selenium is still not happy. >> Do I have to run wicket it development mode or something to get these >> settings to work? >> >> >> D/ >> >> On Oct 15, 2009, at 11:19 AM, Igor Vaynberg wrote: >> >>> the only drawback is that it makes your markup longer and that it >>> will >>> take slightly more cpu because the page-relative path has to be >>> computed for every component on the page. >>> >>> -igor >>> >>> On Thu, Oct 15, 2009 at 9:04 AM, Douglas Ferguson >>> <doug...@douglasferguson.us> wrote: >>>> Is there any drawback to using this in production? >>>> >>>> >>>> On Oct 15, 2009, at 10:53 AM, Igor Vaynberg wrote: >>>> >>>>> see idebugsettings.setoutputcomponentpath, this will add >>>>> wicket:path='component's page relative path' attribute which is >>>>> stable >>>>> as long as you do not change the hierarchy and can be used for >>>>> writing >>>>> selenium tests. >>>>> >>>>> -igor >>>>> >>>>> On Thu, Oct 15, 2009 at 4:14 AM, Per Lundholm >>>>> <per.lundh...@gmail.com> wrote: >>>>>> Looks like a patch to make it easier to use Selenium to test your >>>>>> webapplication. >>>>>> >>>>>> Selenium is very fond of id in tags. >>>>>> >>>>>> /Per >>>>>> >>>>>> On Thu, Oct 15, 2009 at 9:58 AM, Daniel Frisk <dan...@jalbum.net> >>>>>> wrote: >>>>>>> Ok, I'm lazy and couldn't decipher that code at a glance. What >>>>>>> does it do? >>>>>>> >>>>>>> // Daniel >>>>>>> jalbum.net >>>>>>> >>>>>>> >>>>>>> >>>>>>> On 2009-10-15, at 03:09, Douglas Ferguson wrote: >>>>>>> >>>>>>>> Has anybody seen this: >>>>>>>> >>>>>>>> http://www.onehippo.org/cms7/integration_testing.html >>>>>>>> >>>>>>>> Seems like a nice alternative vs. having to set markupIds on >>>>>>>> all >>>>>>>> components. >>>>>>>> >>>>>>>> Thoughts? >>>>>>>> >>>>>>>> ............ >>>>>>>> >>>>>>>> They have a patch for wicket: >>>>>>>> >>>>>>>>> Index: jdk-1.4/wicket/src/main/java/org/apache/wicket/ >>>>>>>>> Session.java >>>>>>>>> = >>>>>>>>> = >>>>>>>>> = >>>>>>>>> = >>>>>>>>> = >>>>>>>>> ============================================================== >>>>>>>>> *** jdk-1.4/wicket/src/main/java/org/apache/wicket/ >>>>>>>>> Session.java >>>>>>>>> (revision 724306) >>>>>>>>> --- jdk-1.4/wicket/src/main/java/org/apache/wicket/ >>>>>>>>> Session.java >>>>>>>>> (working copy) >>>>>>>>> *************** >>>>>>>>> *** 1475,1478 **** >>>>>>>>> --- 1475,1489 ---- >>>>>>>>> { >>>>>>>>> return sequence++; >>>>>>>>> } >>>>>>>>> + >>>>>>>>> + /** >>>>>>>>> + * Retrieves the next available session-unique value >>>>>>>>> for >>>>>>>>> the >>>>>>>>> supplied Component >>>>>>>>> + * >>>>>>>>> + * @param component >>>>>>>>> + * the component which requests the >>>>>>>>> generation of a >>>>>>>>> markup identifier >>>>>>>>> + * @return session-unique value >>>>>>>>> + */ >>>>>>>>> + public Object getMarkupId(Component component) { >>>>>>>>> + return new Integer(nextSequenceValue()); >>>>>>>>> + } >>>>>>>>> } >>>>>>>>> Index: jdk-1.4/wicket/src/main/java/org/apache/wicket/ >>>>>>>>> Component.java >>>>>>>>> = >>>>>>>>> = >>>>>>>>> = >>>>>>>>> = >>>>>>>>> = >>>>>>>>> ============================================================== >>>>>>>>> *** jdk-1.4/wicket/src/main/java/org/apache/wicket/ >>>>>>>>> Component.java >>>>>>>>> (revision 724306) >>>>>>>>> --- jdk-1.4/wicket/src/main/java/org/apache/wicket/ >>>>>>>>> Component.java >>>>>>>>> (working copy) >>>>>>>>> *************** >>>>>>>>> *** 1426,1437 **** >>>>>>>>> return null; >>>>>>>>> } >>>>>>>>> >>>>>>>>> ! final int generatedMarkupId = storedMarkupId >>>>>>>>> instanceof >>>>>>>>> Integer >>>>>>>>> ! ? ((Integer)storedMarkupId).intValue >>>>>>>>> () : >>>>>>>>> Session.get >>>>>>>>> ().nextSequenceValue(); >>>>>>>>> ! >>>>>>>>> ! if (storedMarkupId == null) >>>>>>>>> ! { >>>>>>>>> ! setMarkupIdImpl(new Integer >>>>>>>>> (generatedMarkupId)); >>>>>>>>> } >>>>>>>>> >>>>>>>>> // try to read from markup >>>>>>>>> --- 1426,1445 ---- >>>>>>>>> return null; >>>>>>>>> } >>>>>>>>> >>>>>>>>> ! String markupIdPostfix; >>>>>>>>> ! if (!(storedMarkupId instanceof Integer)) { >>>>>>>>> ! Object markupIdFromSession = >>>>>>>>> Session.get().getMarkupId(this); >>>>>>>>> ! if (storedMarkupId == null && >>>>>>>>> markupIdFromSession >>>>>>>>> != null) { >>>>>>>>> ! setMarkupIdImpl >>>>>>>>> (markupIdFromSession); >>>>>>>>> ! } >>>>>>>>> ! storedMarkupId = markupIdFromSession; >>>>>>>>> ! } >>>>>>>>> ! if (storedMarkupId instanceof Integer) { >>>>>>>>> ! markupIdPostfix = Integer.toHexString >>>>>>>>> (((Integer) >>>>>>>>> storedMarkupId).intValue()).toLowerCase(); >>>>>>>>> ! } else if (storedMarkupId instanceof String) { >>>>>>>>> ! return (String) storedMarkupId; >>>>>>>>> ! } else { >>>>>>>>> ! markupIdPostfix = >>>>>>>>> storedMarkupId.toString >>>>>>>>> (); >>>>>>>>> } >>>>>>>>> >>>>>>>>> // try to read from markup >>>>>>>>> *************** >>>>>>>>> *** 1449,1455 **** >>>>>>>>> markupIdPrefix = getId(); >>>>>>>>> } >>>>>>>>> >>>>>>>>> - String markupIdPostfix = Integer.toHexString >>>>>>>>> (generatedMarkupId).toLowerCase(); >>>>>>>>> markupIdPostfix = RequestContext.get >>>>>>>>> ().encodeMarkupId >>>>>>>>> (markupIdPostfix); >>>>>>>>> >>>>>>>>> String markupId = markupIdPrefix + >>>>>>>>> markupIdPostfix; >>>>>>>>> --- 1457,1462 ---- >>>>>>>> >>>>>>>> >>>>>>>> Then in their session, they return stable ids >>>>>>>> >>>>>>>>> private Map<String,Integer> pluginComponentCounters = new >>>>>>>>> HashMap<String,Integer>(); >>>>>>>>> >>>>>>>>> // Do not add the @Override annotation on this >>>>>>>>> public Object getMarkupId(Component component) { >>>>>>>>> String markupId = null; >>>>>>>>> for (Component ancestor=component.getParent(); ancestor! >>>>>>>>> =null && markupId==null; ancestor=ancestor.getParent()) { >>>>>>>>> if (ancestor instanceof IPlugin || ancestor >>>>>>>>> instanceof >>>>>>>>> Home) { >>>>>>>>> markupId = ancestor.getMarkupId(true); >>>>>>>>> break; >>>>>>>>> } >>>>>>>>> } >>>>>>>>> if (markupId == null) { >>>>>>>>> return "root"; >>>>>>>>> } >>>>>>>>> int componentNum = 0; >>>>>>>>> if (pluginComponentCounters.containsKey(markupId)) { >>>>>>>>> componentNum = pluginComponentCounters.get >>>>>>>>> (markupId).intValue(); >>>>>>>>> } >>>>>>>>> ++componentNum; >>>>>>>>> pluginComponentCounters.put(markupId, new Integer >>>>>>>>> (componentNum)); >>>>>>>>> return markupId + "_" + componentNum; >>>>>>>>> } >>>>>>>>> } >>>>>>>> >>>>>>>> >>>>>>>> --------------------------------------------------------------------- >>>>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>>>>>> >>>>>>> >>>>>>> >>>>>>> --------------------------------------------------------------------- >>>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>>>>> >>>>>>> >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>>>> >>>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>>> >>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>> >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>> For additional commands, e-mail: users-h...@wicket.apache.org >>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> For additional commands, e-mail: users-h...@wicket.apache.org >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org