Now I am unable to click simple link like products and solutions. I
get following error message.
groovy.lang.MissingMethodException: No signature of method:
com.citrix.tellurium.ui.CitrixHomePageUI.click() is applicable for
argument types: (java.lang.String) values:
[HomePageSection.ProductsAndSolutionsLink]
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap
(ScriptBytecodeAdapter.java:54)
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN
(ScriptBytecodeAdapter.java:90)
at com.citrix.tellurium.ui.HomePageSectionUI.clickProductsAndSolutions
(HomePageSectionUI.groovy:30)
at com.citrix.tellurium.test.DemoCitrixPage.test1(DemoCitrixPage.java:
44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:
580)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:478)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:617)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:885)
at org.testng.internal.TestMethodWorker.invokeTestMethods
(TestMethodWorker.java:126)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:
110)
at org.testng.TestRunner.runWorkers(TestRunner.java:712)
at org.testng.TestRunner.privateRun(TestRunner.java:582)
at org.testng.TestRunner.run(TestRunner.java:477)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:324)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:319)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:292)
at org.testng.SuiteRunner.run(SuiteRunner.java:198)
at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:823)
at org.testng.TestNG.runSuitesLocally(TestNG.java:790)
at org.testng.TestNG.run(TestNG.java:708)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:73)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:124)
On Aug 19, 1:34 pm, satyadev <[email protected]> wrote:
> package com.citrix.tellurium.test;
>
> import static org.testng.AssertJUnit.assertEquals;
> import static org.testng.AssertJUnit.assertTrue;
>
> import org.tellurium.test.java.TelluriumTestNGTestCase;
> import org.testng.annotations.BeforeClass;
> import org.testng.annotations.Test;
> import com.citrix.tellurium.ui.*;
>
> public class DemoCitrixPage extends TelluriumTestNGTestCase {
>
> private static CitrixHomePageUI app;
> private static LoginModuleUI LoginUI;
> private static HomePageSectionUI SectionUI;
> @BeforeClass
> public static void initUi() {
> app = new CitrixHomePageUI();
> app.defineUi();
> app.useJQuerySelector();
> app.enableSelectorCache();
> // Login module
> LoginUI = new LoginModuleUI();
> LoginUI.defineUi();
> LoginUI.useJQuerySelector();
> LoginUI.enableSelectorCache();
> // Home Page section UI Links
> SectionUI = new HomePageSectionUI();
> SectionUI.defineUi();
> SectionUI.useJQuerySelector();
> SectionUI.enableSelectorCache();
> }
> @Test
> public void test1()
> {
> // go to WebSite index page
> //selenium.open("/lang/English/home.asp");
> connectUrl("http://www.citrix.com/lang/English/home.asp");
> // Verify webSite content
> app.waitForPageToLoad(30000);
> assertEquals("Citrix Systems - Virtualization, Networking and
> Cloud.
> Simplified.", app.getTitle());
>
> assertTrue(app.isTextPresent("Products & Solutions"));
> SectionUI.clickProductsAndSolutions();
> assertEquals("Citrix Systems » The Best Application Delivery
> Solution", app.getTitle());
>
> // Login to MyCitrix
> app.clickLogin();
> LoginUI.doMyCitrixLogin("a","b");
> assertTrue(app.isTextPresent("Welcome to My Citrix!"));
> assertTrue(app.isTextPresent("CITRIX TEST ACCOUNT1 >> ID:
> 3003908"));
>
> // Logout from Mycitrix
> app.clickLogout();
> }
>
> }
>
> On Aug 19, 1:33 pm, satyadev <[email protected]> wrote:
>
> > 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
-~----------~----~----~----~------~----~------~--~---