The partial match String "*" should be at the beginning of the string, i.e.,
not "helloForm:textCol*" and should be "*helloForm:textCol".

If you only have one tbody tag, the tbody section can be omitted and you
don't really need the partial matching since the Table is accessed by row
and column. I would suggest you try the following UI module

        ui.StandardTable(uid: "HelloFormoutGrid", clocator: [tag: "table",
id: "helloForm:outGrid"]){
            InputBox(uid: "{row: all, column: 1}", clocator: [type: "text"])
        }

Thanks,

Jian

On Tue, Aug 24, 2010 at 1:15 AM, Eric Gokavi <[email protected]> wrote:

> Hello,
>
> As you had suggested i used the getHTMLSource() method on my grid.
> I am just posting the results, unfortunately my solution is still not
> working.. :(
> The problem i posted in the last post still persists.
>
> My JSF Grid code is :
> ------------------------------------
>
> <h:form id="helloForm">
>           <h:panelGrid columns="4" border="10" id="outGrid">
>                       <f:facet name="header">
>                         <h:outputText value="Input Box Column"/>
>                       </f:facet>
>                       <h:inputText id="textCol1"/>
>                       <h:outputText value="TextCol-1"/>
>                       <h:commandLink action="greeting" value="Go for
> another page."/>
>                       <h:commandButton id="buttonCol1" value="Button-1"
> action="greeting"/>
>         </h:panelGrid>
> </h:form>
>
> My .groovy file code is
> ---------------------------------
>
>  public void defineUi() {
>         ui.StandardTable(uid: "HelloFormoutGrid", clocator: [tag: "table",
> id: "helloForm:outGrid"]){
>             InputBox(uid: "{tbody: 1, row: all, column: 1}", clocator:
> [name:"helloForm:textCol*"])
>         }
>     }
>
>   public void testLink(){
>       pause 3000
>       getHTMLSource("HelloFormoutGrid");
>       type "HelloFormoutGrid[1][1][1]", "Hello there"
>   }
>
> The output of the getHTMLSource() method called above is
>
> ----------------------------------------------------------------------------------------
>
> HelloFormoutGrid:
> <table id="helloForm:outGrid" border="10">
>     <tbody>
>         <tr>
>             <td><input id="helloForm:textCol1" name="helloForm:textCol1"
> type="text"></td>
>             <td>TextCol-1</td>
>             <td><a href="#"
> onclick="document.forms['helloForm']['helloForm:_idcl'].value='helloForm:_id2';document.forms['helloForm'].submit();
> return false;">Go for another page.</a></td>
>             <td><input id="helloForm:buttonCol1"
> name="helloForm:buttonCol1" value="Button-1" type="submit"></td>
>         </tr>
>     </tbody>
> </table>
>
> HelloFormoutGrid[1][1][1]:
> <td><input id="helloForm:textCol1" name="helloForm:textCol1"
> type="text"></td>
>
> HelloFormoutGrid[1][1][2]:
> <td>TextCol-1</td>
>
> HelloFormoutGrid[1][1][3]:
> <td><a href="#"
> onclick="document.forms['helloForm']['helloForm:_idcl'].value='helloForm:_id2';
> document.forms['helloForm'].submit(); return false;">Go for another
> page.</a></td>
>
> HelloFormoutGrid[1][1][4]:
> <td><input id="helloForm:buttonCol1" name="helloForm:buttonCol1"
> value="Button-1" type="submit"></td>
>
>
>
> Can you suggest what is going wrong here now by looking a the getHTMLSource
> method output?
>
> Please reply, waiting for your response.
>
> Thanks,
> -Eric.
>
>
>
> On Thu, Aug 19, 2010 at 6:58 PM, Jian Fang <[email protected]>wrote:
>
>> Eric,
>>
>> I suspect there are some problems with your UI module, for the first UI
>> module, you need to use
>> UDL to define it since StandardTable uses UI template.
>>
>>
>> ui.Form(uid: "HelloForm", clocator: [tag: "form", method: "post", id:
>> "helloForm"]){
>>       StandardTable(uid: "HelloFormoutGrid", clocator: [tag: "table",
>> id: "helloForm:outGrid"]){
>>                  InputBox(uid: "HelloFormtextCol1", clocator:[id:
>> "helloForm:textCol1"])
>>        }
>> }
>>
>> For instance, you could use
>>
>>
>> ui.Form(uid: "HelloForm", clocator: [tag: "form", method: "post",
>> id:"helloForm"]){
>>       StandardTable(uid: "HelloFormoutGrid", clocator: [tag: "table",id:
>> "helloForm:outGrid"]){
>>                  InputBox(uid: "{row: 1, column: 1} as HelloFormtextCol1",
>> clocator:[id:"helloForm:textCol1"])
>>        }
>> }
>>
>> Be aware you should not use the same ID attribute for multiple elements.
>>
>> Thus, for your second UI module, you could define it as
>>
>>
>>
>> ui.Form(uid: "HelloForm", clocator: [tag: "form", method: "post",
>> id:"helloForm"]){
>>       StandardTable(uid: "HelloFormoutGrid", clocator: [tag: "table",id:
>> "helloForm:outGrid"]){
>>                  InputBox(uid: "{row: all, column: 1}", clocator: [:])
>>        }
>> }
>>
>> Or use partial match (
>> http://code.google.com/p/aost/wiki/UserGuide070AppendixB#How_to_do_Attribute_Partial_Matching_in_Tellurium)
>> for the id attribute
>>
>>
>> ui.Form(uid: "HelloForm", clocator: [tag: "form", method: "post",
>> id:"helloForm"]){
>>       StandardTable(uid: "HelloFormoutGrid", clocator: [tag: "table",id:
>> "helloForm:outGrid"]){
>>                  InputBox(uid: "{row: all, column: 1}", clocator: [id:"*^
>> *helloForm:textCol"])
>>        }
>> }
>>
>> I need to see the runtime html source so that I can figure out what the
>> correct UI module works for you.
>> (Sorry, Trump does not support UI module yet).
>>
>> You could get the runtime html source using DOM inspector or by calling
>> the following method in Telllurium:
>>
>> getHTMLSource("HelloForm");
>>
>> http://code.google.com/p/aost/wiki/UserGuide070TelluriumAPIs#getHTMLSource
>>
>> The tellurium-website reference project included data grids, for example,
>> the issue search result.
>> But we do appreciate if some users could provide their examples to help
>> Eric. Telluirum cannot really grow without
>> a good community support.
>>
>> Thanks in advance,
>>
>> Jian
>>
>>
>> On Thu, Aug 19, 2010 at 6:10 AM, Eric Gokavi <[email protected]>wrote:
>>
>>> Hello,
>>>
>>> I had posted a project regarding a JSF Grid not working few days back.
>>> Now the progress is i am able to test everything except :(,
>>>
>>> Taking the example by code.
>>> This is my small Grid Code(This is JSF Grid):
>>> =======================
>>> <h:form id="helloForm">
>>>   <h:panelGrid columns="1" border="10" id="outGrid">
>>>           <h:inputText id="textCol1"/>
>>>           <h:inputText id="textCol2"/>
>>>           <h:inputText id="textCol3"/>
>>>           <h:inputText id="textCol4"/>
>>>   </h:panelGrid>
>>> </h:form>
>>>
>>> Now i generate a .groovy code using the TrUMP utility by clicking on
>>> the Grid and the 1st Text box.
>>>
>>> Scenario : 1
>>> =========
>>> The code is:
>>>
>>> ui.Form(uid: "HelloForm", clocator: [tag: "form", method: "post", id:
>>> "helloForm"]){
>>>       StandardTable(uid: "HelloFormoutGrid", clocator: [tag: "table",
>>> id: "helloForm:outGrid"]){
>>>                  InputBox(uid: "HelloFormtextCol1", clocator:[id:
>>> "helloForm:textCol1"])
>>>        }
>>> }
>>>
>>> i write a method in groovy file
>>>
>>> public void sayHello(){
>>>            pause 3000
>>>            type "HelloForm.HelloFormoutGrid.HelloFormtextCol1", "One"
>>> }
>>>
>>> i run the mvn test
>>>
>>> What happen is:
>>> ============
>>> 1. Tellurium tests runs
>>> 2. New Browser opens
>>> 3. "One" value gets typed in the first column of grid.
>>> 4. Test passes.
>>>
>>> Scenario : 2
>>> =========
>>>
>>> ui.Form(uid: "HelloForm", clocator: [tag: "form", method: "post", id:
>>> "helloForm"]){
>>>       StandardTable(uid: "HelloFormoutGrid", clocator: [tag: "table",
>>> id: "helloForm:outGrid"]){
>>>                  InputBox(uid: "{row: all, column: 1}", clocator:[id:
>>> "helloForm:textCol1"])
>>>        }
>>> }
>>>
>>> ------------------------------------------------------------------------------------------------------------------------------------------------
>>> NOTE: This time the INPUT BOX UID is changed from "HelloFormtextCol1"
>>> to "{row: all, column: 1}"
>>>
>>> -------------------------------------------------------------------------------------------------------------------------------------------------
>>>
>>> i write a method in groovy file
>>>
>>> public void sayHello(){
>>>            pause 3000
>>>            type "HelloForm.HelloFormoutGrid.[1][1]", "One"
>>> }
>>>
>>> i run the mvn test
>>>
>>> What happen is:
>>> ============
>>> 1. Tellurium tests runs
>>> 2. New Browser opens
>>> 3. Test passes.
>>>
>>> NOTE : "One" value DOSE NOT get typed in the first column of grid
>>> although the test passes.
>>>
>>> When i use the code
>>>
>>> public void sayHello(){
>>>        pause 3000
>>>        type  "HelloForm.HelloFormoutGrid[1][1]", "test"
>>>        def x = getValue("HelloForm.HelloFormoutGrid[1][1]")
>>>        println " Getting Value from Inbox Row One :: - "+x
>>>        assertEquals("test", x)
>>>        println " :: TEST PASSED :: - "
>>> }
>>>
>>> output on console is :
>>>
>>> Getting Value from Inbox Row One :: - One
>>> :: TEST PASSED :: -
>>>
>>> This means the value is getting set in the grid component and when we
>>> call getValue method is comes back too.
>>>
>>> The only problem is i cannot see this in the browser (Firefox).
>>> The other problem is the links and buttons are not getting clicked
>>> this way so the flow dose not go to other pages i am doing this in
>>> local env and none of the links are from outside env or domain. So the
>>> timeout, proxies are not a problem
>>>
>>> Then again when i refer the direct id ( eg: click
>>> HelloForm.HelloFormoutGrid.HelloFormLink1") all the links and buttons
>>> work fine, when i give dynamic reference (eg:
>>> HelloForm.HelloFormoutGrid[1][2] , second column is link column in
>>> grid) it does not work .
>>>
>>> Is the functionality tested by any one of the uses, if yes kindly let
>>> me know whats going wrong with me?
>>> If any one can give me a small code snippet of grid component
>>> and .groovy it will be gr8.
>>>
>>> Thanks in advance,
>>> -Eric.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> 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%[email protected]>
>>> .
>>> 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]<tellurium-users%[email protected]>
>> .
>> 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]<tellurium-users%[email protected]>
> .
> 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.

Reply via email to