Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Recyle.java =================================================================== diff -u -r19915 -r20261 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Recyle.java (.../Recyle.java) (revision 19915) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Recyle.java (.../Recyle.java) (revision 20261) @@ -785,6 +785,74 @@ } /** + * 外来器械二次回收 + * */ + @Test + public void recyle_Foreign_Twice() { + try { + String a = Utils.settings.getJSONObject("临床科室").getString("条码"); + // 输入临床科室条码,只显示临床科室的申请单 + Utils.retryingFindAndSendKeys(By.tagName("body"), a + "\n"); + WebElement element = Utils.retryingFind(By.id("tousseItemTable")); + + if (Utils.isFind(element)) { + } else { + + Utils.retryingFindClickFirstCellOfTable(By + .id("awaitForRecycleTable")); + waitUrlChange(); + + } + // 获取器械包的器械(材料)清单表格 + WebElement tousseItemTable = this.scanRecycleUserBarcode(); + tousseItemTable.sendKeys(Utils.settings.getJSONObject("一级供应室清洗篮筐1") + .getString("条码") + "\n"); + + Utils.retryingFindAndClick(By.id("showTousseName0")); + Utils.driver.switchTo().defaultContent(); + + Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); + if (Utils.retryingFind(By.id("includeImplant1")).getText() == "否") { + Utils.retryingFindAndClick(By.id("includeImplant1")); + } + if (Utils.isFind(Utils.retryingFind(By + .id("usedAmountOfIncludeImplant1")))) { + Utils.retryingFindAndClick(By.id("usedAmountOfIncludeImplant1")); + Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); + + a = (int) (Math.random() * 8 + 1) + ""; + Utils.retryingFindAndClick(By.id("button" + a)); + Utils.retryingFindAndClick(By.id("okButton")); + + Utils.driver.switchTo().defaultContent(); + Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); + + Utils.retryingFindAndClick(By.id("ftDefinitionSubmitButton")); + + Wait wait = WaitFactory.createDefaultWait(); + wait.until(ExpectedConditions.alertIsPresent()); + + Alert alertBox = Utils.driver.switchTo().alert(); + alertBox.accept(); + } + String recyclingFormWindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(recyclingFormWindowhandle); + tousseItemTable = Utils.retryingFind(By.id("tousseItemTable")); + List addButtons = tousseItemTable.findElements(By + .cssSelector(".btn-a")); + for (WebElement addButton : addButtons) { + addButton.click(); + + } + Utils.retryingFindAndClick(By.id("saveBtn")); + } catch (Exception e) { + System.out.println("异常信息:"); + e.printStackTrace(); + AssertJUnit.fail(e.getMessage()); + } + } + + /** * 外来器械回收修改数量 * */ @Test @@ -1063,11 +1131,11 @@ @AfterMethod public void after() { - JSWaiter.waitUntilJQueryReady(); - Utils.driver.quit(); - WindowsUtils.killByName("IEDriverServer.exe"); - WindowsUtils.killByName("iexplore.exe"); - WindowsUtils.killByName("iexplore.exe *32"); + JSWaiter.waitUntilJQueryReady(); + Utils.driver.quit(); + WindowsUtils.killByName("IEDriverServer.exe"); + WindowsUtils.killByName("iexplore.exe"); + WindowsUtils.killByName("iexplore.exe *32"); } /** Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java =================================================================== diff -u -r20249 -r20261 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java (.../ALL.java) (revision 20249) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java (.../ALL.java) (revision 20261) @@ -482,6 +482,21 @@ Utils.refresh(); regular_Monitor.Regular_Monitor_Unqualified(); regular_Monitor.after(); + /*** 供应室二次回收外来器械 ***/ + recyle.init(); + recyle.recyle_Foreign_Twice(); + Utils.waitUntilUrlChange( + SERVER_URL + + "/disinfectsystem/touchScreen/recycle/awaitForRecycleList.jsp?resolution=1980", + 8); + Utils.retryingFindAndClick(By.id("return")); + Utils.waitUntilUrlChange(SERVER_URL + "/homepage/portalPage.jsp", 8); + Utils.tryToCloseWarningWindow(); + /*** 供应室提前归还、确认归还外来器械 ***/ + apply.advance_Return_ForeignSet(); + Utils.refresh(); + apply.Return_ForeignSet(); + apply.after(); } catch (Exception e) { logger.error(e, e); e.printStackTrace(); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/One_use.java =================================================================== diff -u -r20152 -r20261 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/One_use.java (.../One_use.java) (revision 20152) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/One_use.java (.../One_use.java) (revision 20261) @@ -65,93 +65,102 @@ .xpath("//button[contains(text(), '添加')]")); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); - String name = Utils.settings.getJSONObject("一级供应室一次性物品").getString( - "名称"); - // 要等待物品名称下拉框由disable变成enable后即可以被点击后再进行以下操作 - Wait wait = WaitFactory.createDefaultWait(); + if (Utils.isFind(Utils.retryingFind(By.id("godownEntryForm")))) { + Utils.retryingFindAndClick(By.id("godownEntryForm")); + String name = Utils.settings.getJSONObject("一级供应室一次性物品") + .getString("名称"); + // 要等待物品名称下拉框由disable变成enable后即可以被点击后再进行以下操作 + Wait wait = WaitFactory.createDefaultWait(); - wait.until(ExpectedConditions.elementToBeClickable(By.id("name1"))); + wait.until(ExpectedConditions.elementToBeClickable(By + .id("name1"))); - for (int i = 6; i < 9; i++) { - String x = (int) (Math.random() * 8 + 1) + ""; - Utils.retryingFindAndClick(By.id("name1")); - Utils.retryingFindAndSendKeys(By.id("name1"), Keys.DOWN); - Utils.retryingFindAndClick(By - .xpath("//div/div/div[contains(text(), '" + name - + "')]")); + for (int i = 6; i < 9; i++) { + String x = (int) (Math.random() * 8 + 1) + ""; + Utils.retryingFindAndClick(By.id("name1")); + Utils.retryingFindAndSendKeys(By.id("name1"), Keys.DOWN); + Utils.retryingFindAndClick(By + .xpath("//div/div/div[contains(text(), '" + name + + "')]")); - Utils.retryingFind(By.id("amount1")).clear(); - Utils.retryingFindAndSendKeys(By.id("amount1"), i + "\n"); - Utils.retryingFindAndSendKeys(By.id("batchNumber1"), "2017030" - + i + "\n"); - Utils.retryingFind(By.id("expDate1")).clear(); - Utils.retryingFindAndSendKeys(By.id("expDate1"), "2020010" + i - + "\n"); - Utils.retryingFind(By.id("cost1")).clear(); - Utils.retryingFindAndSendKeys(By.id("cost1"), x + "." + x + x - + "\n"); - WebElement supplier = Utils.retryingFind(By.id("supplier1")); - if (supplier.getText() != null) { - supplier.sendKeys(Keys.DOWN); + Utils.retryingFind(By.id("amount1")).clear(); + Utils.retryingFindAndSendKeys(By.id("amount1"), i + "\n"); + Utils.retryingFindAndSendKeys(By.id("batchNumber1"), + "2017030" + i + "\n"); + Utils.retryingFind(By.id("expDate1")).clear(); + Utils.retryingFindAndSendKeys(By.id("expDate1"), "2020010" + + i + "\n"); + Utils.retryingFind(By.id("cost1")).clear(); + Utils.retryingFindAndSendKeys(By.id("cost1"), x + "." + x + + x + "\n"); + WebElement supplier = Utils + .retryingFind(By.id("supplier1")); + if (supplier.getText() != null) { + supplier.sendKeys(Keys.DOWN); - supplier.sendKeys("\n"); + supplier.sendKeys("\n"); + } + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '添加')]")); + } - Utils.retryingFindAndClick(By - .xpath("//button[contains(text(), '添加')]")); + name = Utils.settings.getJSONObject("一级供应室一次性物品1").getString( + "名称"); + // 要等待物品名称下拉框由disable变成enable后即可以被点击后再进行以下操作 - } - name = Utils.settings.getJSONObject("一级供应室一次性物品1").getString("名称"); - // 要等待物品名称下拉框由disable变成enable后即可以被点击后再进行以下操作 + wait.until(ExpectedConditions.elementToBeClickable(By + .id("name1"))); - wait.until(ExpectedConditions.elementToBeClickable(By.id("name1"))); + for (int i = 9; i > 6; i--) { + String x = (int) (Math.random() * 8 + 1) + ""; + Utils.retryingFindAndSendKeys(By.id("name1"), Keys.DOWN); + Utils.retryingFindAndClick(By + .xpath("//div/div/div[contains(text(), '" + name + + "')]")); - for (int i = 9; i > 6; i--) { - String x = (int) (Math.random() * 8 + 1) + ""; - Utils.retryingFindAndSendKeys(By.id("name1"), Keys.DOWN); - Utils.retryingFindAndClick(By - .xpath("//div/div/div[contains(text(), '" + name - + "')]")); + Utils.retryingFind(By.id("amount1")).clear(); + Utils.retryingFindAndSendKeys(By.id("amount1"), i + "\n"); + Utils.retryingFindAndSendKeys(By.id("batchNumber1"), + "2017030" + i + "\n"); + Utils.retryingFind(By.id("expDate1")).clear(); + Utils.retryingFindAndSendKeys(By.id("expDate1"), "2020010" + + i + "\n"); + Utils.retryingFind(By.id("cost1")).clear(); + Utils.retryingFindAndSendKeys(By.id("cost1"), x + "." + x + + x + "\n"); + WebElement supplier = Utils + .retryingFind(By.id("supplier1")); + if (supplier.getText() != null) { + supplier.sendKeys(Keys.DOWN); - Utils.retryingFind(By.id("amount1")).clear(); - Utils.retryingFindAndSendKeys(By.id("amount1"), i + "\n"); - Utils.retryingFindAndSendKeys(By.id("batchNumber1"), "2017030" - + i + "\n"); - Utils.retryingFind(By.id("expDate1")).clear(); - Utils.retryingFindAndSendKeys(By.id("expDate1"), "2020010" + i - + "\n"); - Utils.retryingFind(By.id("cost1")).clear(); - Utils.retryingFindAndSendKeys(By.id("cost1"), x + "." + x + x - + "\n"); - WebElement supplier = Utils.retryingFind(By.id("supplier1")); - if (supplier.getText() != null) { - supplier.sendKeys(Keys.DOWN); + supplier.sendKeys("\n"); + } + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '添加')]")); - supplier.sendKeys("\n"); } Utils.retryingFindAndClick(By - .xpath("//button[contains(text(), '添加')]")); + .xpath("//button[contains(text(), '保存并打印新标签')]")); + // 必须先定位回到最外层的iframe,然后逐步定位里层的iframe + Utils.retryingFindAndSwitchToFrame(By + .id("iframe_enterpriseView")); - } - Utils.retryingFindAndClick(By - .xpath("//button[contains(text(), '保存并打印新标签')]")); - // 必须先定位回到最外层的iframe,然后逐步定位里层的iframe - Utils.retryingFindAndSwitchToFrame(By.id("iframe_enterpriseView")); + // 必须加上如下的切换代码,否则获取条码的javascript语句执行会报异常错误 + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + JSWaiter.waitUntilJQueryReady(); - // 必须加上如下的切换代码,否则获取条码的javascript语句执行会报异常错误 - Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); - JSWaiter.waitUntilJQueryReady(); + // 等待表单提交成功 + wait.until(ExpectedConditions.attributeToBe( + Utils.fluentWaitUntilFind(By.id("formSubmitResult")), + "value", "1")); - // 等待表单提交成功 - wait.until(ExpectedConditions.attributeToBe( - Utils.fluentWaitUntilFind(By.id("formSubmitResult")), - "value", "1")); + // 获取一次性物品入库后的条码 + Utils.disposableGoodsBatchBarcodesAfterEntry = Utils + .getDisposableGoodsBatchBarcodesAfterEntry(); - // 获取一次性物品入库后的条码 - Utils.disposableGoodsBatchBarcodesAfterEntry = Utils - .getDisposableGoodsBatchBarcodesAfterEntry(); - - System.out.println("本次一次性物品入库后的条码:" - + Utils.disposableGoodsBatchBarcodesAfterEntry); + System.out.println("本次一次性物品入库后的条码:" + + Utils.disposableGoodsBatchBarcodesAfterEntry); + } } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Apply.java =================================================================== diff -u -r19800 -r20261 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Apply.java (.../Apply.java) (revision 19800) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Apply.java (.../Apply.java) (revision 20261) @@ -35,17 +35,17 @@ public void init() { Utils.init(); Login login = new Login(); - login.login_clinic(); - Utils.retryingFindAndClick(By.id("recyclingApplication")); - Utils.retryingFindAndSwitchToFrame(By - .id("iframe_recyclingApplication")); - - Utils.retryingFindAndClick(By - .xpath("//button[contains(text(), '申请物品')]")); - Utils.driver.switchTo().defaultContent(); - - String currentwindowhandle = Utils.driver.getWindowHandle(); - Utils.driver.switchTo().window(currentwindowhandle); + // login.login_clinic(); + // Utils.retryingFindAndClick(By.id("recyclingApplication")); + // Utils.retryingFindAndSwitchToFrame(By.id("iframe_recyclingApplication")); + // + // Utils.retryingFindAndClick(By + // .xpath("//button[contains(text(), '申请物品')]")); + // Utils.driver.switchTo().defaultContent(); + // + // String currentwindowhandle = Utils.driver.getWindowHandle(); + // Utils.driver.switchTo().window(currentwindowhandle); + login.login_oneSupplyRoom(); } /** @@ -208,21 +208,20 @@ WebElement element = Utils.retryingFind(By .xpath("//span[contains(text(), '是')]")); if (Utils.isFind(element)) { - // 定位到弹出对话框的按钮 - Wait wait = WaitFactory.createDefaultWait(); - WebElement yesbutton = wait - .until(new Function() { - public WebElement apply(WebDriver driver) { - JSWaiter.waitUntilJQueryReady(); - return driver.findElement(By - .xpath("//span[contains(text(), '否')]")); + // 定位到弹出对话框的按钮 + Wait wait = WaitFactory.createDefaultWait(); + WebElement yesbutton = wait + .until(new Function() { + public WebElement apply(WebDriver driver) { + JSWaiter.waitUntilJQueryReady(); + return driver.findElement(By + .xpath("//span[contains(text(), '否')]")); - } - }); - Utils.clickWebElement(ActionExecuteMethod.ByTagType, yesbutton); + } + }); + Utils.clickWebElement(ActionExecuteMethod.ByTagType, yesbutton); - } - else { + } else { // 定位到弹出对话框的按钮 Utils.LocaAndWait(); @@ -473,26 +472,25 @@ By.cssSelector("input[name='count1']"), "2" + "\n"); Utils.retryingFindAndClick(By .xpath("//span/span/span[contains(text(), '提交')]")); - + WebElement element = Utils.retryingFind(By .xpath("//span[contains(text(), '是')]")); if (Utils.isFind(element)) { - // 定位到弹出对话框的按钮 - Wait wait = WaitFactory.createDefaultWait(); - WebElement yesbutton = wait - .until(new Function() { - public WebElement apply(WebDriver driver) { - JSWaiter.waitUntilJQueryReady(); - return driver.findElement(By - .xpath("//span[contains(text(), '是')]")); + // 定位到弹出对话框的按钮 + Wait wait = WaitFactory.createDefaultWait(); + WebElement yesbutton = wait + .until(new Function() { + public WebElement apply(WebDriver driver) { + JSWaiter.waitUntilJQueryReady(); + return driver.findElement(By + .xpath("//span[contains(text(), '是')]")); - } - }); - Utils.clickWebElement(ActionExecuteMethod.ByTagType, yesbutton); + } + }); + Utils.clickWebElement(ActionExecuteMethod.ByTagType, yesbutton); - } - else { + } else { // 定位到弹出对话框的按钮 Utils.LocaAndWait(); @@ -684,6 +682,75 @@ } /** + * 提前归还外来器械 + * */ + @Test + public void advance_Return_ForeignSet() { + try { + Utils.retryingFindAndClick(By.id("enterpriseView")); + JSWaiter.waitUntilJQueryReady(); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_enterpriseView")); + Utils.retryingFindAndClick(By + .xpath("//div/span[contains(text(), '消毒供应管理')]")); + Utils.retryingFindAndClick(By + .xpath("//div/span[contains(text(), '消毒供应管理')]")); + Utils.retryingFindAndClick(By + .xpath("//div/a/span[contains(text(), '科室申领')]")); + Utils.retryingFindAndClick(By + .xpath("//div/a/span[contains(text(), '外来器械包申请')]")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + JSWaiter.waitUntilJQueryReady(); + Utils.retryingFindAndClick(By + .xpath("//div/p[contains(text(), '已接收')]")); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '批量提前归还')]")); + String currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '是')]")); + JSWaiter.waitUntilJQueryReady(); + } catch (Exception e) { + e.printStackTrace(); + Assert.fail(e.getMessage()); + } + } + + /** + * 确认归还外来器械 + * */ + @Test + public void Return_ForeignSet() { + try { + Utils.retryingFindAndClick(By.id("enterpriseView")); + JSWaiter.waitUntilJQueryReady(); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_enterpriseView")); + Utils.retryingFindAndClick(By + .xpath("//div/span[contains(text(), '消毒供应管理')]")); + Utils.retryingFindAndClick(By + .xpath("//div/span[contains(text(), '消毒供应管理')]")); + Utils.retryingFindAndClick(By + .xpath("//div/a/span[contains(text(), '科室申领')]")); + Utils.retryingFindAndClick(By + .xpath("//div/a/span[contains(text(), '外来器械包申请')]")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + JSWaiter.waitUntilJQueryReady(); + Utils.retryingFindAndClick(By + .xpath("//div/p[contains(text(), '已回收')]")); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '批量确认归还')]")); + String currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '是')]")); + JSWaiter.waitUntilJQueryReady(); + + } catch (Exception e) { + e.printStackTrace(); + Assert.fail(e.getMessage()); + } + } + + /** * 借物单 * */ @Test @@ -738,35 +805,33 @@ try { Utils.retryingFindAndClick(By.id("borrowManager")); - Utils.retryingFindAndSwitchToFrame(By - .id("iframe_borrowManager")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_borrowManager")); - WebElement element = Utils.retryingFind(By .cssSelector("input[value='归还物品']")); if (Utils.isFind(element)) { - Utils.retryingFindAndClick(By - .cssSelector("input[value='归还物品']")); - String currentwindowhandle = Utils.driver.getWindowHandle(); - Utils.driver.switchTo().window(currentwindowhandle); + Utils.retryingFindAndClick(By + .cssSelector("input[value='归还物品']")); + String currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); - Utils.retryingFindAndClick(By - .xpath("//button[contains(text(), '保存')]")); - // 定位到弹出对话框的按钮 - Wait wait = WaitFactory.createDefaultWait(); - WebElement yesbutton = wait - .until(new Function() { - public WebElement apply(WebDriver driver) { - - JSWaiter.waitUntilJQueryReady(); - - return driver.findElement(By - .xpath("//button[contains(text(), '是')]")); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '保存')]")); + // 定位到弹出对话框的按钮 + Wait wait = WaitFactory.createDefaultWait(); + WebElement yesbutton = wait + .until(new Function() { + public WebElement apply(WebDriver driver) { - } - }); - Utils.clickWebElement(ActionExecuteMethod.ByTagType, yesbutton); - } + JSWaiter.waitUntilJQueryReady(); + + return driver.findElement(By + .xpath("//button[contains(text(), '是')]")); + + } + }); + Utils.clickWebElement(ActionExecuteMethod.ByTagType, yesbutton); + } JSWaiter.waitUntilJQueryReady(); } catch (Exception e) { e.printStackTrace();