package com.essa.pageObject.PODocumentary; import com.essa.framework.Model; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; 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) { super(driver); } /* * 元素定位 */ @FindBy (xpath = "//*[text()='订单任务看板']") WebElement taskBoard;//订单任务看板 @FindBy (xpath = "//*[@ng-model='keyword']") WebElement keyword;//关键字查询输入框 @FindBy (xpath ="//*[@ng-model='keyword']/../span/button") WebElement search;//查询按钮 @FindBy (xpath = "//*[@id='detailView']/div/div[3]/div[1]/div/div/table/tbody/tr[1]/td/div[2]/div[1]/input") WebElement firstCheckbox;//第一个复选框 @FindBy (xpath ="//button[contains(text(),'转在途尾货')]") WebElement toTail;//转在途尾货按钮 // 通知收货 @FindBy (xpath = "//button[contains(text(),'通知收货')]") 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; /* * 页面方法 */ /** * 转在途尾货 * @return 转在途尾货页面 */ public ConvertTailPage toTail() { dynamicLoad(By.xpath("//*[style='display: block;']"));//等待页面加载完成 click(taskBoard); dynamicLoad(By.xpath("//*[style='display: block;']")); sendKeys(keyword, Model.getSkuNo()); click(search); dynamicLoad(By.xpath("//*[style='display: block;']")); click(firstCheckbox); 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); } }