Hi Graham,

Great questions.

Tellurium does support direct Selenium calls with the following
method,

def customDirectCall(String method, Object[] args);

You can still programmatically generate the runtime xpath and then
call the
above method to Selenium directly.

For more elegant solutions, it would be great if Tellurium could
support dynamic
attributes in the UI module. For example, for your first question, if
Tellurium UDL
could define some attributes as dynamic and do lazy binding at
runtime, your problem
could be solved. But to be honest, I haven't thought of such use cases
yet. I will
think it over and try to add this feature to UDL and core.

For your second question, Tellurium provides the following method

UiByTagResponse getUiByTag(String tag, Map filters);

to return temporal uids for the giving tag and attributes. Then you
can use these uids
in the same way as other predefined uids in a UI module. More details
here,

http://code.google.com/p/aost/wiki/Tellurium070Update#Get_UIs_by_Tag_Name

I will follow up with you about my thoughts of dynamic attributes in
UDL and core.

Thanks,

Jian

On Apr 7, 9:57 pm, tetsuo <[email protected]> wrote:
> Hi All,
>
> My company is considering migrating from Selenium to Tellurium for one
> of our projects. However we are a little concerned about losing some
> test functionality that is currently enjoyed through the utilization
> of plain old Selenium. I would like to give some examples of the test
> functionality and then pose the question – how can I replicate this
> test functionality using Tellurium?
>
> Example A - Verifying the content of a key/value pair table
>
> I have a sequence of key/value pairs loaded from a test data file into
> a groovy map like so:
>
> ['AAA': '111',
>  'BBB': '222',
>  'CCC': '333']
>
> These pairs represent the expected content of a table to be tested,
> they might be rendered in html like so:
>
> <table class='keyValueTable'>
>   <tr>
>     <td>AAA</td><td>111</td>
>   </tr>
>   <tr>
>     <td>BBB</td><td>222</td>
>   </tr>
>   <tr>
>     <td>CCC</td><td>333</td>
>   </tr>
> </table>
>
> Using Selenium I can programmatically generate the xpath for each key/
> value pair and assert the presence of the xpath.
>
> String cellType = "td";
> String tableLocator = "//tab...@id='" + tableId + "']";
> String valueLocator = tableLocator + "//" + cellType +
> "[...@class='label' and .='" + key + "']/following-sibling::"+ cellType;
>
> Using Tellurium, how could I assert that the pairs in my test data
> exist in the html table, considering that:
>
> •     The order of the pairs in the test data does not necessarily
> represent the order of the pairs in the rendered html
> •     The test data files may be updated frequently, i.e. one day there
> may be 10 pairs, then the next there may be 30, and the new pairs
> won’t necessarily be appended to the end of the test file.
> •     I don’t want to define each and every pair as elements within a UI
> module, the test must be data driven.
> •     The order of pairs in the test data may change i.e. referencing rows
> by index is too brittle.
>
> Example B - Utilisation of programmatically generated element ids
>
> Using Selenium if I have an element that I wish to interact with and I
> need to generate a unique id attribute for the element I can
> programmatically generate the id and then compose some xpath to
> reference said element. For example, if I have a series of links with
> composite ids:
>
> <a id=”111_222”>View</a>
> <a id=”333_444”>View</a>
> <a id=”555_666”>View</a>
>
> And my test data file looks like this
> 111|222
> 333|444
> 555|666
>
> Using Selenium I would programmatically generate the xpath locators:
>
> //inp...@id='${idLeft}_${idRight}']
>
> And interact with the links using Selenium commands and the generated
> xpath.
>
> Some questions:
>
> 1.      How could I interact with these links using Tellurium (must be data
> driven)
> 2.      Does the Tellurium API allow me to call Selenium commands directly?
>
> I guess the crux of this post is about dynamic attributes in Tellurium
> tests. I really like the clean representation of the relevant parts of
> a DOM that Tellurium Modules bring, but I can't see how I can perform
> data driven testing with what appears to be largely static DOM
> definitions.
>
> Regards,
>
> Graham

-- 
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