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

Reply via email to