Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java =================================================================== diff -u -r19915 -r19931 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java (.../ALL.java) (revision 19915) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java (.../ALL.java) (revision 19931) @@ -73,7 +73,7 @@ ChainConsumer.doApplyForMultiple(DeskIconEnum.GDSY); logger.info("申请流程结束.........."); JSWaiter.waitUntilJQueryReady(); - Utils.driver.quit(); + login.login_Out(); } catch (Exception e) { logger.error(e, e); @@ -91,9 +91,8 @@ Utils.DateTime(); one.init(); one.One_use_Entry_success(); - one.after(); + login.login_Out(); // 二级供应室一次性物品入库 - login.init(); login.login_secondSupplyRoom(true); Utils.retryingFindAndClick(By.id("enterpriseView")); Utils.retryingFindAndSwitchToFrame(By.id("iframe_enterpriseView")); @@ -103,7 +102,7 @@ Utils.retryingFindAndClick(By .xpath("//div/a/span[contains(text(), '一次性物品管理')]")); one.One_use_Entry_success(); - one.after(); + login.login_Out(); } catch (Exception e) { logger.error(e, e); @@ -114,13 +113,12 @@ @Test public void all() { try { - initCSSDData(); - // 由于省医增加配置一次性物品没库存无法申请,调整一次性物品入库到申请前 - oneUse(); - before(); + initCSSDData(); + // 由于省医增加配置一次性物品没库存无法申请,调整一次性物品入库到申请前 + oneUse(); + before(); System.out.print("回收开始:"); Utils.DateTime(); - login.init(); final String SERVER_URL = Utils.settings.get("服务器地址").toString(); Utils.driver.get(SERVER_URL + "/?logonType=1080p"); login.login_secondSupplyRoom(false); @@ -168,9 +166,8 @@ .getJSONObject("二级供应室装配组").getString("名称1"))); /** 二级供应室装配 */ assemble.assemble_secondSupplyRoomSet(); - assemble.after(); + login.login_Out(); /** 二级供应室装配后做代理灭菌 */ - Utils.init(); login.login_oneSupplyRoom(); disinfection.disinfection_agent(); disinfection.after(); @@ -299,6 +296,7 @@ Utils.retryingFindAndClick(By.linkText(Utils.settings .getJSONObject("一级供应室装配组").getString("名称3"))); Utils.retryingFindAndSwitchToFrame(By.id("iframe_reviewPacking")); + // WebElement element = Utils.retryingFind(By .xpath("//button[contains(text(), '进入审核列表')]")); handleReview(element, review); @@ -318,9 +316,13 @@ Utils.driver.switchTo().defaultContent(); Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); assemble.assemble_success1(); - assemble.after(); + login.login_Out(); /*** 一级供应室装配敷料包、器械包、自定义器械包 ***/ - assemble.init(); + login.login_oneSupplyRoom(); + Utils.retryingFindAndHover(By.id("packing")); + Utils.retryingFindAndClick(By.linkText(Utils.settings + .getJSONObject("一级供应室装配组").getString("名称2"))); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); assemble.assemble_Scrap(); Utils.driver.switchTo().defaultContent(); Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); @@ -379,11 +381,11 @@ delivery.Delivery_auxiliary(); delivery.Delivery_custom(); delivery.Delivery_TousseAndDressing(); - delivery.after(); + login.login_Out(); /*** 临床签收物品 ***/ System.out.print("签收物品开始:"); Utils.DateTime(); - sign.init(); + login.login_clinicNoWarnig(); sign.Sign_Success(); Utils.switchToDefaultContent(); Utils.retryingFindAndClick(By @@ -406,9 +408,17 @@ Utils.retryingFindAndClick(By .xpath("//span[contains(text(), '个人桌面')]")); apply.apply_borrow_return(); - apply.after(); + login.login_Out(); /*** 供应室退货 ***/ - reject.init(); + login.login_oneSupplyRoom(); + Utils.retryingFindAndClick(By.id("enterpriseView")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_enterpriseView")); + 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(), '退货记录信息')]")); reject.Reject_set_success_ou(); Utils.retryingFindAndSwitchToFrame(By.id("iframe_enterpriseView")); JSWaiter.waitUntilJQueryReady(); @@ -478,7 +488,9 @@ Set allWindowsId = Utils.driver.getWindowHandles(); for (String windowID : allWindowsId) { if (Utils.driver.switchTo().window(windowID).getTitle() - .contains("消毒")) { + .contains("消毒") + || Utils.driver.switchTo().window(windowID).getTitle() + .contains("WebDriver")) { Utils.driver.switchTo().window(windowID); System.out.println(windowID); JSWaiter.waitUntilJQueryReady(); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Login.java =================================================================== diff -u -r19526 -r19931 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Login.java (.../Login.java) (revision 19526) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Login.java (.../Login.java) (revision 19931) @@ -16,12 +16,14 @@ import test.forgon.disinfectsystem.selenium.tools.JSWaiter; import test.forgon.disinfectsystem.selenium.tools.Utils; -/**Wait wait = WaitFactory.createDefaultWait(); +/** + * Wait wait = WaitFactory.createDefaultWait(); + * * @author cherry 2016-07-18 */ public class Login { - + /** * 初始化WebDriver对象 */ @@ -115,6 +117,24 @@ } } + /** + * 登陆后退出 + * */ + @Test + public void login_Out() { + try { + Utils.driver.switchTo().defaultContent(); + String currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); + Utils.retryingFindAndClick(By.cssSelector("a[title='退出系统']")); + Utils.waitUntilUrlChange(Utils.settings.get("服务器地址").toString() + + "/logon.jsp", 8); + } catch (Exception e) { + e.printStackTrace(); + AssertJUnit.fail(e.getMessage()); + } + } + public void loginAction() { JSWaiter.waitUntilJQueryReady(); Utils.retryingFind(By.id("j_username_display")).clear(); @@ -130,7 +150,7 @@ * 判断登录是否成功 */ private void isLoginSuccess() { - + JSWaiter.waitUntilJQueryReady(); System.out.println("Page title is: " + Utils.driver.getTitle()); @@ -180,8 +200,10 @@ /** * 二级供应室用户登录 - * @param isLoginToHomepage 是否登录到首页,如果为否,则登陆到触摸屏回收界面 * + * @param isLoginToHomepage + * 是否登录到首页,如果为否,则登陆到触摸屏回收界面 + * */ public void login_secondSupplyRoom(boolean isLoginToHomepage) { try { @@ -192,17 +214,16 @@ Utils.retryingFindAndSendKeys(By.id("j_password"), Utils.settings .getJSONObject("二级供应室用户").getString("密码")); Utils.retryingFindAndClick(By.id("btn1")); - + if (isLoginToHomepage) { isLoginSuccess(); Utils.tryToCloseWarningWindow(); - } - else{ + } else { Utils.waitUntilUrlContains("awaitForRecycleList.jsp", 15); } JSWaiter.waitUntilJQueryReady(); -// Utils.waitUntilUrlChange(Utils.settings.get("服务器地址") -// + "/homepage/portalPage.jsp", 8); + // Utils.waitUntilUrlChange(Utils.settings.get("服务器地址") + // + "/homepage/portalPage.jsp", 8); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); @@ -221,7 +242,7 @@ Utils.retryingFindAndSendKeys(By.id("j_password"), Utils.settings .getJSONObject("临床科室用户").get("密码").toString()); Utils.retryingFindAndClick(By.id("btn1")); - + isLoginSuccess(); } @@ -245,9 +266,9 @@ isLoginSuccess(); System.out.println("Page title is: " + Utils.driver.getTitle()); - + JSWaiter.waitUntilJQueryReady(); - + assertEquals(Utils.settings.get("服务器地址") + "/homepage/portalPage.jsp", Utils.driver.getCurrentUrl()); } catch (Exception e) { Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Wash.java =================================================================== diff -u -r19915 -r19931 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Wash.java (.../Wash.java) (revision 19915) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Wash.java (.../Wash.java) (revision 19931) @@ -38,8 +38,7 @@ Utils.driver.switchTo().window(winHandle); } - Utils.retryingFindAndSwitchToFrame(By - .id("iframe_washAndDisinfect")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_washAndDisinfect")); Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '添加')]")); @@ -76,11 +75,11 @@ try { Utils.init(); Login login = new Login(); - + String serverAddress = Utils.settings.get("服务器地址").toString(); // 触摸屏清洗服务的地址为相对地址,访问时必须加上服务器地址 String touchScreenURL = Utils.settings.get("触摸屏清洗服务地址").toString(); - if (!touchScreenURL.startsWith("/")){ + if (!touchScreenURL.startsWith("/")) { touchScreenURL = "/" + touchScreenURL; } Utils.driver.get(serverAddress + touchScreenURL); @@ -288,20 +287,22 @@ "value", "1")); // 扫描篮筐条码,录质量监测记录 Utils.retryingFind(By.id("qualityMonitoringWin")); - Utils.retryingFindAndSendKeys(By.id("formName"), Keys.DOWN); + Utils.retryingFindAndSendKeys(By.id("formName"), Keys.DOWN); Utils.retryingFindAndClick(By.xpath("//div[contains(text(), '无')]")); WebElement element = Utils.retryingFind(By.id("scanBarcode")); - + if (Utils.isFind(element)) { - Utils.retryingFindAndSendKeys(By.id("scanBarcode"), - Utils.settings.getJSONObject("一级供应室清洗篮筐4") - .getString("条码") + "\n"); - } - + Utils.retryingFindAndSendKeys( + By.id("scanBarcode"), + Utils.settings.getJSONObject("一级供应室清洗篮筐4").getString( + "条码") + + "\n"); + } + // 质量监测保存 Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '保存')]")); -// Utils.retryingFindAndSwitchToFrame(By.id("iframe_washAndDisinfect")); + // Utils.retryingFindAndSwitchToFrame(By.id("iframe_washAndDisinfect")); // 重新清洗 Utils.retryingFindAndClick(By .xpath("//p[contains(text(), '清洗失败')]")); @@ -314,7 +315,22 @@ Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '重新清洗')]")); Utils.retryingFindAndSwitchToFrame(By.id("iframe_washAndDisinfect")); + wait.until(ExpectedConditions.attributeToBe( + Utils.driver.findElement(By.id("washSaveConfirm")), + "value", "1")); + wait.until(ExpectedConditions.attributeToBe( + Utils.driver.findElement(By.id("washSaveSubmitResult")), + "value", "1")); Utils.retryingFindAndClick(By.xpath("//p[contains(text(), '清洗中')]")); + WebElement element1 = Utils.retryingFind(By + .cssSelector("div[class='x-grid3-row-checker']")); + if (Utils.isFind(element1)) { + if (element1.isSelected()) { + + } else { + element1.click(); + } + } // 重新清洗后完成 Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '清洗完成')]")); @@ -441,19 +457,18 @@ Utils.driver.switchTo().window(winHandle); } Wait wait = WaitFactory.createDefaultWait(); - Utils.retryingFindAndSwitchToFrame(By - .id("iframe_washAndDisinfect")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_washAndDisinfect")); Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '添加')]")); Utils.driver.switchTo().defaultContent(); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); - + wait.until(ExpectedConditions.attributeToBe( - Utils.driver.findElement(By.id("washLoadResult")), - "value", "1")); - + Utils.driver.findElement(By.id("washLoadResult")), "value", + "1")); + Utils.retryingFindAndSendKeys(By.id("inputText"), Utils.settings .getJSONObject("二级供应室清洗机").getString("清洗机条码") + "\n"); wait.until(ExpectedConditions.attributeToBeNotEmpty( @@ -496,11 +511,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"); } }