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
This commit is contained in:
fgzhang
2012-04-01 01:50:02 +00:00
parent c8342f3199
commit e2e0d89d33
3 changed files with 118 additions and 15 deletions

View File

@@ -9,8 +9,15 @@
<parameter name="ref.pro.info" value="referencepro - trunk"/>
<parameter name="refbranch.pro.info" value="referencepro - branch"/>
<parameter name="commbranch.pro.info" value="commonpro - test_branch"/>
<parameter name="comm.pro.trunk" value="commonpro - trunk"/>
<parameter name="branch" value="branch"/>
<parameter name="trunk" value="trunk"/>
<parameter name="DIPro" value="DIPro"/>
<parameter name="DQPro" value="DQPro"/>
<parameter name="MDMPro" value="MDMPro"/>
<parameter name="MDMPro.info" value="MDMPro - trunk"/>
<parameter name="DQPro.info" value="DQPro - trunk"/>
<parameter name="DIPro.info" value="DIPro - trunk"/>
<!-- common parameters -->
<test name="reference01_testCycleReferenceproRestriction" preserve-order="true">
@@ -122,5 +129,65 @@
</class>
</classes>
</test>
<test name="reference09_testLevelRestriction" preserve-order="true">
<parameter name="refPro.level1" value="refProLevel1"/>
<parameter name="refPro.level2" value="refProLevel2"/>
<parameter name="refPro.level1.info" value="refProLevel1 - trunk"/>
<parameter name="refPro.level2.info" value="refProLevel2 - trunk"/>
<parameter name="testlinkID" value="TDIQA-374"/>
<classes>
<class name="org.talend.tac.cases.reference.TestProjectReference">
<methods>
<include name="testLevelRestriction" />
</methods>
</class>
</classes>
</test>
<test name="reference10_testReferenceDIProTODQPro" preserve-order="true">
<parameter name="testlinkID" value="TDIQA-5868"/>
<classes>
<class name="org.talend.tac.cases.reference.TestProjectReference">
<methods>
<include name="testReferenceDIProTODQPro" />
</methods>
</class>
</classes>
</test>
<test name="reference11_testReferenceDIProTODQPro" preserve-order="true">
<parameter name="testlinkID" value="TDIQA-5869"/>
<classes>
<class name="org.talend.tac.cases.reference.TestProjectReference">
<methods>
<include name="testReferenceDQProToDIPro" />
</methods>
</class>
</classes>
</test>
<test name="reference12_testReferenceMDMProToDQPro" preserve-order="true">
<parameter name="testlinkID" value="TDIQA-5870"/>
<classes>
<class name="org.talend.tac.cases.reference.TestProjectReference">
<methods>
<include name="testReferenceMDMProToDQPro" />
</methods>
</class>
</classes>
</test>
<test name="reference13_testReferenceMDMProToDIPro" preserve-order="true">
<parameter name="testlinkID" value="TDIQA-5871"/>
<classes>
<class name="org.talend.tac.cases.reference.TestProjectReference">
<methods>
<include name="testReferenceMDMProToDIPro" />
</methods>
</class>
</classes>
</test>
</suite>

View File

@@ -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();

View File

@@ -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));
}