Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Login.java =================================================================== diff -u -r20663 -r20970 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Login.java (.../Login.java) (revision 20663) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Login.java (.../Login.java) (revision 20970) @@ -128,9 +128,15 @@ 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", 15); + if (Utils.isFind(Utils.retryingFind(By + .cssSelector("a[title='退出系统']")))) { + Utils.retryingFindAndClick(By.cssSelector("a[title='退出系统']")); + Utils.waitUntilUrlChange(Utils.settings.get("服务器地址").toString() + + "/logon.jsp", 15); + } + else{ + System.out.println("找不到退出系统按钮"); + } Utils.switchToDefaultContent(); } catch (Exception e) { e.printStackTrace(); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/sterilization/SterilizationTest.java =================================================================== diff -u -r20961 -r20970 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/sterilization/SterilizationTest.java (.../SterilizationTest.java) (revision 20961) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/sterilization/SterilizationTest.java (.../SterilizationTest.java) (revision 20970) @@ -152,11 +152,15 @@ Utils.retryingFindAndSendKeys( By.cssSelector("div[class='x-grid3-scroller']"), Keys.ARROW_RIGHT); - Utils.retryingFindAndSendKeys( - By.cssSelector("div[class='x-grid3-scroller']"), - Keys.ARROW_RIGHT); // Utils.retryingFindAndClick(By.id(sterilizerName + "-" // + SterilizationHelper.炉次_1号高温蒸汽灭菌炉 + "-interruptionHandle")); + if (Utils.isFind(Utils.retryingFind(By + .cssSelector("img[title='重新灭菌']")))) { + } else { + Utils.retryingFindAndSendKeys( + By.cssSelector("div[class='x-grid3-scroller']"), + Keys.ARROW_RIGHT); + } Utils.retryingFindAndClick(By.cssSelector("img[title='重新灭菌']")); Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); Utils.retryingFindAndClick(By.id("continueBtn")); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/apply/helper/ApplyHelper.java =================================================================== diff -u -r20706 -r20970 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/apply/helper/ApplyHelper.java (.../ApplyHelper.java) (revision 20706) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/apply/helper/ApplyHelper.java (.../ApplyHelper.java) (revision 20970) @@ -47,7 +47,10 @@ String waitScript = "return Ext.getCmp('" + applyGoodBo.getAssertWinId() + "') || Ext4.getCmp('" + applyGoodBo.getAssertWinId() + "') ? false : true;"; - Utils.waitPageLoaded(waitScript); + if (waitScript.equals("true")) { + } else { + Utils.waitPageLoaded(waitScript); + } } /** @@ -62,7 +65,10 @@ String dom = "var thisDom = document.getElementById('" + applyGoodBo.getDeskId() + "');"; String waitScript = dom + "return thisDom ? false : true;"; - Utils.waitPageLoaded(waitScript); + if (waitScript.equals("true")) { + } else { + Utils.waitPageLoaded(waitScript); + } String clickScript = dom + "thisDom.click()"; Utils.runJavaScript(clickScript); WebElement element = Utils.retryingFindAndSwitchToFrame(By @@ -180,13 +186,13 @@ // throw new RuntimeException("提交失败!"); // } // 这里等待提交完成暂时改成用until方式,上面的方法好像不太稳定 -// WebDriverWait waitSetting = new WebDriverWait(Utils.driver, 15, 50); + // WebDriverWait waitSetting = new WebDriverWait(Utils.driver, 15, 50); if (Utils.isFind(Utils.retryingFind(By.id("extTipMsg")))) { JSWaiter.waitUntilJQueryReady(); -// if (!waitSetting.until(ExpectedConditions -// .textToBePresentInElementLocated(By.id("extTipMsg"), "成功"))) { -// throw new RuntimeException("提交失败!"); -// } + // if (!waitSetting.until(ExpectedConditions + // .textToBePresentInElementLocated(By.id("extTipMsg"), "成功"))) { + // throw new RuntimeException("提交失败!"); + // } } } Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java =================================================================== diff -u -r20961 -r20970 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java (.../ALL.java) (revision 20961) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java (.../ALL.java) (revision 20970) @@ -111,7 +111,6 @@ .xpath("//div/a/span[contains(text(), '一次性物品管理')]")); one.One_use_Entry_success(); System.out.println("二级供应室一次性物品入库完成"); - login.login_Out(); } catch (Exception e) { logger.error(e, e); AssertJUnit.fail(e.getMessage()); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/One_use.java =================================================================== diff -u -r20843 -r20970 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/One_use.java (.../One_use.java) (revision 20843) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/One_use.java (.../One_use.java) (revision 20970) @@ -71,97 +71,97 @@ .getString("名称"); // 要等待物品名称下拉框由disable变成enable后即可以被点击后再进行以下操作 Wait wait = WaitFactory.createDefaultWait(); + if (Utils.isFind(Utils.retryingFind(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 + "')]")); - wait.until(ExpectedConditions.elementToBeClickable(By - .id("name1"))); + Utils.retryingFind(By.id("amount1")).clear(); + Utils.retryingFindAndSendKeys(By.id("amount1"), i + + "\n"); + Utils.retryingFindAndSendKeys(By.id("batchNumber1"), + "2017030" + i ); + 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 (ExpectedConditions.attributeToBeNotEmpty(supplier, + "value") != null) { + } else { + supplier.sendKeys(Keys.DOWN); + supplier.sendKeys("\n"); + } + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '添加')]")); - 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 (ExpectedConditions.attributeToBeNotEmpty(supplier, - "value") != null) { - } else { - supplier.sendKeys(Keys.DOWN); - supplier.sendKeys("\n"); } - Utils.retryingFindAndClick(By - .xpath("//button[contains(text(), '添加')]")); - } name = Utils.settings.getJSONObject("一级供应室一次性物品1").getString( "名称"); // 要等待物品名称下拉框由disable变成enable后即可以被点击后再进行以下操作 + if (Utils.isFind(Utils.retryingFind(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 + "')]")); - wait.until(ExpectedConditions.elementToBeClickable(By - .id("name1"))); + Utils.retryingFind(By.id("amount1")).clear(); + Utils.retryingFindAndSendKeys(By.id("amount1"), i + + "\n"); + Utils.retryingFindAndSendKeys(By.id("batchNumber1"), + "2017030" + i ); + 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 (ExpectedConditions.attributeToBeNotEmpty(supplier, + "value") != null) { + } else { + supplier.sendKeys(Keys.DOWN); + supplier.sendKeys("\n"); + } + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '添加')]")); - 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 - + "')]")); + .xpath("//button[contains(text(), '保存并打印新标签')]")); + // 必须先定位回到最外层的iframe,然后逐步定位里层的iframe + Utils.retryingFindAndSwitchToFrame(By + .id("iframe_enterpriseView")); - 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); + // 必须加上如下的切换代码,否则获取条码的javascript语句执行会报异常错误 + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + JSWaiter.waitUntilJQueryReady(); - supplier.sendKeys("\n"); + // 等待表单提交成功 + if (Utils.isFind(Utils.retryingFind(By + .id("formSubmitResult")))) { + wait.until(ExpectedConditions.attributeToBe( + Utils.fluentWaitUntilFind(By + .id("formSubmitResult")), "value", "1")); } - Utils.retryingFindAndClick(By - .xpath("//button[contains(text(), '添加')]")); + // 获取一次性物品入库后的条码 + Utils.disposableGoodsBatchBarcodesAfterEntry = Utils + .getDisposableGoodsBatchBarcodesAfterEntry(); + System.out.println("本次一次性物品入库后的条码:" + + Utils.disposableGoodsBatchBarcodesAfterEntry); } - Utils.retryingFindAndClick(By - .xpath("//button[contains(text(), '保存并打印新标签')]")); - // 必须先定位回到最外层的iframe,然后逐步定位里层的iframe - Utils.retryingFindAndSwitchToFrame(By - .id("iframe_enterpriseView")); - - // 必须加上如下的切换代码,否则获取条码的javascript语句执行会报异常错误 - Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); - JSWaiter.waitUntilJQueryReady(); - - // 等待表单提交成功 - if (Utils.isFind(Utils.retryingFind(By.id("formSubmitResult")))) { - wait.until(ExpectedConditions.attributeToBe(Utils - .fluentWaitUntilFind(By.id("formSubmitResult")), - "value", "1")); - } - // 获取一次性物品入库后的条码 - Utils.disposableGoodsBatchBarcodesAfterEntry = Utils - .getDisposableGoodsBatchBarcodesAfterEntry(); - - System.out.println("本次一次性物品入库后的条码:" - + Utils.disposableGoodsBatchBarcodesAfterEntry); } } catch (Exception e) { e.printStackTrace(); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/tools/Utils.java =================================================================== diff -u -r20954 -r20970 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/tools/Utils.java (.../Utils.java) (revision 20954) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/tools/Utils.java (.../Utils.java) (revision 20970) @@ -184,8 +184,8 @@ WindowsUtils .killByName("Command line server for the IE Driver.exe"); WindowsUtils.killByName("iexplore.exe *32"); - // System.setProperty("webdriver.ie.driver", - // "C:\\IEDriverServer_Win32_3.3.0\\IEDriverServer.exe"); +// System.setProperty("webdriver.ie.driver", +// "C:\\IEDriverServer_Win32_3.7.0\\IEDriverServer.exe"); // 解决ie兼容模式设置导致无法启动问题 DesiredCapabilities ieCapabilities = DesiredCapabilities .internetExplorer(); @@ -1084,6 +1084,7 @@ continue; } else { j = 0; + break; } } } catch (Exception e) { @@ -1313,6 +1314,8 @@ + "').getStore().isLoading();"; // 输入前先等待,看看是否已经加载完,因为处理科室改变物品会重新加载 Utils.waitPageLoaded(script); + Utils.retryingFind( + By.cssSelector("input[name='" + comboBoxName + "']")).clear(); Utils.retryingFindAndSendKeys( By.cssSelector("input[name='" + comboBoxName + "']"), text); // 输入完等待加载完毕,加载完毕后才能点 Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/tools/LoginUtil.java =================================================================== diff -u -r18289 -r20970 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/tools/LoginUtil.java (.../LoginUtil.java) (revision 18289) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/tools/LoginUtil.java (.../LoginUtil.java) (revision 20970) @@ -8,6 +8,7 @@ * @since 2017-05-05 */ public class LoginUtil { + public static Login login = new Login(); /** * 先关闭当前浏览器,然后重新初始化 @@ -16,24 +17,23 @@ if (Utils.driver != null) { Utils.driver.quit(); } - Login login = new Login(); login.init(); return login; } /** - * 用一级供应室登录,如果之前有登录,则会关闭当前浏览器重新登录 + * 用一级供应室登录,如果之前有登录,则会退出当前用户重新登录 */ public static void loginWithOneSupplyRoom() { - Login login = prepareInit(); + login.login_Out(); login.login_oneSupplyRoom(); } /** - * 用临床用户来登录,如果之前有登录,则会关闭当前浏览器重新登录 + * 用临床用户来登录,如果之前有登录,则会退出当前用户重新登录 */ public static void loginWithClinical() { - Login login = prepareInit(); + login.login_Out(); login.login_clinicNoWarnig(); } }