diff --git a/src/main/java/com/essa/pageObject/PODocumentary/POBoardPage.java b/src/main/java/com/essa/pageObject/PODocumentary/POBoardPage.java index 28de219..8309c42 100644 --- a/src/main/java/com/essa/pageObject/PODocumentary/POBoardPage.java +++ b/src/main/java/com/essa/pageObject/PODocumentary/POBoardPage.java @@ -8,6 +8,8 @@ import com.essa.framework.BasePage; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; +import java.util.Date; + public class POBoardPage extends BasePage { public POBoardPage(WebDriver driver) { @@ -31,11 +33,34 @@ public class POBoardPage extends BasePage { @FindBy (xpath ="//button[contains(text(),'转在途尾货')]") WebElement toTail;//转在途尾货按钮 + // 通知收货 @FindBy (xpath = "//button[contains(text(),'通知收货')]") - WebElement noticeReceive;//通知收货按钮 + WebElement noticeReceive; + + //收货日期 + @FindBy (xpath = "//*[contains(text(),'收货日期')]") ///label[@class='control-label col-sm-8'] + WebElement reveiveDate; + + // 收货日期输入框 + @FindBy (xpath = " //div[@class='col-sm-16']//input[@type='text']") + WebElement inputReceiveDate; + + // 确定 + @FindBy (xpath = "//button[contains(text(),'确定')]") + WebElement submit; + + // 通知装柜 + @FindBy(xpath = "//button[contains(text(),'通知装柜')]") + WebElement noticeLoad; + + // 装柜日期空白处 + @FindBy(xpath = " //label[@class='control-label col-md-8']") + WebElement loadDate; + + // 装柜日期输入框 + @FindBy (xpath = "//input[@name='newDate']") + WebElement inutLoadDate; - @FindBy(xpath ="//button[contains(text(),'通知装柜')]") - WebElement noticeLoad;//通知装柜按钮 /* * 页面方法 @@ -55,4 +80,32 @@ public class POBoardPage extends BasePage { click(toTail); return new ConvertTailPage(driver); } + + /** + * PO通知收货和通知装柜 + */ + // 通知收货 + public POBoardPage noticeReceive(){ + click(noticeReceive); + jsExecutorRemoveAttribute(inputReceiveDate,"readonly"); + String date = getDateTimeByFormat(new Date(),"MM/dd/yyyy"); + sendKeys(inputReceiveDate,date); + click(reveiveDate); + click(submit); + forceWait(3000); + return new POBoardPage(driver); + } + + //通知装柜 + public POBoardPage noticeLoad(){ + click(noticeLoad); + jsExecutorRemoveAttribute(inutLoadDate,"readonly"); + String date = getDateTimeByFormat(new Date(),"MM/dd/yyyy"); + sendKeys(inutLoadDate,date); + click(loadDate); + forceWait(3000); + click(submit); + forceWait(2000); + return new POBoardPage(driver); + } } diff --git a/src/main/java/com/essa/pageObject/PODocumentary/PODocumentaryListPage.java b/src/main/java/com/essa/pageObject/PODocumentary/PODocumentaryListPage.java index 33881fd..f72771a 100644 --- a/src/main/java/com/essa/pageObject/PODocumentary/PODocumentaryListPage.java +++ b/src/main/java/com/essa/pageObject/PODocumentary/PODocumentaryListPage.java @@ -33,6 +33,18 @@ public class PODocumentaryListPage extends BasePage { @FindBy (xpath = "//*[@id='listView']/div/table/tbody/tr[1]/td/div/div[1]/div/ul/li[1]/a") WebElement detail;//搜索结果中的一个查看详情 + // 关键字查询 + @FindBy (xpath = "//*[contains(@placeholder,'请输入PO单号、客户编号等关键字查询')]") + WebElement keySearch; + + // 放大镜查询按钮 + @FindBy (xpath = "//*[contains(@ng-click,'search()')]") + WebElement magnifierSearch; + + // 查看详情 + @FindBy (xpath = "//*[contains(text(),'查看详情')]") + WebElement followDetail; + /* * 页面方法 */ @@ -45,4 +57,19 @@ public class PODocumentaryListPage extends BasePage { click(detail); return new POBoardPage(driver); } + + /** + * 进入PO跟单详情 + * @return + */ + public PODocumentaryListPage toPoFollowDetail(){ + sendKeys(keySearch, Model.getPoNum()); + click(magnifierSearch); + forceWait(5000); + dynamicWait(By.xpath("//div[@class='row xxrow-header-bg row-border-bottom no-margin padding-horizontal-5']")); + click(followDetail); + forceWait(5000); + dynamicWait(By.xpath("//div[@class='panel-body']")); + return new PODocumentaryListPage(driver); + } } diff --git a/src/main/java/com/essa/testSuite/TestNoticeReceiveAndLoad.java b/src/main/java/com/essa/testSuite/TestNoticeReceiveAndLoad.java index 131377c..9dc22ca 100644 --- a/src/main/java/com/essa/testSuite/TestNoticeReceiveAndLoad.java +++ b/src/main/java/com/essa/testSuite/TestNoticeReceiveAndLoad.java @@ -1,7 +1,11 @@ package com.essa.testSuite; import com.essa.pageObject.BaseTest; +import com.essa.pageObject.HomePage; +import com.essa.pageObject.PODocumentary.POBoardPage; +import com.essa.pageObject.PODocumentary.PODocumentaryListPage; import org.openqa.selenium.WebDriver; +import org.openqa.selenium.support.PageFactory; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -22,11 +26,18 @@ public class TestNoticeReceiveAndLoad extends BaseTest{ } /** - * 通知收货和通知装柜 + * 通知收货、装柜 */ - @Test(description = "通知收货和通知装柜") + @Test(description = "通知收货、装柜") public void NoticeReceiveAndLoad(){ this.driver = getDriver(); - + HomePage homePage = PageFactory.initElements(driver,HomePage.class); + homePage.toPoDocumentaryListPage(); + PODocumentaryListPage poDocumentaryListPage = PageFactory.initElements(driver,PODocumentaryListPage.class); + POBoardPage poBoardPage = PageFactory.initElements(driver,POBoardPage.class); + poDocumentaryListPage.toPoFollowDetail(); + poBoardPage.noticeReceive(); + poBoardPage.noticeLoad(); } + } -- libgit2 0.21.2