Hi,
I divided whole modules as suggested in mail. Even though I am not
able to click on specific element after refactoring UI.
/**
*
*/
package com.citrix.tellurium.ui
import org.tellurium.dsl.DslContext
/**
* @author satyadevs
*
*/
public class CitrixHomePageUI extends DslContext{
public void defineUi() {
// Citrix home page Top Menus
ui.Container(uid: "CitrixHomePage", clocator: [tag: "div", id:
"supnav"])
{
UrlLink(uid: "LoginLink", clocator: [tag: "a", text:
"Log in",
header: "/default:sp...@id='unav_login']", href: "/English/mycitrix/
index.asp"])
Container(uid: "TopMenu", clocator: [tag: "div", class:
"qmmc",
id: "qm1"])
{
UrlLink(uid: "MyCitrixLink", clocator: [tag:
"a", text: "My
Citrix", position: "7", direct: "true", href: "/English/mycitrix/
index.asp?ntref=hp_util_US"])
UrlLink(uid: "GlobalSitesLink", clocator: [tag:
"a", text:
"Global Sites", position: "6", direct: "true", href: "/global"])
}
UrlLink(uid: "LogOutLink", clocator: [tag: "a", text:
"Log Out",
href: "/English/mycitrix/logout.asp"])
}
}
//Add your methods here
public void clickMyCitrix(){
click "CitrixHomePage.TopMenu.MyCitrixLink"
waitForPageToLoad()
}
public void clickLogin(){
click "CitrixHomePage.LoginLink"
waitForPageToLoad()
}
public void clickLogout(){
click "CitrixHomePage.LogOutLink"
waitForPageToLoad()
}
}
package com.citrix.tellurium.ui
import org.tellurium.dsl.DslContext
/**
* @author satyadevs
*
*/
public class LoginModuleUI extends DslContext{
public void defineUi()
{
// Login Form
ui.Form(uid: "LoginForm", clocator: [tag: "form", id:
"MiniLogin",
name: "LOGIN"], group: "true")
{
Container(uid: "LoginSection", clocator: [tag: "div",
class:
"primary"])
{
InputBox(uid: "UserName", clocator: [tag:
"input", direct:
"true", type: "text", id: "userid", name: "userid"])
InputBox(uid: "Password", clocator: [tag:
"input", direct:
"true", type: "password", id: "password", name: "password"])
InputBox(uid: "LoginBtn", clocator: [tag:
"input", direct:
"true", type: "image", name: "loginbtn", src: "/site/resources/
v4_includes/login_btn.gif"])
}
UrlLink(uid: "NewUsers", clocator: [tag: "a", text:
"New Users",
href: "/English/myCitrix/loginNewUser.asp"])
}
}
//Add your methods here
public void doMyCitrixLogin(String UserName,String Password){
type "LoginForm.LoginSection.UserName",UserName
type "LoginForm.LoginSection.Password",Password
click "LoginForm.LoginSection.LoginBtn"
waitForPageToLoad()
}
}
/**
*
*/
package com.citrix.tellurium.ui
import org.tellurium.dsl.DslContext
/**
* @author satyadevs
*
*/
public class HomePageSectionUI extends DslContext
{
public void defineUi()
{
ui.Container(uid: "HomePageSection", clocator: [tag: "div",
class:
"qmmc", id: "qm0"])
{
UrlLink(uid: "ProductsAndSolutionsLink", clocator:
[tag: "a",
text: "Products & Solutions", href: "/English/ps2/products/product.asp?
contentID=683711&ntref=hp_nav_US"])
UrlLink(uid: "DownloadsLink", clocator: [tag: "a", text:
"Downloads", href: "/English/ss/downloads/index.asp?ntref=hp_nav_US"])
// TextBox(uid: "HomePageFlash", clocator: [tag: "embed",
type:
"application/x-shockwave-flash", name: "flashpromo", id: "flashpromo",
src: "/site/resources/dynamic/homeLeftPromos/
980x290_SimplicityIsPower2.swf"])
}
}
//Add your methods here
public void clickProductsAndSolutions()
{
click "HomePageSection.ProductsAndSolutionsLink"
waitForPageToLoad()
}
}
On Aug 18, 6:31 pm, John <[email protected]> wrote:
> Hope some Tellurium users could share with you their experiences on
> UI module maintenance. Basically, you should divide the web page into
> many small UI modules for easier testing and maintenance.
>
> Trump 0.1.0 does have some issues and we did not get enough feedback.
> With your live site, certainly we can debug Trump to find out what is
> the problem
> there. The obstacle is time. I am very busy with user support and many
> other tasks.
> It may take me some time before I get back to you. I will keep you
> posted.
>
> Thanks,
>
> Jian
>
> On Aug 18, 8:45 am, satyadev <[email protected]> wrote:
>
> > Hi,
>
> > can Any one provide best practices for UI modules maintenance?
> > site Demo show's only part of one frame example. things will be
> > difficult once real website with lot frames and containers.
>
> > regards,
> > Satyadev
>
> > On Aug 14, 7:32 pm, Vivek <[email protected]> wrote:
>
> > > I dont need to put everything in one module. Try splitting them into
> > > separates UI modules like
> > > module1
> > > My Citrix/Log in
> > > module 2
> > > Products & Solutions
> > > module 3
> > > Username, Password, Log in
>
> > > Record for the first module then click Generate and Customize. Clear
> > > the recorded elements and then record for the second module...
> > > Generate and Customize
>
> > > You can put three modules in the defineUI method... see if this will
> > > solve the problem...
>
> > > Thanks,
> > > Vivek
>
> > > On Aug 14, 3:19 am, satyadev <[email protected]> wrote:
>
> > > > Hi All,
>
> > > > I am facing lot of trouble with TrUmp for defining object map. I am
> > > > not able to customize properties. UI operations are not consistly
> > > > updating UI element in customizer pane.
>
> > > > Eample URL :http://www.citrix.com/English/ss/downloads/index.asp
>
> > > > Start Recording using trump IDE.
> > > > learn UI elements like Login/MyCtirix/downlaods/Product&solutions/
> > > > username/Password/login
>
> > > > we got follwing UI object code.
>
> > > > Container(uid: "root", clocator: [tag: "div", id: "container"]){
> > > > Container(uid: "T4d", clocator: [tag: "div", id: "header"]){
> > > > Container(uid: "TopLeftmenu", clocator: [tag: "div",
> > > > direct: "true",
> > > > id: "supnav"]){
> > > > UrlLink(uid: "a0", clocator: [tag: "a", text:
> > > > "My Citrix", href: "/
> > > > English/mycitrix/index.asp?ntref=util"])
> > > > UrlLink(uid: "a1", clocator: [tag: "a", text:
> > > > "Log in", href: "/
> > > > English/mycitrix/index.asp"])
> > > > }
> > > > Container(uid: "T4dd", clocator: [tag: "div", direct:
> > > > "true", class:
> > > > "qmmc", id: "qm0"]){
> > > > UrlLink(uid: "a2", clocator: [tag: "a", text:
> > > > "Products &
> > > > Solutions", href: "/English/ps2/products/product.asp?
> > > > contentID=683711", class: "qmparent qmactive"])
> > > > UrlLink(uid: "a3", clocator: [tag: "a", text:
> > > > "Downloads", href: "/
> > > > English/ss/downloads/index.asp"])
> > > > }
> > > > }
> > > > Form(uid: "T4dddddd", clocator: [tag: "form", id: "MiniLogin",
> > > > name:
> > > > "LOGIN", action: "https://www.citrix.com/English/myCitrix/
> > > > doLogin.asp", method: "post"]){
> > > > InputBox(uid: "input4", clocator: [tag: "input", type:
> > > > "text",
> > > > class: "formelement", id: "userid", name: "userid"])
> > > > InputBox(uid: "input5", clocator: [tag: "input", type:
> > > > "password",
> > > > class: "formelement", id: "password", name: "password"])
> > > > InputBox(uid: "input6", clocator: [tag: "input", type:
> > > > "image",
> > > > value: "1", name: "loginbtn", src: "/site/resources/v4_includes/
> > > > login_btn.gif"])
> > > > }
>
> > > > }
>
> > > > Now Click on Genrate and Customize
>
> > > > Select Login url Link item observe that add one extra attribute like
> > > > header it won't reflect in UI element.
>
> > > > I am trapped here all my UI elements stop respond customization.
>
> > > > Can Anybody help me to over come above situation.
>
> > > > regards,
> > > > Satyadev
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---