From e2e0d89d332c81ce1803c3f97a79a800984715eb Mon Sep 17 00:00:00 2001 From: fgzhang Date: Sun, 1 Apr 2012 01:50:02 +0000 Subject: [PATCH] selenium:update method: Reference---failedReference() --change xpath of targetProject add parameter nodes and class nodes to 'project_reference.xml' git-svn-id: http://talendforge.org/svn/tis_shared/trunk@80798 f6f1c999-d317-4740-80b0-e6d1abc6f99e --- .../org/talend/tac/conf/project_reference.xml | 67 +++++++++++++++++++ .../java/org/talend/tac/modules/Project.java | 11 +-- .../org/talend/tac/modules/Reference.java | 55 ++++++++++++--- 3 files changed, 118 insertions(+), 15 deletions(-) diff --git a/org.talend.selenium.tac.test/src/main/java/org/talend/tac/conf/project_reference.xml b/org.talend.selenium.tac.test/src/main/java/org/talend/tac/conf/project_reference.xml index d4046f3c34..ee75ad56a8 100644 --- a/org.talend.selenium.tac.test/src/main/java/org/talend/tac/conf/project_reference.xml +++ b/org.talend.selenium.tac.test/src/main/java/org/talend/tac/conf/project_reference.xml @@ -9,8 +9,15 @@ + + + + + + + @@ -122,5 +129,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.talend.selenium.tac.test/src/main/java/org/talend/tac/modules/Project.java b/org.talend.selenium.tac.test/src/main/java/org/talend/tac/modules/Project.java index bf38781e83..5b68314076 100644 --- a/org.talend.selenium.tac.test/src/main/java/org/talend/tac/modules/Project.java +++ b/org.talend.selenium.tac.test/src/main/java/org/talend/tac/modules/Project.java @@ -101,9 +101,9 @@ public class Project extends WebDriverBase { logger.info("accept alert"); this.acceptAlert(); logger.info("check project whether disappear"); - Assert.assertTrue(this.isElementPresent(By.xpath("//div[contains(text(),'"+delProInfo+"')]"), 10)); + Assert.assertTrue(this.isElementPresent(By.xpath("//div[contains(text(),'"+delProInfo+"')]"), WAIT_TIME_MIN)); Assert.assertTrue(this.isElementPresent(By.xpath("//div[@class='x-grid3-cell-inner x-grid3-col-label' and (text()='" - + projectLabel + "')]"), 2)); + + projectLabel + "')]"), WAIT_TIME_MIN)); } @@ -123,8 +123,9 @@ public class Project extends WebDriverBase { logger.info("accept alert"); this.acceptAlert(); logger.info("check project whether disappear"); - Assert.assertFalse(this.waitforElementDisplayed(By.xpath("//div[@class='x-grid3-cell-inner x-grid3-col-label' and (text()='" - + projectLabel + "')]"), 100)); + this.waitElemet(2000); + Assert.assertFalse(this.isElementPresent(By.xpath("//div[@class='x-grid3-cell-inner x-grid3-col-label' and (text()='" + + projectLabel + "')]"), 5)); } @@ -151,7 +152,7 @@ public class Project extends WebDriverBase { logger.info("choose Yes"); this.getElementByXpath("//button[text()='Yes']").click(); logger.info("check branch whether success"); - Assert.assertTrue(this.isElementPresent(By.xpath("//span[text()='" + branchName + "']"), 40)); + Assert.assertTrue(this.isElementPresent(By.xpath("//span[text()='" + branchName + "']"), WAIT_TIME_MIN)); logger.info("click close window button"); this.getElementByXpath("//div[@class=' x-nodrag x-tool-close x-tool x-component']").click(); diff --git a/org.talend.selenium.tac.test/src/main/java/org/talend/tac/modules/Reference.java b/org.talend.selenium.tac.test/src/main/java/org/talend/tac/modules/Reference.java index 4d288abf58..7bfaaac9b6 100644 --- a/org.talend.selenium.tac.test/src/main/java/org/talend/tac/modules/Reference.java +++ b/org.talend.selenium.tac.test/src/main/java/org/talend/tac/modules/Reference.java @@ -1,5 +1,8 @@ package org.talend.tac.modules; +import java.awt.AWTException; +import java.awt.Robot; + import org.openqa.selenium.By; import org.openqa.selenium.HasInputDevices; import org.openqa.selenium.Mouse; @@ -27,6 +30,38 @@ public class Reference extends WebDriverBase { } + protected void multipleSameTimeReference(String sourcePro1, String branchName, String sourcePro2, String targetPro) { + + this.waitElement(2000); + logger.info("get source"); + logger.info("//span[contains(text(),'Projects available as reference')]//ancestor::div[contains(@class,'x-sma')]//following-sibling::div//div[text()='"+branchName+"']//parent::td//preceding-sibling::td//div[text()='"+sourcePro1+"']"); + WebElement sourceProject1 = getElementByXpath("//span[contains(text(),'Projects available as reference')]//ancestor::div[contains(@class,'x-sma')]//following-sibling::div//div[text()='"+branchName+"']//parent::td//preceding-sibling::td//div[text()='"+sourcePro1+"']"); + WebElement sourceProject2 = getElementByXpath("//span[contains(text(),'Projects available as reference')]//ancestor::div[contains(@class,'x-sma')]//following-sibling::div//div[text()='"+branchName+"']//parent::td//preceding-sibling::td//div[text()='"+sourcePro2+"']"); + +// String sourceProject1 = "//span[contains(text(),'Projects available as reference')]//ancestor::div[contains(@class,'x-sma')]//following-sibling::div//div[text()='"+branchName+"']//parent::td//preceding-sibling::td//div[text()='"+sourcePro1+"']"; + logger.info("sourceProject1"+sourceProject1); +// String sourceProject2 = "//span[contains(text(),'Projects available as reference')]//ancestor::div[contains(@class,'x-sma')]//following-sibling::div//div[text()='"+branchName+"']//parent::td//preceding-sibling::td//div[text()='"+sourcePro2+"']"; + logger.info("sourceProject2"+sourceProject2); + WebElement targetProject = driver.findElement(By.xpath("//div[@aria-level='1']//span[text()='"+targetPro+"']")); + try { + Robot bot = new Robot(); + this.clickAndOnHold(sourceProject1); + bot.keyPress(16); + this.clickAndOnHold(sourceProject2); + bot.keyRelease(16); + this.waitElement(4000); + this.moveToElement(targetProject); + this.waitElement(4000); + this.release(); + this.waitElement(4000); + } catch (AWTException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } +// this.clickAndOnHold(sourceProject1); + + } + protected void reference(String source, String target, String refInfo, int nodeLevel, String branchName){ this.waitElement(2000); logger.info("get source"); @@ -41,24 +76,24 @@ public class Reference extends WebDriverBase { this.waitforElementDisplayed(targetProject, WAIT_TIME_MID); dragAndDrop(sourceProject, targetProject); logger.info("//span[text()='"+target+"']//ancestor::div[contains(@class,'x-tree3-el') and @aria-level='1']//following-sibling::div//div[@aria-level='"+nodeLevel+"']//span[contains(text(),'"+refInfo+"')]"); - Assert.assertTrue(this.isElementPresent(By.xpath("//span[text()='"+target+"']//ancestor::div[contains(@class,'x-tree3-el') and @aria-level='1']//following-sibling::div//div[@aria-level='"+nodeLevel+"']//span[contains(text(),'"+refInfo+"')]"), 5)); + Assert.assertTrue(this.isElementPresent(By.xpath("//span[text()='"+target+"']//ancestor::div[contains(@class,'x-tree3-el') and @aria-level='1']//following-sibling::div//div[@aria-level='"+nodeLevel+"']//span[contains(text(),'"+refInfo+"')]"), WAIT_TIME_MIN)); logger.info("Reference project - '" + source + "' to comm project '"+ target +"'"); if(this.isElementPresent(By.xpath("//span[text()='"+target+"']//ancestor::div[contains(@class,'x-tree3-el') and @aria-level='1']//following-sibling::div//div[@aria-level='3']//span[contains(text(),'"+refInfo+"')]"), 5)) { - Assert.assertTrue(this.isElementPresent(By.xpath("//span[text()='"+target+"']//ancestor::div[contains(@class,'x-tree3-el') and @aria-level='1']//following-sibling::div//div[@aria-level='3']//span[contains(text(),'"+refInfo+"')]"), 5)); + Assert.assertTrue(this.isElementPresent(By.xpath("//span[text()='"+target+"']//ancestor::div[contains(@class,'x-tree3-el') and @aria-level='1']//following-sibling::div//div[@aria-level='3']//span[contains(text(),'"+refInfo+"')]"), WAIT_TIME_MIN)); } getElementByXpath("//div[text()='Projects references' and @class='header-title']/ancestor::div[@class='x-panel-body x-panel-body-noheader x-panel-body-noborder x-border-layout-ct']//button[@id='idSubModuleRefreshButton']").click(); } - protected void failedReference(String source, String target, String refInfo, int nodeLevel){ + protected void failedReference(String source, String target, String refInfo, int nodeLevel, int targerNodeLevel){ this.waitElement(2000); logger.info("get source"); logger.info("//span[contains(text(),'Projects available as reference')]//ancestor::div[contains(@class,'x-sma')]//following-sibling::div//div[text()='"+source+"']"); WebElement sourceProject = getElementByXpath("//span[contains(text(),'Projects available as reference')]//ancestor::div[contains(@class,'x-sma')]//following-sibling::div//div[text()='"+source+"']"); // this.isElementPresent(By.xpath("//span[contains(text(),'Projects available as reference')]//ancestor::div[contains(@class,'x-sma')]//following-sibling::div//div[text()='"+source+"']"), 5); logger.info("get target"); - WebElement targetProject = getElementByXpath("//div[@aria-level='1']//span[text()='"+target+"']"); + WebElement targetProject = getElementByXpath("//div[@aria-level='"+targerNodeLevel+"']//span[text()='"+target+"']"); this.waitforElementDisplayed(targetProject, WAIT_TIME_MID); dragAndDrop(sourceProject, targetProject); logger.info("//span[text()='"+target+"']//ancestor::div[contains(@class,'x-tree3-el') and @aria-level='1']//following-sibling::div//div[@aria-level='"+nodeLevel+"']//span[contains(text(),'"+refInfo+"')]"); @@ -68,8 +103,8 @@ public class Reference extends WebDriverBase { // TODO Auto-generated catch block e.printStackTrace(); } - logger.info("//span[text()='"+target+"']//ancestor::div[contains(@class,'x-tree3-el') and @aria-level='1']//following-sibling::div//div[@aria-level='"+nodeLevel+"']//span[contains(text(),'"+refInfo+"')]"); - Assert.assertFalse(this.isElementPresent(By.xpath("//span[text()='"+target+"']//ancestor::div[contains(@class,'x-tree3-el') and @aria-level='1']//following-sibling::div//div[@aria-level='"+nodeLevel+"']//span[contains(text(),'"+refInfo+"')]"), 5)); + logger.info("//span[text()='"+target+"']//ancestor::div[contains(@class,'x-tree3-el') and @aria-level='"+targerNodeLevel+"']//following-sibling::div//div[@aria-level='"+nodeLevel+"']//span[contains(text(),'"+refInfo+"')]"); + Assert.assertFalse(this.isElementPresent(By.xpath("//span[text()='"+target+"']//ancestor::div[contains(@class,'x-tree3-el') and @aria-level='"+targerNodeLevel+"']//following-sibling::div//div[@aria-level='"+nodeLevel+"']//span[contains(text(),'"+refInfo+"')]"), 5)); logger.info(" Cannot reference project - '" + source + "' to comm project '"+ target +"'"); } @@ -94,13 +129,13 @@ public class Reference extends WebDriverBase { public void checkRefProDisplay(String projectLabel, String branch, String type) { logger.info("//span[text()='"+projectLabel+"']"); - Assert.assertTrue(this.isElementPresent(By.xpath("//div[text()='"+projectLabel+"']"), 5)); + Assert.assertTrue(this.isElementPresent(By.xpath("//div[text()='"+projectLabel+"']"), WAIT_TIME_MIN)); logger.info("//div[text()='"+projectLabel+"']//parent::td//preceding-sibling::td//div[contains(@class,'x-grid3-cell-inner x-grid3-col-projectBean')]//img"); - Assert.assertTrue(this.isElementPresent(By.xpath("//div[text()='"+projectLabel+"']//parent::td//preceding-sibling::td//div[contains(@class,'x-grid3-cell-inner x-grid3-col-projectBean')]//img"), 5)); + Assert.assertTrue(this.isElementPresent(By.xpath("//div[text()='"+projectLabel+"']//parent::td//preceding-sibling::td//div[contains(@class,'x-grid3-cell-inner x-grid3-col-projectBean')]//img"), WAIT_TIME_MIN)); logger.info("//div[text()='"+projectLabel+"']//parent::td//following-sibling::td//div[contains(text(),'"+branch+"')]"); - Assert.assertTrue(this.isElementPresent(By.xpath("//div[text()='"+projectLabel+"']//parent::td//following-sibling::td//div[contains(text(),'"+branch+"')]"), 5)); + Assert.assertTrue(this.isElementPresent(By.xpath("//div[text()='"+projectLabel+"']//parent::td//following-sibling::td//div[contains(text(),'"+branch+"')]"), WAIT_TIME_MIN)); logger.info("//div[text()='"+projectLabel+"']//parent::td//following-sibling::td//div[contains(@class,'x-grid3-cell-inner x-grid3-col-projectBean')]//img[@title='Data Integration']"); - Assert.assertTrue(this.isElementPresent(By.xpath("//div[text()='"+projectLabel+"']//parent::td//following-sibling::td//div[contains(@class,'x-grid3-cell-inner x-grid3-col-projectBean')]//img[@title='"+type+"']"), 5)); + Assert.assertTrue(this.isElementPresent(By.xpath("//div[text()='"+projectLabel+"']//parent::td//following-sibling::td//div[contains(@class,'x-grid3-cell-inner x-grid3-col-projectBean')]//img[@title='"+type+"']"), WAIT_TIME_MIN)); }