Commit 0e4d02cb24161b0953fa097446c7f468312f177b

Authored by toby5221
1 parent a90375bd

增加装柜任务形成现存尾货

src/main/java/com/essa/framework/BasePage.java
@@ -74,7 +74,6 @@ public class BasePage { @@ -74,7 +74,6 @@ public class BasePage {
74 } catch (Exception e) { 74 } catch (Exception e) {
75 Logger.Output(LogType.LogTypeName.ERROR, element.toString()+"元素不存在"); 75 Logger.Output(LogType.LogTypeName.ERROR, element.toString()+"元素不存在");
76 } 76 }
77 -  
78 } 77 }
79 78
80 /** 79 /**
@@ -483,7 +482,24 @@ public class BasePage { @@ -483,7 +482,24 @@ public class BasePage {
483 Logger.Output(LogType.LogTypeName.INFO, "返回切片后的字符串"); 482 Logger.Output(LogType.LogTypeName.INFO, "返回切片后的字符串");
484 return search_need; 483 return search_need;
485 } 484 }
486 - 485 +
  486 + /**
  487 + * 字符串切片
  488 + * @param element 需要被操作的元素
  489 + * @param begin 从这个字符开始切
  490 + * @param end 到这个字符结尾
  491 + * @return
  492 + */
  493 + protected String partiaStr(WebElement element,int begin,int end){
  494 + String Str = element.getText();
  495 + System.out.print("获取所需切片的字符串:");
  496 + // 对字符串切片,保留begin之后,end之前的字符串
  497 + System.out.println(Str.subSequence(begin,end));
  498 + // 把切片值作为结果并返回
  499 + String search_need = (String) Str.subSequence(begin,end);
  500 + return search_need;
  501 + }
  502 +
487 /** 503 /**
488 * 复写切片,仅在本页面作为截断日志文本后面带的一堆字符串 504 * 复写切片,仅在本页面作为截断日志文本后面带的一堆字符串
489 * @param string 505 * @param string
@@ -494,7 +510,7 @@ public class BasePage { @@ -494,7 +510,7 @@ public class BasePage {
494 String st1 = string.split(begin)[1]; 510 String st1 = string.split(begin)[1];
495 return st1; 511 return st1;
496 } 512 }
497 - 513 +
498 /**要的元素是否存在,最多5秒 514 /**要的元素是否存在,最多5秒
499 * @param element 515 * @param element
500 */ 516 */
src/main/java/com/essa/pageObject/HomePage.java
1 package com.essa.pageObject; 1 package com.essa.pageObject;
2 2
3 import com.essa.pageObject.DocumentaryManage.POBoardPage; 3 import com.essa.pageObject.DocumentaryManage.POBoardPage;
  4 +import org.openqa.selenium.By;
4 import org.openqa.selenium.WebDriver; 5 import org.openqa.selenium.WebDriver;
5 import org.openqa.selenium.WebElement; 6 import org.openqa.selenium.WebElement;
6 import org.openqa.selenium.support.FindBy; 7 import org.openqa.selenium.support.FindBy;
@@ -175,6 +176,10 @@ public class HomePage extends BasePage{ @@ -175,6 +176,10 @@ public class HomePage extends BasePage{
175 @FindBy (xpath = "//a[contains(text(),'收货任务管理')]") 176 @FindBy (xpath = "//a[contains(text(),'收货任务管理')]")
176 WebElement goodsReceiveTask; 177 WebElement goodsReceiveTask;
177 178
  179 + //装柜任务管理
  180 + @FindBy (xpath = "//a[@name='child.text'][contains(text(),'装柜任务管理')]")
  181 + WebElement loadContainerTask;
  182 +
178 /* 183 /*
179 * 方法 184 * 方法
180 */ 185 */
@@ -418,6 +423,18 @@ public class HomePage extends BasePage{ @@ -418,6 +423,18 @@ public class HomePage extends BasePage{
418 } 423 }
419 424
420 /** 425 /**
  426 + * 进入装柜任务处理管理页面
  427 + * @return 返回装柜任务处理管理页面
  428 + */
  429 + public NeedDealtApplyPage toLoadContainer(){
  430 + click(StorageManage);
  431 + click(loadContainerTask);
  432 + dynamicWait(By.xpath("//div[@class='loading ng-scope']"));
  433 + forceWait(3000);
  434 + return new NeedDealtApplyPage(driver);
  435 + }
  436 +
  437 + /**
421 * 登记备选船期待办 438 * 登记备选船期待办
422 * @return 进入登记船务船期待办详情页面 439 * @return 进入登记船务船期待办详情页面
423 */ 440 */
src/main/java/com/essa/pageObject/StorageManage/LoadContainerHandlePage.java 0 → 100644
@@ -0,0 +1,70 @@ @@ -0,0 +1,70 @@
  1 +package com.essa.pageObject.StorageManage;
  2 +
  3 +import com.essa.framework.BasePage;
  4 +import com.essa.framework.Model;
  5 +import org.openqa.selenium.By;
  6 +import org.openqa.selenium.WebDriver;
  7 +import org.openqa.selenium.WebElement;
  8 +import org.openqa.selenium.support.FindBy;
  9 +
  10 +import java.util.Date;
  11 +
  12 +
  13 +/**
  14 + * 装柜任务处理
  15 + */
  16 +public class LoadContainerHandlePage extends BasePage {
  17 +
  18 + public LoadContainerHandlePage(WebDriver driver){
  19 + super(driver);
  20 + }
  21 +
  22 + /**
  23 + * 元素定位
  24 + */
  25 + // 实装柜日期
  26 + @FindBy (xpath = "//input[@id='loadCompleteDate']")
  27 + WebElement actLoadTime;
  28 +
  29 + // 可装柜箱数
  30 + @FindBy (xpath = "//tr[@class='ng-scope']//td[6]")
  31 + WebElement mayLoadQuantity;
  32 +
  33 + // 实装箱数
  34 + @FindBy (xpath = "//input[@id='actLoadBoxQuantity']")
  35 + WebElement actLoadQuantity;
  36 +
  37 + // 点击选择文件
  38 + @FindBy (xpath ="//div[@id='rt_rt_1cqvbp0jn14kfb41keb187l1u8oh']//label" )
  39 + WebElement actPicture;
  40 +
  41 + // 提交
  42 + @FindBy (xpath = "//*[text()='提交']")
  43 + WebElement submit;
  44 +
  45 + /**
  46 + * 页面方法
  47 + */
  48 + public LoadContainerHandlePage loadTaskHandle(){
  49 + jsExecutorRemoveAttribute(actLoadTime,"readonly");
  50 + String date = getDateTimeByFormat(new Date(), "MM/dd/yyyy");
  51 + sendKeys(actLoadTime,date);
  52 + // 获取‘可装柜数量’字符串中的数量
  53 + String qua = partiaStr(mayLoadQuantity,0,1);
  54 + // 对切片结果进行int转换
  55 + int i = Integer.valueOf(qua).intValue();
  56 + // 形成现存尾货‘2’
  57 + int j = i-2;
  58 + // 对计算结果转换成string,并赋值给“实装柜数量”
  59 + String quantity = String.valueOf(j);
  60 + sendKeys(actLoadQuantity,quantity);
  61 + forceWait(1000);
  62 + // 上传装柜图片
  63 + click(actPicture);
  64 + uploadFile(Model.getPicPath());
  65 + forceWait(1000);
  66 + click(submit);
  67 + forceWait(2000);
  68 + return new LoadContainerHandlePage(driver);
  69 + }
  70 +}
src/main/java/com/essa/pageObject/StorageManage/LoadContainerManagePage.java 0 → 100644
@@ -0,0 +1,51 @@ @@ -0,0 +1,51 @@
  1 +package com.essa.pageObject.StorageManage;
  2 +
  3 +import com.essa.framework.BasePage;
  4 +import com.essa.framework.Model;
  5 +import net.bytebuddy.asm.Advice;
  6 +import org.openqa.selenium.WebDriver;
  7 +import org.openqa.selenium.WebElement;
  8 +import org.openqa.selenium.support.FindBy;
  9 +
  10 +public class LoadContainerManagePage extends BasePage {
  11 +
  12 + public LoadContainerManagePage(WebDriver driver) {
  13 + super(driver);
  14 + }
  15 +
  16 + /**
  17 + * 元素定位
  18 + */
  19 +
  20 + // 关键字搜索输入框
  21 + @FindBy(xpath = "//input[@placeholder='请输入PO单号或采购商编号,多个请用空格隔开']")
  22 + WebElement inputKeySearch;
  23 +
  24 + // 放大镜搜索按钮
  25 + @FindBy(xpath = "//*[@class='iconfont icon-search']")
  26 + WebElement keySearch;
  27 +
  28 + // 选中查询的第一条数据
  29 + @FindBy (xpath = "//td[@title='待处理']")
  30 + WebElement firstPO;
  31 +
  32 + // 处理
  33 + @FindBy(xpath = "//*[text()='处理']")
  34 + WebElement handle;
  35 +
  36 + /**
  37 + * 页面方法
  38 + *
  39 + * @return
  40 + */
  41 + public LoadContainerManagePage toLoadContainerDetail() {
  42 + sendKeys(inputKeySearch, Model.getPoNum());
  43 + forceWait(5000);
  44 + click(keySearch);
  45 + forceWait(2000);
  46 + click(firstPO);
  47 + forceWait(2000);
  48 + click(handle);
  49 + return new LoadContainerManagePage(driver);
  50 + }
  51 +}
src/main/java/com/essa/testSuite/TestLoadContainerTask.java 0 → 100644
@@ -0,0 +1,42 @@ @@ -0,0 +1,42 @@
  1 +package com.essa.testSuite;
  2 +
  3 +import com.essa.pageObject.BaseTest;
  4 +import com.essa.pageObject.HomePage;
  5 +import com.essa.pageObject.StorageManage.LoadContainerHandlePage;
  6 +import com.essa.pageObject.StorageManage.LoadContainerManagePage;
  7 +import org.openqa.selenium.WebDriver;
  8 +import org.openqa.selenium.support.PageFactory;
  9 +import org.testng.annotations.AfterClass;
  10 +import org.testng.annotations.BeforeClass;
  11 +import org.testng.annotations.Test;
  12 +
  13 +public class TestLoadContainerTask extends BaseTest {
  14 +
  15 + WebDriver driver;
  16 +
  17 + @BeforeClass
  18 + public void setUp(){
  19 + initsetUp();
  20 + loginValid("chenyijie");
  21 + }
  22 +
  23 + @AfterClass
  24 + public void tearDown(){
  25 + driver.quit();
  26 + }
  27 +
  28 + /**
  29 + * 装柜任务处理
  30 + */
  31 + @Test(description="装柜任务处理")
  32 + public void LoadContainerTask() {
  33 + this.driver = getDriver();
  34 + HomePage homePage = PageFactory.initElements(driver,HomePage.class);
  35 + homePage.toLoadContainer();
  36 + LoadContainerManagePage loadContainerManagePage = PageFactory.initElements(driver,LoadContainerManagePage.class);
  37 + loadContainerManagePage.toLoadContainerDetail();
  38 + LoadContainerHandlePage loadContainerHandlePage = PageFactory.initElements(driver,LoadContainerHandlePage.class);
  39 + loadContainerHandlePage.loadTaskHandle();
  40 + homePage.logout();
  41 + }
  42 +}
src/main/java/com/essa/testSuite/TestNoticeReceiveAndLoad.java
@@ -55,6 +55,7 @@ public class TestNoticeReceiveAndLoad extends BaseTest{ @@ -55,6 +55,7 @@ public class TestNoticeReceiveAndLoad extends BaseTest{
55 SoftAssert anAssert = new SoftAssert(); 55 SoftAssert anAssert = new SoftAssert();
56 anAssert.assertEquals(actualLoae,true,"通知装柜失败!"); 56 anAssert.assertEquals(actualLoae,true,"通知装柜失败!");
57 anAssert.assertAll(); 57 anAssert.assertAll();
  58 + homePage.logout();
58 } 59 }
59 60
60 } 61 }