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].
For more options, visit this group at 
http://groups.google.com/group/tellurium-users?hl=en.

Reply via email to