Commit 0e4d02cb24161b0953fa097446c7f468312f177b
1 parent
a90375bd
增加装柜任务形成现存尾货
Showing
6 changed files
with
200 additions
and
3 deletions
Show diff stats
src/main/java/com/essa/framework/BasePage.java
| ... | ... | @@ -74,7 +74,6 @@ public class BasePage { |
| 74 | 74 | } catch (Exception e) { |
| 75 | 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 | 482 | Logger.Output(LogType.LogTypeName.INFO, "返回切片后的字符串"); |
| 484 | 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 | 505 | * @param string |
| ... | ... | @@ -494,7 +510,7 @@ public class BasePage { |
| 494 | 510 | String st1 = string.split(begin)[1]; |
| 495 | 511 | return st1; |
| 496 | 512 | } |
| 497 | - | |
| 513 | + | |
| 498 | 514 | /**要的元素是否存在,最多5秒 |
| 499 | 515 | * @param element |
| 500 | 516 | */ | ... | ... |
src/main/java/com/essa/pageObject/HomePage.java
| 1 | 1 | package com.essa.pageObject; |
| 2 | 2 | |
| 3 | 3 | import com.essa.pageObject.DocumentaryManage.POBoardPage; |
| 4 | +import org.openqa.selenium.By; | |
| 4 | 5 | import org.openqa.selenium.WebDriver; |
| 5 | 6 | import org.openqa.selenium.WebElement; |
| 6 | 7 | import org.openqa.selenium.support.FindBy; |
| ... | ... | @@ -175,6 +176,10 @@ public class HomePage extends BasePage{ |
| 175 | 176 | @FindBy (xpath = "//a[contains(text(),'收货任务管理')]") |
| 176 | 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 | 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 | 439 | * @return 进入登记船务船期待办详情页面 |
| 423 | 440 | */ | ... | ... |
src/main/java/com/essa/pageObject/StorageManage/LoadContainerHandlePage.java
0 → 100644
| ... | ... | @@ -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 @@ |
| 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 @@ |
| 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