Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/UserRecord.java =================================================================== diff -u -r18898 -r19050 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/UserRecord.java (.../UserRecord.java) (revision 18898) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/UserRecord.java (.../UserRecord.java) (revision 19050) @@ -19,7 +19,7 @@ /** * 因为在录使用记录记录需要先录入一次性物品入库单,所以此方法先注释 */ - //@BeforeMethod + // @BeforeMethod public void init() { try { Utils.init(); @@ -31,7 +31,8 @@ Utils.retryingFindAndClick(By.id("useRecord")); Utils.retryingFindAndSwitchToFrame(By.id("iframe_useRecord")); - Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '添加')]")); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '添加')]")); Utils.driver.switchTo().defaultContent(); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); @@ -53,42 +54,43 @@ @Test public void UserRecord_success() { try { - //一次性物品入库 + // 一次性物品入库 One_use ou = new One_use(); ou.init(); ou.One_use_Entry_success(); ou.after(); - + init(); Utils.retryingFindAndSendKeys(By.id("hospitalNum"), "01"); Utils.retryingFindAndSendKeys(By.id("treatmentNum"), "02"); Utils.retryingFindAndSendKeys(By.id("washHandNurse"), - Utils.settings.getJSONObject("洗手护士") - .getString("条码") + "\n"); - Utils.retryingFindAndSendKeys(By.id("circuitNurse"), - Utils.settings.getJSONObject("巡回护士") - .getString("条码") + "\n"); + Utils.settings.getJSONObject("洗手护士").getString("条码") + "\n"); + Utils.retryingFindAndSendKeys(By.id("circuitNurse"), Utils.settings + .getJSONObject("巡回护士").getString("条码") + "\n"); Utils.retryingFindAndSendKeys(By.id("operationRoom"), "03" + "\n"); // 器械包登记使用记录 for (int i = 0; i < Utils.reBarcodes.size(); i++) { Utils.retryingFindAndSendKeys(By.id("tempBarcode"), Utils.reBarcodes.get(i) + "\n"); } - + // 一次性物品登记使用记录 - if(CollectionUtils.isNotEmpty(Utils.disposableGoodsBatchBarcodesAfterEntry)){ + if (CollectionUtils + .isNotEmpty(Utils.disposableGoodsBatchBarcodesAfterEntry)) { for (String barcode : Utils.disposableGoodsBatchBarcodesAfterEntry) { - Utils.retryingFindAndSendKeys(By.id("tempBarcode"), barcode + "\n"); + Utils.retryingFindAndSendKeys(By.id("tempBarcode"), barcode + + "\n"); } } - Utils.retryingFindAndClick( - By.cssSelector("img[src $='/images/web/arrow_top.png']")); - Utils.retryingFindAndClick( - By.xpath("//button[contains(text(), '保存并审核生成申请单')]")); + Utils.retryingFindAndClick(By + .cssSelector("img[src $='/images/web/arrow_top.png']")); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '保存并审核生成申请单')]")); - Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '是')]")); - + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '是')]")); + Waitconfirm(); } catch (Exception e) { e.printStackTrace(); @@ -105,15 +107,15 @@ Utils.retryingFindAndSendKeys(By.id("hospitalNum"), "01"); Utils.retryingFindAndSendKeys(By.id("treatmentNum"), "02"); Utils.retryingFindAndSendKeys(By.id("washHandNurse"), - Utils.settings.getJSONObject("洗手护士") - .getString("条码") + "\n"); - Utils.retryingFindAndSendKeys(By.id("circuitNurse"), - Utils.settings.getJSONObject("巡回护士") - .getString("条码") + "\n"); + Utils.settings.getJSONObject("洗手护士").getString("条码") + "\n"); + Utils.retryingFindAndSendKeys(By.id("circuitNurse"), Utils.settings + .getJSONObject("巡回护士").getString("条码") + "\n"); Utils.retryingFindAndSendKeys(By.id("operationRoom"), "03" + "\n"); - if(CollectionUtils.isNotEmpty(Utils.disposableGoodsBatchBarcodesAfterEntry)){ + if (CollectionUtils + .isNotEmpty(Utils.disposableGoodsBatchBarcodesAfterEntry)) { for (String barcode : Utils.disposableGoodsBatchBarcodesAfterEntry) { - Utils.retryingFindAndSendKeys(By.id("tempBarcode"), barcode + "\n"); + Utils.retryingFindAndSendKeys(By.id("tempBarcode"), barcode + + "\n"); } } // 器械包登记使用记录 @@ -125,108 +127,106 @@ } } - + // 一次性物品登记使用记录 -// Utils.retryingFindAndSendKeys(By.id("tempBarcode"), -// Utils.settings.getJSONObject("一级供应室一次性物品").getString("条码1") -// + "\n"); -// Utils.retryingFindAndSendKeys(By.id("tempBarcode"), -// Utils.settings.getJSONObject("一级供应室一次性物品").getString("条码2") -// + "\n"); -// Utils.retryingFindAndSendKeys(By.id("tempBarcode"), -// Utils.settings.getJSONObject("一级供应室一次性物品").getString("条码3") -// + "\n"); + // Utils.retryingFindAndSendKeys(By.id("tempBarcode"), + // Utils.settings.getJSONObject("一级供应室一次性物品").getString("条码1") + // + "\n"); + // Utils.retryingFindAndSendKeys(By.id("tempBarcode"), + // Utils.settings.getJSONObject("一级供应室一次性物品").getString("条码2") + // + "\n"); + // Utils.retryingFindAndSendKeys(By.id("tempBarcode"), + // Utils.settings.getJSONObject("一级供应室一次性物品").getString("条码3") + // + "\n"); Utils.doWait(1000); - Utils.retryingFindAndClick( - By.cssSelector("img[src $='/images/web/arrow_top.png']")); - + Utils.retryingFindAndClick(By + .cssSelector("img[src $='/images/web/arrow_top.png']")); + WebElement element = Utils.retryingFind(By .xpath("//button[contains(text(), '保存并审核生成申请单')]")); if (Utils.isFind(element)) { - Utils.retryingFindAndClick( - By.xpath("//button[contains(text(), '保存并审核生成申请单')]")); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '保存并审核生成申请单')]")); - Utils.retryingFindAndClick( - By.xpath("//button[contains(text(), '是')]")); - Waitconfirm(); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '是')]")); + Waitconfirm(); - } - else { - Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '保存')]")); + } else { + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '保存')]")); - Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '是')]")); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '是')]")); Waitconfirm(); Utils.driver.switchTo().defaultContent(); - WebElement frame = Utils - .retryingFindAndSwitchToFrame(By.id("iframe_useRecord")); - + Utils.retryingFindAndSwitchToFrame(By.id("iframe_useRecord")); + element = Utils.retryingFind(By .xpath("//div/p[contains(text(), '未审核')]")); if (Utils.isFind(element)) { - element.click(); + element.click(); - element = Utils.retryingFind(By - .xpath("//button[contains(text(), '审核')]")); - // html/body/div[1]/div/div/div/div[2]/div[1]/div/table/tbody/tr/td[7]/table/tbody/tr/td[2]/em/button + element = Utils.retryingFind(By + .xpath("//button[contains(text(), '审核')]")); + // html/body/div[1]/div/div/div/div[2]/div[1]/div/table/tbody/tr/td[7]/table/tbody/tr/td[2]/em/button - element.click(); + element.click(); - String currentwindowhandle = Utils.driver - .getWindowHandle(); - Utils.driver.switchTo().window(currentwindowhandle); + String currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); - Utils.retryingFindAndClick( - By.xpath("//button[contains(text(), '是')]")); - Waitconfirm(); - Utils.driver.switchTo().defaultContent(); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '是')]")); + Waitconfirm(); + Utils.driver.switchTo().defaultContent(); - frame = Utils.retryingFindAndSwitchToFrame(By.id("iframe_useRecord")); - - element = Utils.retryingFind(By - .xpath("//div/p[contains(text(), '已审核')]")); - if (Utils.isFind(element)) { - element.click(); + Utils.retryingFindAndSwitchToFrame(By + .id("iframe_useRecord")); - Utils.retryingFindAndClick( - By.xpath("//button[contains(text(), '生成申请单')]")); + element = Utils.retryingFind(By + .xpath("//div/p[contains(text(), '已审核')]")); + if (Utils.isFind(element)) { + element.click(); - currentwindowhandle = Utils.driver - .getWindowHandle(); - Utils.driver.switchTo().window( - currentwindowhandle); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '生成申请单')]")); - Utils.retryingFindAndClick( - By.xpath("//button[contains(text(), '是')]")); - Waitconfirm(); - } - } + currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); + + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '是')]")); + Waitconfirm(); } - - + } + } + } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); - }} - + } + } @AfterMethod public void after() { Utils.driver.quit(); WindowsUtils.killByName("IEDriverServer.exe"); WindowsUtils.killByName("iexplore.exe"); } - - private void Waitconfirm(){ - //必须定位回使用记录界面才可以 + + private void Waitconfirm() { + // 必须定位回使用记录界面才可以 Utils.retryingFindAndSwitchToFrame(By.id("iframe_useRecord")); - + JSWaiter.waitUntilJQueryReady(); - - //需要判断表单提交成功且返回正常后才能结束,否则就将不会提交到后台 + + // 需要判断表单提交成功且返回正常后才能结束,否则就将不会提交到后台 Wait wait = WaitFactory.createDefaultWait(); - wait.until(ExpectedConditions.attributeToBe(Utils.driver.findElement(By - .id("formSubmitResult")), "value", "1"));} + wait.until(ExpectedConditions.attributeToBe( + Utils.driver.findElement(By.id("formSubmitResult")), "value", + "1")); + } } - Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/tools/Utils.java =================================================================== diff -u -r18900 -r19050 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/tools/Utils.java (.../Utils.java) (revision 18900) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/tools/Utils.java (.../Utils.java) (revision 19050) @@ -52,7 +52,7 @@ public static final String ACTION_SWITCH_TO_FRAME = "switchToFrame"; public static final String ACTION_CLEAR = "clear"; /* - * 鼠标停留在控件上 + * 鼠标停留在控件上 */ public static final String ACTION_HOVER = "hover"; public static final String ACTION_NOP = "nop"; @@ -61,27 +61,26 @@ * 运行测试用例的模式 */ public enum RunMode { - - LOCAL, REMOTE - + + LOCAL, REMOTE + } - + /* * 测试用例的运行模式 */ - private static RunMode testRunMode = RunMode.REMOTE; - + private static RunMode testRunMode = RunMode.REMOTE; +// private static RunMode testRunMode = RunMode.LOCAL; + /* * 执行动作的方式,调用JS或者Selenium API * - * JavaScript:通过js方式调用 - * API:通过API方式调用 - * ByTagType:根据标签类型决定 + * JavaScript:通过js方式调用 API:通过API方式调用 ByTagType:根据标签类型决定 */ public enum ActionExecuteMethod { - - JavaScript, API, ByTagType - + + JavaScript, API, ByTagType + } // public static Wait wait; @@ -170,7 +169,7 @@ /** 打开浏览器 */ public static void webDriverInit() { - + // System.setProperty("webdriver.ie.driver", // "C:\\IEDriverServer_Win32_3.3.0\\IEDriverServer.exe"); // 解决ie兼容模式设置导致无法启动问题 @@ -215,19 +214,19 @@ } JSWaiter.setDriver(driver); - + if (cleanTime == 0) { Utils.driver.manage().deleteAllCookies(); - -// Utils.waitPageLoaded(); + + // Utils.waitPageLoaded(); JSWaiter.waitUntilJQueryReady(); - + cleanTime++; } } catch (Exception e) { e.printStackTrace(); } - + String serverAddress = Utils.settings.get("服务器地址").toString(); driver.get(serverAddress); } @@ -353,15 +352,18 @@ * 重复查找和执行动作(click或sendKeys等),当出现引用的element过时后,重新查找该element * * @param by - * @param actionType 动作类型 - * @param forceRunSeleniumAPI 是否强制用selniumAPI执行动作 + * @param actionType + * 动作类型 + * @param forceRunSeleniumAPI + * 是否强制用selniumAPI执行动作 * @return */ - private static WebElement retryingFindAndDoAction(By by,ActionExecuteMethod actionExecuteMethod, String actionType, + private static WebElement retryingFindAndDoAction(By by, + ActionExecuteMethod actionExecuteMethod, String actionType, CharSequence... keys) { - + JSWaiter.waitUntilJQueryReady(); - + WebElement element = null; int attempts = 0; int attemptsTime = 5; @@ -401,7 +403,7 @@ System.out.println("disabled = " + attribute); if (!"true".equalsIgnoreCase(attribute) && element.isEnabled()) { - + clickWebElement(actionExecuteMethod, element); logger.info("点击元素[" + by + "]成功"); } else { @@ -420,8 +422,9 @@ // Utils.driver.switchTo().defaultContent(); Wait wait = WaitFactory.createDefaultWait(); // Utils.driver.switchTo().frame(element); -// switchToFrame(element); - wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(element)); + // switchToFrame(element); + wait.until(ExpectedConditions + .frameToBeAvailableAndSwitchToIt(element)); logger.info("切换[" + by + "],frame成功"); } else if (ACTION_HOVER.equalsIgnoreCase(actionType)) { Actions moveover = new Actions(Utils.driver); @@ -481,35 +484,41 @@ */ public static WebElement retryingFindAndClick(By by) { - return retryingFindAndDoAction(by, ActionExecuteMethod.ByTagType, ACTION_CLICK); + return retryingFindAndDoAction(by, ActionExecuteMethod.ByTagType, + ACTION_CLICK); } - + /** * 通过Selenium API进行点击,避免JS点击不成功或者弹出对话框阻塞的问题 + * * @param by * @return */ public static WebElement retryingFindAndClickBySeleniumAPI(By by) { - return retryingFindAndDoAction(by, ActionExecuteMethod.API, ACTION_CLICK); + return retryingFindAndDoAction(by, ActionExecuteMethod.API, + ACTION_CLICK); } - + /** * 通过Javascript进行点击,避免Selenium API点击不成功 + * * @param by * @return */ public static WebElement retryingFindAndClickByJavaScript(By by) { - return retryingFindAndDoAction(by, ActionExecuteMethod.JavaScript, ACTION_CLICK); + return retryingFindAndDoAction(by, ActionExecuteMethod.JavaScript, + ACTION_CLICK); } - + /* * 鼠标停留在控件上 */ public static WebElement retryingFindAndHover(By by) { - return retryingFindAndDoAction(by, ActionExecuteMethod.ByTagType, ACTION_HOVER); + return retryingFindAndDoAction(by, ActionExecuteMethod.ByTagType, + ACTION_HOVER); } /** @@ -519,12 +528,14 @@ * @return */ public static WebElement retryingFindAndClear(By by) { - return retryingFindAndDoAction(by, ActionExecuteMethod.ByTagType, ACTION_CLEAR); + return retryingFindAndDoAction(by, ActionExecuteMethod.ByTagType, + ACTION_CLEAR); } public static WebElement retryingFindAndSendKeys(By by, java.lang.CharSequence... keys) { - return retryingFindAndDoAction(by, ActionExecuteMethod.ByTagType, ACTION_SENDKEYS, keys); + return retryingFindAndDoAction(by, ActionExecuteMethod.ByTagType, + ACTION_SENDKEYS, keys); } /** @@ -548,7 +559,7 @@ // TODO:下面的sleep代码,要改为判断Ext.store是否加载完成,然后点击下拉框,而不是睡眠方式 doWait(1500); // 等待页面状态加载完成 -// waitPageLoaded(); + // waitPageLoaded(); JSWaiter.waitUntilJQueryReady(); break; @@ -568,7 +579,8 @@ * @return */ public static WebElement retryingFindAndSwitchToFrame(By by) { - return retryingFindAndDoAction(by, ActionExecuteMethod.ByTagType, ACTION_SWITCH_TO_FRAME); + return retryingFindAndDoAction(by, ActionExecuteMethod.ByTagType, + ACTION_SWITCH_TO_FRAME); } /** @@ -588,10 +600,10 @@ // element = wait // 暂时改成waitSetting,如果有必要,可以每次new一个新的. -// waitPageLoaded(); - + // waitPageLoaded(); + JSWaiter.waitUntilJQueryReady(); - + WebDriverWait waitSetting = new WebDriverWait(driver, 15, 600); WebElement element = waitSetting .until(new Function() { @@ -601,9 +613,12 @@ return driver.findElement(by); } }); - logger.info("元素是否存在:" + isFind(element)); + if (isFind(element) == true) { + logger.info("元素"+element+"存在"); + } else { + logger.info("元素"+element+"不存在"); + } return element; - } /** @@ -612,7 +627,7 @@ * @see Utils#findByAwait(By, WebDriverWait) */ public static WebElement findByAwait(By by) { - WebDriverWait waitSetting = new WebDriverWait(driver, 8, 350); + WebDriverWait waitSetting = new WebDriverWait(driver, 15, 600); return findByAwait(by, waitSetting); } @@ -754,7 +769,8 @@ throw new RuntimeException("超出最长等待时间:" + maxWaitTime); } doWait(interval); - }; + } + ; } /** @@ -786,7 +802,7 @@ * frame的名字 */ public static void switchToFrame(String frame) { - + Utils.driver.switchTo().frame(frame); // 由于切换frame有点不太稳定,切换完立刻点击可能会出现永远找不到元素,所以这里暂时用要休眠一下来解决 doWait(null); @@ -951,7 +967,8 @@ * @param timeOut * 超时时间,单位为毫秒 */ - public static void waitForWindowAmountEquals(int expectedNumberOfWindows, int timeOut) { + public static void waitForWindowAmountEquals(int expectedNumberOfWindows, + int timeOut) { int initCount = driver.getWindowHandles().size(); if (initCount == expectedNumberOfWindows) { return; @@ -966,12 +983,13 @@ Thread.sleep(500); } catch (InterruptedException e) { } - if (driver.getWindowHandles().size() == expectedNumberOfWindows){ + if (driver.getWindowHandles().size() == expectedNumberOfWindows) { reachExpectedWindowAmount = true; } duration = (System.currentTimeMillis() - startTime); } - if (timeOut <= duration && !reachExpectedWindowAmount) { // Throw Error + if (timeOut <= duration && !reachExpectedWindowAmount) { // Throw + // Error } } } @@ -982,10 +1000,11 @@ public static void tryToCloseWarningWindow() { try { // 先等待页面加载完成,然后再等待Ext4.onReady执行完 - //waitPageLoaded(); + // waitPageLoaded(); JSWaiter.waitUntilJQueryReady(); - - // TODO:以下Ext4的onReady,是否也可以用JS ready替代?这样就不需要调用了。 terry kwan,2017-07-16 + + // TODO:以下Ext4的onReady,是否也可以用JS ready替代?这样就不需要调用了。 terry + // kwan,2017-07-16 // 先等待portalPage.js的Ext4.onReady执行完 // windowOnLoaded是自定义的JS变量 waitPageLoaded("return windowOnLoaded == false ? true : false;", @@ -1013,10 +1032,10 @@ try { int count = 5; for (int j = count; j > 0; j--) { -// closeBtns.get(i).click(); + // closeBtns.get(i).click(); // 通过运行JS关闭警告框,似乎更加可靠 jsClick(closeBtns.get(i)); - + Thread.sleep(200); List btns = driver .findElements(warningWindows); @@ -1082,15 +1101,15 @@ * 刷新页面 */ public static void refresh() { - + JSWaiter.waitUntilJQueryReady(); - + Utils.driver.navigate().refresh(); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.tryToCloseWarningWindow(); -// Utils.waitPageLoaded(); -// Utils.doWait(500); + // Utils.waitPageLoaded(); + // Utils.doWait(500); JSWaiter.waitUntilJQueryReady(); } @@ -1111,7 +1130,7 @@ }); } - + /** * 等待一段时间,直到页面的URL地址包含了期望值 * @@ -1120,11 +1139,13 @@ * @param seconds * 等待的超时时间 */ - public static void waitUntilUrlContains(final String urlContaints, int seconds) { + public static void waitUntilUrlContains(final String urlContaints, + int seconds) { Wait wait = WaitFactory.createDefaultWait(); wait.until(new Function() { public Boolean apply(WebDriver d) { - return d.getCurrentUrl().toLowerCase().contains(urlContaints.toLowerCase()); + return d.getCurrentUrl().toLowerCase() + .contains(urlContaints.toLowerCase()); } }); @@ -1301,39 +1322,38 @@ /** * 点击WebElement的通用方法,建议都通过此方法调用,以便统一更换最可靠的方法 * - * @param ActionExecuteMethod 是否强制用selenium的API调用,因为JS调用弹出Alert或模态窗口可能导致阻塞 + * @param ActionExecuteMethod + * 是否强制用selenium的API调用,因为JS调用弹出Alert或模态窗口可能导致阻塞 * @param webElement * */ - public static void clickWebElement(ActionExecuteMethod actionExecuteMethod, WebElement webElement) { - - - if (actionExecuteMethod.equals(ActionExecuteMethod.API)){ + public static void clickWebElement(ActionExecuteMethod actionExecuteMethod, + WebElement webElement) { + + if (actionExecuteMethod.equals(ActionExecuteMethod.API)) { webElement.click(); - } - else if (actionExecuteMethod.equals(ActionExecuteMethod.JavaScript)){ + } else if (actionExecuteMethod.equals(ActionExecuteMethod.JavaScript)) { jsClick(webElement); - } - else if (actionExecuteMethod.equals(ActionExecuteMethod.ByTagType)){ + } else if (actionExecuteMethod.equals(ActionExecuteMethod.ByTagType)) { // jsClick(webElement); String tagName = webElement.getTagName(); - + // span标签:导航菜单 // a标签:很多ExtJS的按钮,例如申请单的终止按钮 // img标签:登录按钮为img标签 // li标签:桌面的图标按钮 - - + // table标签:灭菌记录表单的保存按钮,不能整个改,否则似乎其他地方不稳定了 - + // P标签用js无法选中 // p标签:视图列表中的清洗失败记录的选择 - - String[] tagNamesClickByJS = new String[] {"button" , "a" , "span", "img", "li", "input"}; - + + String[] tagNamesClickByJS = new String[] { "button", "a", "span", + "img", "li", "input" }; + // 如果不强制调用selenium API,并且是需要采用JavaScript点击的标签类型,则用JS进行点击 if (ArrayUtils.contains(tagNamesClickByJS, tagName)) { - + jsClick(webElement); } else { if (isFind(webElement)) { Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Reject.java =================================================================== diff -u -r18729 -r19050 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Reject.java (.../Reject.java) (revision 18729) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Reject.java (.../Reject.java) (revision 19050) @@ -6,7 +6,6 @@ import org.testng.AssertJUnit; import org.openqa.selenium.By; import org.openqa.selenium.Keys; -import org.openqa.selenium.WebElement; import org.openqa.selenium.os.WindowsUtils; import test.forgon.disinfectsystem.selenium.tools.Utils; @@ -23,7 +22,7 @@ Login login = new Login(); login.login_oneSupplyRoom(); Utils.retryingFindAndClick(By.id("enterpriseView")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_enterpriseView")); Utils.retryingFindAndClick( By.xpath("//div/span[contains(text(), '后台监控管理')]")); @@ -47,7 +46,7 @@ public void Reject_one_use_success() { try { - WebElement frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); Utils.retryingFindAndClick( By.xpath("//button[contains(text(), '一次性物品退货')]")); String currentwindowhandle = Utils.driver.getWindowHandle(); @@ -94,7 +93,7 @@ try { Utils.refresh(); Utils.retryingFindAndClick(By.id("enterpriseView")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_enterpriseView")); Utils.retryingFindAndClick( By.xpath("//div/span[contains(text(), '后台监控管理')]")); @@ -105,7 +104,7 @@ Utils.retryingFindAndClick( By.xpath("//div/a/span[contains(text(), '材料退货记录')]")); - frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '添加')]")); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); @@ -136,7 +135,7 @@ @Test public void Reject_set_success() { try { - WebElement frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '器械包退货')]")); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); @@ -167,7 +166,7 @@ @Test public void Reject_set_success_ou() { try { - WebElement frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '器械包退货')]")); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/tools/JSWaiter.java =================================================================== diff -u -r18898 -r19050 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/tools/JSWaiter.java (.../JSWaiter.java) (revision 18898) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/tools/JSWaiter.java (.../JSWaiter.java) (revision 19050) @@ -105,13 +105,13 @@ Boolean jQueryDefined = (Boolean) jsExec.executeScript("return typeof jQuery != 'undefined'"); if (jQueryDefined == true) { //Pre Wait for stability (Optional) - sleep(20); + sleep(50); //Wait JQuery Load waitForJQueryLoad(); //Post Wait for stability (Optional) - sleep(20); + sleep(50); } else { logger.debug("jQuery is not defined on this site!"); } @@ -127,7 +127,7 @@ Boolean angularInjectorUnDefined = (Boolean) jsExec.executeScript("return angular.element(document).injector() === undefined"); if(!angularInjectorUnDefined) { //Pre Wait for stability (Optional) - sleep(20); + sleep(100); //Wait Angular Load waitForAngularLoad(); @@ -136,7 +136,7 @@ waitUntilJSReady(); //Post Wait for stability (Optional) - sleep(20); + sleep(100); } else { logger.debug("Angular injector is not defined on this site!"); } Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java =================================================================== diff -u -r18899 -r19050 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java (.../ALL.java) (revision 18899) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java (.../ALL.java) (revision 19050) @@ -55,7 +55,6 @@ private Apply apply = new Apply(); private Login login = new Login(); - boolean displayed = false; // @BeforeMethod @@ -129,18 +128,8 @@ WebElement element = Utils.retryingFindForthCellOfTable(By .id("awaitForRecycleTable")); - if (Utils.isFind(element)) { - recyle.recyle_SecondSupplyRoom(); - 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(); - } - else { + if (Utils.isFind(element)) { + recyle.recyle_SecondSupplyRoom(); Utils.waitUntilUrlChange( SERVER_URL + "/disinfectsystem/touchScreen/recycle/awaitForRecycleList.jsp?resolution=1980", @@ -149,6 +138,15 @@ Utils.waitUntilUrlChange(SERVER_URL + "/homepage/portalPage.jsp", 8); Utils.tryToCloseWarningWindow(); + } else { + 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(); } /** 二级供应室清洗成功 */ wash.wash_secondSupplyRoom(); @@ -225,11 +223,10 @@ element = Utils.retryingFindForthCellOfTable(By .id("awaitForRecycleTable")); if (Utils.isFind(element)) { - recyle.recyle_customSet(); - recyle.after(); - } - else { + recyle.recyle_customSet(); recyle.after(); + } else { + recyle.after(); } /*** 一级供应室清洗 ***/ System.out.print("清洗开始:"); @@ -373,54 +370,55 @@ } private void handleReview(WebElement element, Review review) { - if (Utils.isFind(element)) { - review.Review_batch(); - } else { - review.Review_single(); - } + if (Utils.isFind(element)) { + review.Review_batch(); + } else { + review.Review_single(); + } } @AfterTest public void afterMethod() { try { - + SessionId session = null; - - if (Utils.driver instanceof RemoteWebDriver){ - session = ((RemoteWebDriver)Utils.driver).getSessionId(); + + if (Utils.driver instanceof RemoteWebDriver) { + session = ((RemoteWebDriver) Utils.driver).getSessionId(); + } else if (Utils.driver instanceof InternetExplorerDriver) { + session = ((InternetExplorerDriver) Utils.driver) + .getSessionId(); } - else if (Utils.driver instanceof InternetExplorerDriver){ - session = ((InternetExplorerDriver)Utils.driver).getSessionId(); - } - - if (session != null){ - + + if (session != null) { + String webAppRootPath = PathUtils.getWebAppRootPath(); - String buildTempPath = webAppRootPath.replaceAll("/src/main/webapp", "/build/tmp"); - + String buildTempPath = webAppRootPath.replaceAll( + "/src/main/webapp", "/build/tmp"); + // 删除之前产生的png文件 final File folder = new File(buildTempPath); final File[] files = folder.listFiles(new FilenameFilter() { public boolean accept(final File dir, final String name) { - return name.endsWith(".png") && name.startsWith("screenshot"); + return name.endsWith(".png") + && name.startsWith("screenshot"); } }); for (final File file : files) { if (!file.delete()) { - System.err.println("无法删除文件:" - + file.getAbsolutePath()); + System.err.println("无法删除文件:" + file.getAbsolutePath()); } } - + // 截图 File scrFile = ((TakesScreenshot) Utils.driver) .getScreenshotAs(OutputType.FILE); - + String timeStamp = new SimpleDateFormat("yyyy-MM-dd HH.mm.ss") .format(new java.util.Date()); - FileUtils.copyFile(scrFile, new File(buildTempPath + "/screenshot-" - + timeStamp + ".png")); + FileUtils.copyFile(scrFile, new File(buildTempPath + + "/screenshot-" + timeStamp + ".png")); } } catch (Exception e) { e.printStackTrace(); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Login.java =================================================================== diff -u -r18899 -r19050 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Login.java (.../Login.java) (revision 18899) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Login.java (.../Login.java) (revision 19050) @@ -6,6 +6,7 @@ import org.testng.annotations.AfterMethod; import org.testng.annotations.Test; import org.testng.annotations.BeforeMethod; +import org.testng.Assert; import org.testng.AssertJUnit; import org.openqa.selenium.Alert; import org.openqa.selenium.By; @@ -111,6 +112,7 @@ } public void loginAction() { + JSWaiter.waitUntilJQueryReady(); Utils.retryingFind(By.id("j_username_display")).clear(); Utils.retryingFindAndSendKeys(By.id("j_username_display"), Utils.settings.getJSONObject("一级供应室用户").get("工号").toString()); @@ -125,14 +127,13 @@ */ private void isLoginSuccess() { + JSWaiter.waitUntilJQueryReady(); Utils.waitUntilUrlContains("homepage/portalPage.jsp", 15); System.out.println("Page title is: " + Utils.driver.getTitle()); Utils.tryToCloseWarningWindow(); - JSWaiter.waitUntilJQueryReady(); - assertEquals(Utils.settings.get("服务器地址") + "/homepage/portalPage.jsp", Utils.driver.getCurrentUrl()); } Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/PackingHistory.java =================================================================== diff -u -r18898 -r19050 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/PackingHistory.java (.../PackingHistory.java) (revision 18898) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/PackingHistory.java (.../PackingHistory.java) (revision 19050) @@ -4,7 +4,6 @@ import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.Keys; import org.openqa.selenium.WebElement; -import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.os.WindowsUtils; import org.testng.AssertJUnit; import org.testng.annotations.AfterMethod; @@ -48,15 +47,15 @@ try { // 点击高级视图 Utils.retryingFindAndClick(By.id("enterpriseView")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_enterpriseView")); Utils.retryingFindAndClick(By .xpath("//div/a/span[contains(text(), '装配管理')]")); Utils.retryingFindAndClick(By .xpath("//div/a/span[contains(text(), '历史装配记录')]")); - frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); // 点击第一条记录 Utils.retryingFindAndClick(By .xpath("//table/tbody/tr/td/div[contains(@class, 'x-grid3-col-0')]")); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Disinfection.java =================================================================== diff -u -r18898 -r19050 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Disinfection.java (.../Disinfection.java) (revision 18898) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Disinfection.java (.../Disinfection.java) (revision 19050) @@ -63,14 +63,14 @@ * .getString("分类"))).click(); */ -// WebElement frame = Utils.retryingFindAndSwitchToFrame(By -// .id("iframe_sterilizationRecord")); -// Utils.retryingFind( -// By.xpath("//button[contains(text(), '添加')]")).click(); -// -// Utils.driver.switchTo().defaultContent(); -// String currentwindowhandle = Utils.driver.getWindowHandle(); -// Utils.driver.switchTo().window(currentwindowhandle); + // WebElement frame = Utils.retryingFindAndSwitchToFrame(By + // .id("iframe_sterilizationRecord")); + // Utils.retryingFind( + // By.xpath("//button[contains(text(), '添加')]")).click(); + // + // Utils.driver.switchTo().defaultContent(); + // String currentwindowhandle = Utils.driver.getWindowHandle(); + // Utils.driver.switchTo().window(currentwindowhandle); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); @@ -93,24 +93,24 @@ try { Utils.refresh(); Utils.retryingFindAndClick(By.id("sterilizationLoading")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationLoading")); String barcode = Utils.settings.getJSONObject("灭菌篮筐01").getString( "条码"); Utils.retryingFindAndSendKeys(By.id("barcode"), barcode + "\n"); - displayed = false; WebElement element = Utils.retryingFind(By .xpath("//button[contains(text(), '是')]")); if (Utils.isFind(element)) { - Utils.retryingFindAndClick(By - .xpath("//button[contains(text(), '是')]")); - } - + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '是')]")); + } + String b = null; for (int i = 0; i < 6; i++) { List allRows = Utils.driver.findElements(By .cssSelector("table[class='x-grid3-row-table']")); System.out.println("rows size = " + allRows.size()); + JSWaiter.waitUntilJQueryReady(); if (allRows.size() > 0) { allRows = Utils.driver.findElements(By .cssSelector("table[class='x-grid3-row-table']")); @@ -130,7 +130,7 @@ row.findElement(By.tagName("img")).click(); SterilizationHelper.notEntryBasketTousseBarcods .add("0" + a); - Utils.doWait(800); + JSWaiter.waitUntilJQueryReady(); break; } } else { @@ -155,7 +155,7 @@ try { Utils.refresh(); Utils.retryingFindAndClick(By.id("sterilizationLoading")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationLoading")); String barcode = Utils.settings.getJSONObject("灭菌筐02").getString( "条码"); @@ -205,7 +205,7 @@ AssertJUnit.assertEquals("没有添加灭菌的物品,继续灭菌吗?", alertBox.getText()); alertBox.accept(); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By.xpath("//p[contains(text(), '灭菌中')]")); Utils.retryingFindAndClick(By @@ -261,7 +261,7 @@ Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '保存')]")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By.xpath("//p[contains(text(), '灭菌中')]")); @@ -287,7 +287,7 @@ Utils.retryingFindAndClick(By.id("saveBtn")); /** 继续灭菌 **/ - frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By.cssSelector("img[title='重新灭菌']")); @@ -302,7 +302,7 @@ Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '是')]")); - frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By.xpath("//p[contains(text(), '灭菌中')]")); Utils.retryingFindAndClick(By @@ -357,7 +357,7 @@ Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '保存')]")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By.xpath("//p[contains(text(), '灭菌中')]")); @@ -393,7 +393,7 @@ .xpath("//button[contains(text(), '保存')]")); /** 继续灭菌 **/ - frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By.cssSelector("img[title='重新灭菌']")); @@ -408,7 +408,7 @@ Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '是')]")); - frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By.xpath("//p[contains(text(), '灭菌中')]")); Utils.retryingFindAndClick(By @@ -466,7 +466,7 @@ Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '保存')]")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By.xpath("//p[contains(text(), '灭菌中')]")); @@ -510,7 +510,7 @@ .xpath("//button[contains(text(), '保存')]")); /** 继续灭菌 **/ - frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By.cssSelector("img[title='重新灭菌']")); @@ -525,7 +525,7 @@ Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '是')]")); - frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By.xpath("//p[contains(text(), '灭菌中')]")); Utils.retryingFindAndClick(By @@ -587,7 +587,7 @@ Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '保存')]")); Utils.doWait(1000); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.doWait(2000); Utils.retryingFindAndClick(By.xpath("//p[contains(text(), '灭菌中')]")); @@ -627,7 +627,7 @@ Utils.retryingFindAndClick(By.id("saveBtn")); /** 重新灭菌 **/ - frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By.cssSelector("img[title='重新灭菌']")); @@ -638,7 +638,7 @@ Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '重新灭菌')]")); - frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By.xpath("//p[contains(text(), '灭菌中')]")); @@ -650,38 +650,33 @@ .xpath("//button[contains(text(), '是')]")); if (Utils.isFind(element)) { - Utils.retryingFindAndClick(By - .xpath("//button[contains(text(), '是')]")); - } else { + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '是')]")); + } else { - Utils.retryingFindAndSendKeys( - By.id("completeUserBarcode"), - Utils.settings.getJSONObject("一级供应室用户").getString( - "条码") - + "\n"); - Utils.retryingFindAndClick(By - .xpath("//button[contains(text(), '保存')]")); - } - + Utils.retryingFindAndSendKeys(By.id("completeUserBarcode"), + Utils.settings.getJSONObject("一级供应室用户").getString("条码") + + "\n"); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '保存')]")); + } - frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); element = Utils.retryingFind(By .xpath("//button[contains(text(), '灭菌确认')]")); if (Utils.isFind(element)) { - confirm_One(); - } - + confirm_One(); + } element = Utils.retryingFind(By .xpath("//button[contains(text(), '灭菌卸载')]")); displayed = false; if (Utils.isFind(element)) { - confirm_One(); - } - + confirm_One(); + } } catch (Exception e) { e.printStackTrace(); @@ -720,7 +715,7 @@ Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '保存')]")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By.xpath("//p[contains(text(), '灭菌中')]")); @@ -776,7 +771,7 @@ /** 重新灭菌 **/ - frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By.cssSelector("img[title='重新灭菌']")); @@ -785,7 +780,7 @@ Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '重新灭菌')]")); - frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By.xpath("//p[contains(text(), '灭菌中')]")); @@ -836,7 +831,7 @@ Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '保存')]")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By.xpath("//p[contains(text(), '灭菌中')]")); @@ -897,7 +892,7 @@ /** 重新灭菌 **/ - frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By.cssSelector("img[title='重新灭菌']")); @@ -906,7 +901,7 @@ Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '重新灭菌')]")); - frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By.xpath("//p[contains(text(), '灭菌中')]")); @@ -934,15 +929,14 @@ try { Utils.refresh(); Utils.retryingFindAndClick(By.id("enterpriseView")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .id("iframe_enterpriseView")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_enterpriseView")); Utils.retryingFindAndClick(By .xpath("//div/a/span[contains(text(), '灭菌管理')]")); Utils.retryingFindAndClick(By .xpath("//div/a/span[contains(text(), '外部代理灭菌管理')]")); - frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '添加')]")); @@ -1001,15 +995,14 @@ try { Utils.refresh(); Utils.retryingFindAndClick(By.id("enterpriseView")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .id("iframe_enterpriseView")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_enterpriseView")); Utils.retryingFindAndClick(By .xpath("//div/a/span[contains(text(), '灭菌管理')]")); Utils.retryingFindAndClick(By .xpath("//div/a/span[contains(text(), '外部代理灭菌管理')]")); - frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '添加')]")); String currentwindowhandle = Utils.driver.getWindowHandle(); @@ -1072,15 +1065,14 @@ try { Utils.refresh(); Utils.retryingFindAndClick(By.id("enterpriseView")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .id("iframe_enterpriseView")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_enterpriseView")); Utils.retryingFindAndClick(By .xpath("//div/a/span[contains(text(), '灭菌管理')]")); Utils.retryingFindAndClick(By .xpath("//div/a/span[contains(text(), '外部代理灭菌管理')]")); - frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '添加')]")); String currentwindowhandle = Utils.driver.getWindowHandle(); @@ -1144,15 +1136,14 @@ public void disinfection_agent() { try { Utils.retryingFindAndClick(By.id("enterpriseView")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .id("iframe_enterpriseView")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_enterpriseView")); Utils.retryingFindAndClick(By .xpath("//div/a/span[contains(text(), '灭菌管理')]")); Utils.retryingFindAndClick(By .xpath("//div/a/span[contains(text(), '代理灭菌管理')]")); - frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '添加')]")); String currentwindowhandle = Utils.driver.getWindowHandle(); @@ -1208,7 +1199,7 @@ Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '保存')]")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By.xpath("//p[contains(text(), '灭菌中')]")); Utils.retryingFindAndClick(By @@ -1237,7 +1228,7 @@ public void confirm_Two() { try { - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By .cssSelector("table[class='x-grid3-row-table']")); @@ -1276,11 +1267,10 @@ displayed = false; if (Utils.isFind(element)) { - Utils.retryingFindAndClick(By - .xpath("//button[contains(text(), '灭菌卸载')]")); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '灭菌卸载')]")); - } - else { + } else { Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '灭菌确认')]")); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Delivery.java =================================================================== diff -u -r18880 -r19050 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Delivery.java (.../Delivery.java) (revision 18880) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Delivery.java (.../Delivery.java) (revision 19050) @@ -13,7 +13,6 @@ import org.openqa.selenium.os.WindowsUtils; import test.forgon.disinfectsystem.selenium.tools.Utils; -import test.forgon.disinfectsystem.selenium.tools.Utils.ActionExecuteMethod; public class Delivery { @BeforeMethod @@ -282,7 +281,7 @@ Utils.refresh(); Utils.retryingFindAndClick(By.id("invoicePlan")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_invoicePlan")); String name = Utils.settings.getJSONObject("二级供应室用户").getString( "科室名称"); @@ -373,7 +372,7 @@ public void Delivery_rejectsendout() { try { Utils.retryingFindAndClick(By.id("invoicePlan")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_invoicePlan")); String name = Utils.settings.getJSONObject("临床科室").getString("名称"); @@ -412,14 +411,14 @@ try { Utils.refresh(); Utils.retryingFindAndClick(By.id("enterpriseView")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_enterpriseView")); Utils.retryingFindAndClick(By .xpath("//div/a/span[contains(text(), '发货管理')]")); Utils.retryingFindAndClick(By .xpath("//div/a/span[contains(text(), '材料发货管理')]")); - frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '添加')]")); String currentwindowhandle = Utils.driver.getWindowHandle(); @@ -465,14 +464,14 @@ try { Utils.refresh(); Utils.retryingFindAndClick(By.id("enterpriseView")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_enterpriseView")); Utils.retryingFindAndClick(By .xpath("//div/a/span[contains(text(), '发货管理')]")); Utils.retryingFindAndClick(By .xpath("//div/a/span[contains(text(), '自定义发货')]")); - frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Materials_Godown_Entry.java =================================================================== diff -u -r18729 -r19050 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Materials_Godown_Entry.java (.../Materials_Godown_Entry.java) (revision 18729) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Materials_Godown_Entry.java (.../Materials_Godown_Entry.java) (revision 19050) @@ -9,7 +9,6 @@ import org.testng.AssertJUnit; import org.openqa.selenium.By; import org.openqa.selenium.Keys; -import org.openqa.selenium.WebElement; import org.openqa.selenium.os.WindowsUtils; import test.forgon.disinfectsystem.selenium.tools.Utils; @@ -33,7 +32,7 @@ public void Materials_Godown_Entry_success() { try { Utils.retryingFindAndClick(By.id("enterpriseView")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_enterpriseView")); Utils.retryingFindAndClick( By.xpath("//div/span[contains(text(), '后台监控管理')]")); @@ -44,7 +43,7 @@ Utils.retryingFindAndClick( By.xpath("//div/a/span[contains(text(), '材料入库管理')]")); - frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '添加')]")); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); @@ -75,7 +74,7 @@ public void Materials_Godown_Entry_2success() { try { Utils.retryingFindAndClick(By.id("enterpriseView")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_enterpriseView")); Utils.retryingFindAndClick( By.xpath("//div/span[contains(text(), '后台监控管理')]")); @@ -86,7 +85,7 @@ Utils.retryingFindAndClick( By.xpath("//div/a/span[contains(text(), '材料入库管理')]")); - frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '添加')]")); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); @@ -128,7 +127,7 @@ public void Materials_Godown_Entry_choice() { try { Utils.retryingFindAndClick(By.id("enterpriseView")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_enterpriseView")); Utils.retryingFindAndClick( By.xpath("//div/span[contains(text(), '后台监控管理')]")); @@ -139,7 +138,7 @@ Utils.retryingFindAndClick( By.xpath("//div/a/span[contains(text(), '材料入库管理')]")); - frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '添加')]")); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Consume.java =================================================================== diff -u -r18729 -r19050 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Consume.java (.../Consume.java) (revision 18729) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Consume.java (.../Consume.java) (revision 19050) @@ -6,7 +6,6 @@ import org.testng.AssertJUnit; import org.openqa.selenium.By; import org.openqa.selenium.Keys; -import org.openqa.selenium.WebElement; import org.openqa.selenium.os.WindowsUtils; import test.forgon.disinfectsystem.selenium.tools.Utils; @@ -24,7 +23,7 @@ Login login = new Login(); login.login_oneSupplyRoom(); Utils.retryingFindAndClick(By.id("enterpriseView")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_enterpriseView")); Utils.retryingFindAndClick( By.xpath("//div/span[contains(text(), '后台监控管理')]")); @@ -46,7 +45,7 @@ @Test public void Consume_success() { try { - WebElement frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '添加')]")); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Recyle.java =================================================================== diff -u -r18901 -r19050 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Recyle.java (.../Recyle.java) (revision 18901) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Recyle.java (.../Recyle.java) (revision 19050) @@ -18,6 +18,7 @@ import org.openqa.selenium.os.WindowsUtils; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.Wait; +import org.testng.Assert; import org.testng.AssertJUnit; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; @@ -63,9 +64,8 @@ // dateNow +"')]")).click(); // 输入临床科室条码,只显示临床科室的申请单 - WebElement bodyElement = Utils.retryingFindAndSendKeys( - By.tagName("body"), Utils.settings.getJSONObject("临床科室") - .getString("条码") + "\n"); + Utils.retryingFindAndSendKeys(By.tagName("body"), Utils.settings + .getJSONObject("临床科室").getString("条码") + "\n"); // try { // (2000); // } catch (InterruptedException e) { @@ -99,8 +99,8 @@ Utils.retryingFindClickFirstCellOfTable(By .id("awaitForRecycleTable")); - Utils.waitUntilUrlContains("recycleForTouchScreen.jsp", 10); - +// waitUrlChange(); + // 获取器械包的器械(材料)清单表格 WebElement tousseItemTable = this.scanRecycleUserBarcode(); tousseItemTable.sendKeys(Utils.settings.getJSONObject("一级供应室清洗篮筐4") @@ -112,11 +112,11 @@ for (WebElement Button : Buttons) { Button.click(); WebElement element = Utils.retryingFind(By.id("idBoxClose")); - if (Utils.isFind(element)) { - Utils.retryingFindAndClick(By.id("idBoxClose")); - } + if (Utils.isFind(element)) { + Utils.retryingFindAndClick(By.id("idBoxClose")); } - + } + tousseItemTable = Utils.retryingFind(By.id("tousseItemTable")); List addButtons = tousseItemTable.findElements(By .cssSelector(".btn-a")); @@ -125,7 +125,7 @@ } Utils.retryingFindAndClick(By.cssSelector("input[value='保存并新建']")); -// Utils.doWait(1000); + // Utils.doWait(1000); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); @@ -146,9 +146,9 @@ if (element == null) { Utils.retryingFindClickFirstCellOfTable(By .id("awaitForRecycleTable")); - - Utils.waitUntilUrlContains("recycleForTouchScreen.jsp", 10); - + + waitUrlChange(); + } // 获取器械包的器械(材料)清单表格 Wait wait = WaitFactory.createDefaultWait(); @@ -185,7 +185,7 @@ addButton.click(); } Utils.retryingFindAndClick(By.id("saveBtn")); -// Utils.doWait(1000); + // Utils.doWait(1000); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); @@ -198,7 +198,7 @@ @Test public void recyle_oneSupplyRoomSignboard() { try { -// Utils.doWait(1500); + // Utils.doWait(1500); String barcode = Utils.settings.getJSONObject("临床科室").getString( "条码"); @@ -207,9 +207,9 @@ Utils.retryingFindClickFirstCellOfTable(By .id("awaitForRecycleTable")); - - Utils.waitUntilUrlContains("recycleForTouchScreen.jsp", 10); - + + waitUrlChange(); + // 获取器械包的器械(材料)清单表格 WebElement tousseItemTable = this.scanRecycleUserBarcode(); tousseItemTable.sendKeys(Utils.settings.getJSONObject("一级供应室清洗篮筐4") @@ -219,8 +219,7 @@ Utils.retryingFindAndClick(By.linkText("添加器械包")); Utils.driver.switchTo().defaultContent(); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .tagName("iframe")); + Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); Utils.retryingFindAndClick(By.id(Utils.settings.getJSONObject( "回收查询").getString("按钮2"))); @@ -242,20 +241,24 @@ addButton.click(); } -// Utils.doWait(500); - Utils.retryingFindAndSendKeys(By.id("tousseItemTable"),Utils.settings.getJSONObject("一级供应室清洗篮筐1") - .getString("条码") + "\n"); + // Utils.doWait(500); + Utils.retryingFindAndSendKeys(By.id("tousseItemTable"), + Utils.settings.getJSONObject("一级供应室清洗篮筐1").getString("条码") + + "\n"); dialogWindowClose(); // 扫描标识牌条码回收入筐 -// Utils.doWait(500); - - Utils.retryingFindAndSendKeys(By.id("tousseItemTable"),Utils.settings.getJSONObject("一级供应室器械包1") - .getString("标识牌条码1") + "\n"); + // Utils.doWait(500); -// Utils.doWait(500); + Utils.retryingFindAndSendKeys( + By.id("tousseItemTable"), + Utils.settings.getJSONObject("一级供应室器械包1").getString( + "标识牌条码1") + + "\n"); + + // Utils.doWait(500); Utils.retryingFindAndClick(By.id("saveBtn")); -// Utils.doWait(2500); + // Utils.doWait(2500); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); @@ -268,20 +271,17 @@ @Test public void recyle_customSet() { try { - - // 输入临床科室条码,只显示临床科室的申请单 - WebElement bodyElement = Utils.retryingFindAndSendKeys( - By.tagName("body"), Utils.settings.getJSONObject("临床科室") - .getString("条码") + "\n"); + Utils.retryingFindAndSendKeys(By.tagName("body"), Utils.settings + .getJSONObject("临床科室").getString("条码") + "\n"); // displayed = Utils.retryingFindClickFirstCellOfTable(By // .id("awaitForRecycleTable")); WebElement element = Utils.retryingFind(By.id("tousseItemTable")); if (element == null) { Utils.retryingFindClickFirstCellOfTable(By .id("awaitForRecycleTable")); - Utils.waitUntilUrlContains("recycleForTouchScreen.jsp", 10); + waitUrlChange(); } else { Utils.retryingFind(By.id("tousseItemTable")); @@ -304,7 +304,7 @@ } Utils.retryingFindAndClick(By.id("saveBtn")); -// Utils.doWait(1000); + // Utils.doWait(1000); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); @@ -343,8 +343,7 @@ Utils.retryingFindAndClick(By.id("recycleAmount" + index)); // 弹出了数量输入的对话框 - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .tagName("iframe")); + Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); Utils.retryingFindAndClick(By.linkText("1")); Utils.retryingFindAndClick(By.cssSelector(".btn-a")); @@ -394,15 +393,14 @@ try { // 获取body对象,sendKeys更加可靠。actions.click()的方式在win10,IE11下不可靠 // 输入临床科室条码,只显示临床科室的申请单 - WebElement bodyElement = Utils.retryingFindAndSendKeys( - By.tagName("body"), Utils.settings.getJSONObject("临床科室") - .getString("条码") + "\n"); + Utils.retryingFindAndSendKeys(By.tagName("body"), Utils.settings + .getJSONObject("临床科室").getString("条码") + "\n"); Utils.retryingFindClickFirstCellOfTable(By .id("awaitForRecycleTable")); - - Utils.waitUntilUrlContains("recycleForTouchScreen.jsp", 10); - + + waitUrlChange(); + String recyclingFormWindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(recyclingFormWindowhandle); WebElement tousseItemTable = scanRecycleUserBarcode(); @@ -435,18 +433,16 @@ Utils.retryingFindAndClick(By.linkText("添加器械包")); Utils.driver.switchTo().defaultContent(); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .tagName("iframe")); + Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); Utils.retryingFindAndClick(By.id(Utils.settings.getJSONObject( "回收查询").getString("按钮1"))); Utils.retryingFindAndClick(By.id(Utils.settings.getJSONObject( "回收查询").getString("按钮2"))); - WebElement findElement = Utils.retryingFindAndClick(By - .linkText(Utils.settings.getJSONObject("一级供应室器械包1") - .getString("名称"))); + Utils.retryingFindAndClick(By.linkText(Utils.settings + .getJSONObject("一级供应室器械包1").getString("名称"))); String recyclingFormWindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(recyclingFormWindowhandle); @@ -476,8 +472,7 @@ Utils.retryingFindAndClick(By.cssSelector(".btn-b")); - frame = Utils - .retryingFindAndSwitchToFrame(By.tagName("iframe")); + Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); Utils.retryingFindAndClick(By.id("recyclingErrorTable")); Utils.retryingFindAndClick(By @@ -487,8 +482,7 @@ Utils.driver.switchTo().defaultContent(); Utils.retryingFindAndClick(By.cssSelector(".btn-c")); - frame = Utils - .retryingFindAndSwitchToFrame(By.tagName("iframe")); + Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); Utils.retryingFindAndClick(By.id("recyclingDamageForm")); Utils.retryingFindAndClick(By.cssSelector("a[class=add]")); @@ -498,7 +492,7 @@ addButton.click(); } Utils.retryingFindAndClick(By.cssSelector(".divStyle")); - frame = Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); + Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); Utils.retryingFindAndClick(By.id("recyclingErrorTable")); Utils.retryingFindAndClick(By @@ -522,10 +516,10 @@ try { // 点击添加按钮 Utils.retryingFindAndClick(By.id("addRecycleRecordBtn")); - + // 等待页面跳转 - Utils.waitUntilUrlContains("recycleForTouchScreen.jsp", 10); - + waitUrlChange(); + WebElement recycleForm = this.scanRecycleUserBarcode(); // 扫描科室条码 @@ -587,9 +581,9 @@ .getString("条码") + "\n"); dialogWindowClose(); Utils.retryingFindAndClick(By.cssSelector(".btn-a")); -// Utils.doWait(800); + // Utils.doWait(800); Utils.retryingFindAndClick(By.id("saveBtn")); -// Utils.doWait(2000); + // Utils.doWait(2000); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); @@ -603,25 +597,20 @@ public void recyle_changeBasket() { try { // Utils.retryingFindAndClick(By.id("addRecycleRecordBtn")); - JSWaiter.waitUntilJQueryReady(); - Utils.waitUntilUrlChange( - Utils.settings.get("服务器地址").toString() - + "/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.jsp?resolution=1980", - 8); + waitUrlChange(); // TODO:以下的等待2秒,要评估是否可以去掉 -// Utils.doWait(2000); - + // Utils.doWait(2000); + WebElement recycleForm = this.scanRecycleUserBarcode(); // 扫描科室条码 - Utils.retryingFindAndSendKeys(By.id("tousseItemTable"), Utils.settings.getJSONObject("临床科室") - .getString("条码") + "\n"); + Utils.retryingFindAndSendKeys(By.id("depart"), + Utils.settings.getJSONObject("临床科室").getString("条码") + "\n"); dialogWindowClose(); Utils.retryingFindAndClick(By.id("add-bao")); Utils.driver.switchTo().defaultContent(); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .tagName("iframe")); + Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); Utils.retryingFindAndClick(By.id(Utils.settings.getJSONObject( "回收查询").getString("按钮2"))); @@ -634,11 +623,12 @@ String recyclingFormWindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(recyclingFormWindowhandle); -// Utils.doWait(1000); - - Utils.retryingFindAndSendKeys(By.id("tousseItemTable"), Utils.settings.getJSONObject("一级供应室清洗篮筐1") - .getString("条码") + "\n"); - + // Utils.doWait(1000); + + Utils.retryingFindAndSendKeys(By.id("tousseItemTable"), + Utils.settings.getJSONObject("一级供应室清洗篮筐1").getString("条码") + + "\n"); + dialogWindowClose(); recycleForm = Utils.retryingFind(By.id("tousseItemTable")); List addButtons = recycleForm.findElements(By @@ -660,9 +650,11 @@ Utils.retryingFindClickFirstCellOfTable(By .id("recyclingRecordTable")); - - Utils.waitUntilUrlContains("recycleForTouchScreen.jsp", 10); + Utils.waitUntilUrlContains( + "/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.jsp", + 10); + Utils.retryingFindAndClick(By.id("B" + Utils.settings.getJSONObject("一级供应室清洗篮筐1") .getString("条码"))); @@ -683,14 +675,14 @@ // 增加材料丢失 Utils.retryingFindAndClick(By.id("recyclingErrorButton0")); Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); -// Utils.doWait(500); + // Utils.doWait(500); Utils.retryingFindAndClick(By.id("recyclingErrorTable")); // 点击第1行的+号按钮 Utils.retryingFindAndClick(By.id("addButton0")); Utils.retryingFindAndClick(By.id("errorSubmitButton")); Utils.driver.switchTo().defaultContent(); Utils.retryingFindAndClick(By.id("saveBtn")); -// Utils.doWait(1000); + // Utils.doWait(1000); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); @@ -705,14 +697,13 @@ try { Utils.retryingFindAndClick(By.id("enterpriseView")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .id("iframe_enterpriseView")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_enterpriseView")); Utils.retryingFindAndClick(By .xpath("//div/a/span[contains(text(), '回收清点')]")); Utils.retryingFindAndClick(By.cssSelector("a[target='mainFrame']")); - frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); Utils.retryingFindAndClick(By .xpath("//tbody/tr/td/div[contains(text(), '待接收')]")); @@ -743,13 +734,13 @@ // 输入临床科室条码,只显示临床科室的申请单 Utils.retryingFindAndSendKeys(By.tagName("body"), a + "\n"); WebElement element = Utils.retryingFind(By.id("tousseItemTable")); - + if (Utils.isFind(element)) { } else { Utils.retryingFindClickFirstCellOfTable(By .id("awaitForRecycleTable")); - Utils.waitUntilUrlContains("recycleForTouchScreen.jsp", 10); + waitUrlChange(); } // 获取器械包的器械(材料)清单表格 @@ -760,8 +751,7 @@ Utils.retryingFindAndClick(By.id("showTousseName0")); Utils.driver.switchTo().defaultContent(); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .tagName("iframe")); + Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); Utils.retryingFindAndClick(By.id("includeImplant1")); @@ -777,7 +767,7 @@ Utils.retryingFindAndClick(By.id("okButton")); Utils.driver.switchTo().defaultContent(); - frame = Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); + Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); Utils.retryingFindAndClick(By.id("ftDefinitionSubmitButton")); @@ -797,7 +787,7 @@ } Utils.retryingFindAndClick(By.id("saveBtn")); -// Utils.doWait(1000); + // Utils.doWait(1000); } catch (Exception e) { System.out.println("异常信息:"); e.printStackTrace(); @@ -819,9 +809,9 @@ Utils.retryingFindClickFirstCellOfTable(By .id("awaitForRecycleTable")); - - Utils.waitUntilUrlContains("recycleForTouchScreen.jsp", 10); - + + waitUrlChange(); + WebElement tousseItemTable = this.scanRecycleUserBarcode(); Utils.retryingFindAndSendKeys(By.id("tousseItemTable"), @@ -832,20 +822,18 @@ Utils.retryingFindAndClick(By.id("showTousseName0")); Utils.driver.switchTo().defaultContent(); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .tagName("iframe")); + Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); Utils.retryingFindAndClick(By.id("amount1")); - WebElement amountFrame = Utils.retryingFindAndSwitchToFrame(By - .tagName("iframe")); + Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); String a = (int) (Math.random() * 8 + 1) + ""; Thread.sleep(500); Utils.retryingFindAndClick(By.id("button" + a)); Utils.retryingFindAndClick(By.id("button5")); Utils.retryingFindAndClick(By.id("okButton")); Utils.driver.switchTo().defaultContent(); - frame = Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); + Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); Utils.retryingFindAndClick(By.id("ftDefinitionSubmitButton")); Wait wait = WaitFactory.createDefaultWait(); @@ -863,7 +851,7 @@ } Utils.retryingFindAndClick(By.id("saveBtn")); -// Utils.doWait(1000); + // Utils.doWait(1000); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); @@ -876,8 +864,7 @@ @Test public void recyle_change() { Utils.retryingFindAndClick(By.id("depart")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .tagName("iframe")); + Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); Utils.retryingFindAndClick(By.id("buttonX")); String name = Utils.settings.getJSONObject("临床科室").getString("名称"); @@ -886,7 +873,7 @@ String recyclingFormWindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(recyclingFormWindowhandle); Utils.retryingFindAndClick(By.id("applicationType")); - frame = Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); + Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); Utils.retryingFindAndClick(By .xpath("//div/ul/li/a[contains(text(), '通用申请单')]")); @@ -959,12 +946,11 @@ @Test public void recyle_confirm() { try { - WebElement bodyElement = Utils.retryingFind(By.tagName("body")); + Utils.retryingFind(By.tagName("body")); Utils.retryingFindAndClick(By.id("state")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .tagName("iframe")); + Utils.retryingFindAndSwitchToFrame(By.tagName("iframe")); Utils.retryingFindAndClick(By.linkText("未确认")); String recyclingFormWindowhandle = Utils.driver.getWindowHandle(); @@ -991,16 +977,16 @@ WebElement element = Utils.retryingFind(By .cssSelector("tr[bgcolor='#FF8C69']")); if (Utils.isFind(element)) { - Utils.retryingFindAndClick(By - .cssSelector("tr[bgcolor='#FF8C69']")); - Utils.retryingFindClickFirstCellOfTable(By - .id("recyclingRecordTable")); - - Utils.waitUntilUrlContains("recycleForTouchScreen.jsp", 10); - - Utils.retryingFindAndClick(By.id("confirmBtnTd")); -// Utils.doWait(1000); - } + Utils.retryingFindAndClick(By + .cssSelector("tr[bgcolor='#FF8C69']")); + Utils.retryingFindClickFirstCellOfTable(By + .id("recyclingRecordTable")); + + waitUrlChange(); + + Utils.retryingFindAndClick(By.id("confirmBtnTd")); + // Utils.doWait(1000); + } } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); @@ -1031,8 +1017,9 @@ if (element == null) { Utils.retryingFindClickFirstCellOfTable(By .id("awaitForRecycleTable")); - - Utils.waitUntilUrlContains("recycleForTouchScreen.jsp", 10); + + waitUrlChange(); + } this.scanRecycleUserBarcode(); Utils.changeCustomWindow(); @@ -1055,16 +1042,16 @@ // addButton.click(); } Utils.retryingFindAndClick(By.className("btn-e")); - + Utils.waitForWindowAmountEquals(1, 5000); - + // 从自定义入筐的窗口切换回主窗口 for (String winHandle : Utils.driver.getWindowHandles()) { Utils.driver.switchTo().window(winHandle); } - + JSWaiter.waitUntilJQueryReady(); - + recycleForm = Utils.retryingFind(By.id("tousseItemTable")); addButtons = recycleForm.findElements(By.className("btn-a")); // addButtons = recycleForm.findElements(By.cssSelector(".btn-a")); @@ -1077,9 +1064,10 @@ // Utils.retryingFindAndClick(By.id("idBoxClose")); } } - Utils.jsClick(Utils.findByAwait(By.id("saveBtn"))); - // Utils.retryingFindAndClick(By.id("saveBtn")); -// Utils.doWait(2000); + JSWaiter.waitUntilJQueryReady(); +// Utils.jsClick(Utils.findByAwait(By.id("saveBtn"))); + Utils.retryingFindAndClick(By.id("saveBtn")); + // Utils.doWait(2000); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); @@ -1130,12 +1118,12 @@ JSONObject jsonObject = Utils.settings.getJSONObject(user); WebElement webElement = Utils.retryingFindAndSendKeys(by, jsonObject.getString("条码") + "\n"); -// Utils.doWait(500); + // Utils.doWait(500); Wait wait = WaitFactory.createDefaultWait(); // 断言回收人或者清洗人的姓名填写成功 wait.until(ExpectedConditions.attributeContains(by, "value", jsonObject.getString("姓名"))); -// Utils.doWait(500); + // Utils.doWait(500); return webElement; } @@ -1148,11 +1136,11 @@ // 扫描回收人条码 table = this.scanBarcode(By.id("recyclingUser"), "回收人"); this.logger.info("扫描回收人条码成功"); -// Utils.doWait(500); + // Utils.doWait(500); // 扫描清点人条码 table = this.scanBarcode(By.id("operator"), "清点人"); this.logger.info("扫描清点人条码成功"); -// Utils.doWait(500); + // Utils.doWait(500); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); @@ -1234,13 +1222,29 @@ button.click(); } } - + private void dialogClose() { WebElement button = Utils.tryFind(By.id("idBoxClose")); if (Utils.isFind(button)) { button.click(); } } - + + private void waitUrlChange() { +// JSWaiter.waitUntilJQueryReady(); +// Utils.driver.getWindowHandle(); + Utils.waitUntilUrlChange( + Utils.settings.get("服务器地址").toString() + + "/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.jsp?resolution=1980", + 10); + String currentUrl = Utils.driver.getCurrentUrl(); + System.out.println("currentUrl = " + currentUrl); + boolean isLoginOk = currentUrl + .indexOf("disinfectsystem/touchScreen/recycle/recycleForTouchScreen.jsp?resolution=1980") > 0; + if (isLoginOk) { + Assert.assertTrue(isLoginOk); + } + } + } \ No newline at end of file Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/One_use.java =================================================================== diff -u -r18898 -r19050 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/One_use.java (.../One_use.java) (revision 18898) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/One_use.java (.../One_use.java) (revision 19050) @@ -34,7 +34,7 @@ Login login = new Login(); login.login_oneSupplyRoom(); Utils.retryingFindAndClick(By.id("enterpriseView")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_enterpriseView")); Utils.retryingFindAndClick( @@ -163,7 +163,7 @@ Utils.retryingFindAndClick( By.xpath("//div/a/span[contains(text(), '退库单管理')]")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '添加')]")); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); @@ -189,7 +189,7 @@ Utils.retryingFindAndClick( By.xpath("//div/a/span[contains(text(), '调拨单管理')]")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '添加')]")); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); @@ -224,7 +224,7 @@ Utils.retryingFindAndClick( By.xpath("//div/a/span[contains(text(), '一次性物品盘点管理')]")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '添加盘点记录')]")); Utils.retryingFindAndClick(By.id("saveBtn")); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Apply.java =================================================================== diff -u -r18898 -r19050 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Apply.java (.../Apply.java) (revision 18898) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Apply.java (.../Apply.java) (revision 19050) @@ -37,7 +37,7 @@ Login login = new Login(); login.login_clinic(); Utils.retryingFindAndClick(By.id("recyclingApplication")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_recyclingApplication")); Utils.retryingFindAndClick(By @@ -67,7 +67,7 @@ try { String SupplyRoomName = Utils.settings.getJSONObject("二级供应室用户") .getString("科室名称"); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_recyclingApplication")); Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '申请物品')]")); @@ -141,7 +141,7 @@ try { String SupplyRoomName = Utils.settings.getJSONObject("一级供应室用户") .getString("科室名称"); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_recyclingApplication")); Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '申请物品')]")); @@ -241,7 +241,7 @@ // 在模板上输入数量 // Utils.retryingFindAndClick(By.xpath("//span[contains(text(), '取消')]")); try { - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_recyclingApplication")); Utils.retryingFindAndClick(By @@ -327,7 +327,7 @@ @Test public void apply_set() { try { - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_recyclingApplication")); Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '申请器械包')]")); @@ -388,7 +388,7 @@ @Test public void apply_oneuse() { try { - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_recyclingApplication")); Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '申请一次性物品')]")); @@ -628,7 +628,7 @@ String name = Utils.settings.getJSONObject("一级供应室外来器械").getString( "名称"); - WebElement element = Utils.retryingFindAndClick(By + Utils.retryingFindAndClick(By .cssSelector("input[name='foreignTousseName1']")); Utils.retryingFindAndSendKeys( @@ -742,7 +742,7 @@ try { Utils.retryingFindAndClick(By.id("borrowManager")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_borrowManager")); @@ -784,7 +784,7 @@ @Test public void apply_custom() { try { - WebElement frame = Utils.retryingFindAndSwitchToFrame(By + Utils.retryingFindAndSwitchToFrame(By .id("iframe_recyclingApplication")); Utils.retryingFindAndClick(By .xpath("//button[contains(text(), '申请自定义器械包')]")); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Assemble.java =================================================================== diff -u -r18898 -r19050 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Assemble.java (.../Assemble.java) (revision 18898) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Assemble.java (.../Assemble.java) (revision 19050) @@ -44,8 +44,7 @@ // Utils.retryingFindAndClick(By.linkText(Utils.settings // .getJSONObject("一级供应室装配组").getString("名称3"))); // Utils.retryingFindAndClick(By.linkText(Utils.settings.getJSONObject("二级供应室装配组").getString("名称1"))); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .id("iframe_packing")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); } catch (Exception e) { e.printStackTrace(); @@ -97,13 +96,12 @@ WebElement element = Utils.retryingFind(By.id("sterilingType")); String name = Utils.settings.getJSONObject("灭菌程序").getString("名称1"); if (Utils.isFind(element)) { - element.click(); - Utils.retryingFindAndClick(By - .xpath("//div/ul/li[contains(text(), '" + name - + "')]")); + element.click(); + Utils.retryingFindAndClick(By + .xpath("//div/ul/li[contains(text(), '" + name + "')]")); - } - + } + Utils.retryingFindAndClick(By.id("packageType-triggerWrap")); name = Utils.settings.getJSONObject("包装类型").getString("名称1"); @@ -141,12 +139,11 @@ WebElement element = Utils.retryingFind(By .id("sterilingType-triggerWrap")); if (Utils.isFind(element)) { - element.click(); - Utils.retryingFindAndClick(By - .xpath("//div/ul/li[contains(text(), '" + name - + "')]")); - } - + element.click(); + Utils.retryingFindAndClick(By + .xpath("//div/ul/li[contains(text(), '" + name + "')]")); + } + name = Utils.settings.getJSONObject("包装类型").getString("名称1"); element = Utils.retryingFind(By.id("packageType-triggerWrap")); if (element.getText().trim().equals("")) { @@ -176,14 +173,13 @@ public void assemble_zdwy_dressing() { try { Utils.refresh(); - + Utils.retryingFindAndHover(By.id("packing")); Utils.retryingFindAndClick(By.linkText(Utils.settings .getJSONObject("一级供应室装配组").getString("名称2"))); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .id("iframe_packing")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); // 编辑装配的物品的数量 Actions action = new Actions(Utils.driver); @@ -239,8 +235,7 @@ // Utils.driver.switchTo().defaultContent(); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .id("iframe_packing")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); // 编辑装配的物品的数量 Actions action = new Actions(Utils.driver); @@ -269,19 +264,18 @@ scan(); WebElement element = Utils.retryingFind(By.id("sterilingType")); if (Utils.isFind(element)) { - String name1 = Utils.settings.getJSONObject("灭菌程序") - .getString("名称1"); - element.click(); - Wait wait = WaitFactory.createDefaultWait(); - element = wait.until(new Function() { - public WebElement apply(WebDriver driver) { - return Utils.retryingFindAndClick(By - .xpath("//div/ul/li[contains(text(), '" - + name1 + "')]")); - } - }); - } - + String name1 = Utils.settings.getJSONObject("灭菌程序").getString( + "名称1"); + element.click(); + Wait wait = WaitFactory.createDefaultWait(); + element = wait.until(new Function() { + public WebElement apply(WebDriver driver) { + return Utils.retryingFindAndClick(By + .xpath("//div/ul/li[contains(text(), '" + name1 + + "')]")); + } + }); + } Utils.retryingFindAndClick(By.id("packageType-triggerWrap")); @@ -317,10 +311,10 @@ WebElement element = Utils.retryingFind(By .xpath("//td/div[contains(text(), '" + name + "')]")); if (Utils.isFind(element)) { - Utils.retryingFindAndClick(By - .xpath("//button[contains(text(), '确定')]")); - } - + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '确定')]")); + } + } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); @@ -336,20 +330,18 @@ Utils.driver.switchTo().defaultContent(); String name = Utils.settings.getJSONObject("一级供应室自定义器械包") .getString("名称") + "\n"; - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .id("iframe_packing")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); // 编辑装配的物品的数量 // Actions action = new Actions(Utils.driver); - for (int i = 0; i < 6; i++) { + for (int i = 0; i < 1; i++) { editTreeGridCell("waitPackingTreeGrid", i, 0); WebElement a = Utils.retryingFind(By .xpath("//span[contains(text(), '" + name + "')]")); if (Utils.isFind(a)) { - assemble_success1(); - break; - } - else { + assemble_success1(); + continue; + } else { break; } } @@ -384,7 +376,7 @@ Utils.settings.getJSONObject("一级供应室清洗篮筐3").getString("条码") + "\n"); -// Actions action = new Actions(Utils.driver); + // Actions action = new Actions(Utils.driver); String location = Utils.settings.getJSONObject("装配定位").getString( "定位2"); @@ -402,14 +394,11 @@ // 等待器械补充的ExtJS窗口出现 // 还需改进,如果不出现应该报错,目前会运行下去,terry kwan - Utils.retryingFind(By - .xpath("//span[contains(text(), '器械补充')]")); - - + Utils.retryingFind(By.xpath("//span[contains(text(), '器械补充')]")); + String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); - - + Utils.retryingFindAndClick(By.cssSelector("input[value='补充打印']")); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); @@ -420,78 +409,78 @@ .cssSelector("tr[data-recordindex='" + a + "']")); String b = null; if (Utils.isFind(element)) { - Utils.retryingFindAndClick(By - .cssSelector("tr[data-recordindex='" + a + "']")); - Utils.retryingFindAndSendKeys( - By.cssSelector("tr[data-recordindex='" + a + "']"), - Keys.DOWN); - id = Utils.settings.getJSONObject("一级供应室器械包1").getString( - "标识牌条码3id"); - a = Integer.valueOf(id).intValue(); - Utils.retryingFindAndClick(By - .cssSelector("tr[data-recordindex='" + a + "']")); - currentwindowhandle = Utils.driver.getWindowHandle(); - Utils.driver.switchTo().window(currentwindowhandle); - Utils.retryingFindAndClick(By - .xpath("//span/span/span[contains(text(), '补充并打印')]")); + Utils.retryingFindAndClick(By + .cssSelector("tr[data-recordindex='" + a + "']")); + Utils.retryingFindAndSendKeys( + By.cssSelector("tr[data-recordindex='" + a + "']"), + Keys.DOWN); + id = Utils.settings.getJSONObject("一级供应室器械包1").getString( + "标识牌条码3id"); + a = Integer.valueOf(id).intValue(); + Utils.retryingFindAndClick(By + .cssSelector("tr[data-recordindex='" + a + "']")); + currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); + Utils.retryingFindAndClick(By + .xpath("//span/span/span[contains(text(), '补充并打印')]")); - currentwindowhandle = Utils.driver.getWindowHandle(); - Utils.driver.switchTo().window(currentwindowhandle); - Utils.retryingFindAndClick(By - .xpath("//span/span[contains(text(), '是')]")); - // /** 获取补充成功后的标识牌条码 **/ - // Utils.barcodes = Utils.getToussesBarcodes(); - // System.out.println("本次装配条码:"+Utils.barcodes); - currentwindowhandle = Utils.driver.getWindowHandle(); - Utils.driver.switchTo().window(currentwindowhandle); - id = Utils.settings.getJSONObject("一级供应室器械包1").getString( - "标识牌条码3id"); - a = Integer.valueOf(id).intValue(); - WebElement ab = Utils.retryingFindAndClick(By - .cssSelector("tr[data-recordindex='" + a + "']")); - b = ab.getText(); - b = b.trim(); - b = b.substring(2, 11); - System.out.println("补充的标示牌条码:" + b); - Utils.retryingFindAndClick(By - .xpath("//span/span/span[contains(text(), '取消')]")); - Thread.sleep(1000); - currentwindowhandle = Utils.driver.getWindowHandle(); - Utils.driver.switchTo().window(currentwindowhandle); - Utils.retryingFindAndClick(By - .xpath("//button[contains(text(), '确定')]")); - Utils.refresh(); + currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); + Utils.retryingFindAndClick(By + .xpath("//span/span[contains(text(), '是')]")); + // /** 获取补充成功后的标识牌条码 **/ + // Utils.barcodes = Utils.getToussesBarcodes(); + // System.out.println("本次装配条码:"+Utils.barcodes); + currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); + id = Utils.settings.getJSONObject("一级供应室器械包1").getString( + "标识牌条码3id"); + a = Integer.valueOf(id).intValue(); + WebElement ab = Utils.retryingFindAndClick(By + .cssSelector("tr[data-recordindex='" + a + "']")); + b = ab.getText(); + b = b.trim(); + b = b.substring(2, 11); + System.out.println("补充的标示牌条码:" + b); + Utils.retryingFindAndClick(By + .xpath("//span/span/span[contains(text(), '取消')]")); + Thread.sleep(1000); + currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '确定')]")); + Utils.refresh(); - Utils.retryingFindAndHover(By.id("packing")); - Utils.retryingFindAndClick( - By.linkText(Utils.settings - .getJSONObject("一级供应室装配组").getString("名称2"))); + Utils.retryingFindAndHover(By.id("packing")); + Utils.retryingFindAndClick(By.linkText(Utils.settings + .getJSONObject("一级供应室装配组").getString("名称2"))); - WebElement frame = Utils.retryingFind(By - .id("iframe_packing")); - Utils.driver.switchTo().frame(frame); - Utils.retryingFindAndSendKeys( - By.cssSelector("input[name='basketBarcodeInput']"), - Utils.settings.getJSONObject("一级供应室清洗篮筐2") - .getString("条码") + "\n"); - Utils.doWait(500); - Utils.retryingFindAndSendKeys( - By.cssSelector("input[name='basketBarcodeInput']"), - Utils.settings.getJSONObject("一级供应室清洗篮筐1") - .getString("条码") + "\n"); - Utils.doWait(500); - Utils.retryingFindAndSendKeys( - By.cssSelector("input[name='basketBarcodeInput']"), - Utils.settings.getJSONObject("一级供应室清洗篮筐3") - .getString("条码") + "\n"); - Utils.doWait(500); - editTreeGridCell("basketTreeGrid", 0, 0); + WebElement frame = Utils.retryingFind(By.id("iframe_packing")); + Utils.driver.switchTo().frame(frame); + Utils.retryingFindAndSendKeys( + By.cssSelector("input[name='basketBarcodeInput']"), + Utils.settings.getJSONObject("一级供应室清洗篮筐2").getString( + "条码") + + "\n"); + Utils.doWait(500); + Utils.retryingFindAndSendKeys( + By.cssSelector("input[name='basketBarcodeInput']"), + Utils.settings.getJSONObject("一级供应室清洗篮筐1").getString( + "条码") + + "\n"); + Utils.doWait(500); + Utils.retryingFindAndSendKeys( + By.cssSelector("input[name='basketBarcodeInput']"), + Utils.settings.getJSONObject("一级供应室清洗篮筐3").getString( + "条码") + + "\n"); + Utils.doWait(500); + editTreeGridCell("basketTreeGrid", 0, 0); - // Utils.retryingFindAndClick(By - // .cssSelector("img[role='presentation']")); + // Utils.retryingFindAndClick(By + // .cssSelector("img[role='presentation']")); - } - else { + } else { Utils.retryingFindAndClick(By .xpath("//span/span/span[contains(text(), '取消')]")); @@ -507,66 +496,60 @@ displayed = false; element = Utils.retryingFind(By.id("scanIdCardBarcode-inputEl")); if (Utils.isFind(element)) { - Utils.retryingFindAndSendKeys( - By.id("scanIdCardBarcode-inputEl"), signNum + "\n"); - scan(); - element = Utils.retryingFind(By.id("sterilingType")); - String name = Utils.settings.getJSONObject("灭菌程序") - .getString("名称1"); - if (Utils.isFind(element)) { - element.click(); - Utils.retryingFindAndClick(By - .xpath("//div/ul/li[contains(text(), '" - + name + "')]")); - } - - Utils.retryingFindAndClick(By.id("packageType-triggerWrap")); - - name = Utils.settings.getJSONObject("包装类型") - .getString("名称1"); - Utils.retryingFindAndClickBySeleniumAPI(By + Utils.retryingFindAndSendKeys( + By.id("scanIdCardBarcode-inputEl"), signNum + "\n"); + scan(); + element = Utils.retryingFind(By.id("sterilingType")); + String name = Utils.settings.getJSONObject("灭菌程序").getString( + "名称1"); + if (Utils.isFind(element)) { + element.click(); + Utils.retryingFindAndClick(By .xpath("//div/ul/li[contains(text(), '" + name + "')]")); + } - isAlertPresent(); - Utils.retryingFindAndClick(By.id("save_print")); - /** 获取装配成功后的条码 **/ - Utils.barcodes = Utils.getToussesBarcodes(); - System.out.println("本次装配条码:" + Utils.barcodes); - System.out.println("所有装配条码:" + Utils.reBarcodes); - currentwindowhandle = Utils.driver.getWindowHandle(); - Utils.driver.switchTo().window(currentwindowhandle); + Utils.retryingFindAndClick(By.id("packageType-triggerWrap")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .id("iframe_packing")); + name = Utils.settings.getJSONObject("包装类型").getString("名称1"); + Utils.retryingFindAndClickBySeleniumAPI(By + .xpath("//div/ul/li[contains(text(), '" + name + "')]")); - signNum = Utils.settings.getJSONObject("一级供应室器械包1") - .getString("标识牌条码2"); - Utils.retryingFind(By.id("scanIdCardBarcode-inputEl")) - .sendKeys(signNum + "\n"); - scan(); - Utils.retryingFindAndClick(By.id("save_print")); - /** 获取装配成功后的条码 **/ - Utils.barcodes = Utils.getToussesBarcodes(); - System.out.println("本次装配条码:" + Utils.barcodes); - System.out.println("所有装配条码:" + Utils.reBarcodes); - currentwindowhandle = Utils.driver.getWindowHandle(); - Utils.driver.switchTo().window(currentwindowhandle); - frame = Utils.retryingFindAndSwitchToFrame(By - .id("iframe_packing")); - signNum = b; - Utils.retryingFindAndSendKeys( - By.id("scanIdCardBarcode-inputEl"), signNum + "\n"); - scan(); - Utils.retryingFindAndClick(By.id("save_print")); - /** 获取装配成功后的条码 **/ - Utils.barcodes = Utils.getToussesBarcodes(); - System.out.println("本次装配条码:" + Utils.barcodes); - System.out.println("所有装配条码:" + Utils.reBarcodes); - } - else { - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .id("iframe_packing")); + isAlertPresent(); + Utils.retryingFindAndClick(By.id("save_print")); + /** 获取装配成功后的条码 **/ + Utils.barcodes = Utils.getToussesBarcodes(); + System.out.println("本次装配条码:" + Utils.barcodes); + System.out.println("所有装配条码:" + Utils.reBarcodes); + currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); + + Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); + + signNum = Utils.settings.getJSONObject("一级供应室器械包1").getString( + "标识牌条码2"); + Utils.retryingFind(By.id("scanIdCardBarcode-inputEl")) + .sendKeys(signNum + "\n"); + scan(); + Utils.retryingFindAndClick(By.id("save_print")); + /** 获取装配成功后的条码 **/ + Utils.barcodes = Utils.getToussesBarcodes(); + System.out.println("本次装配条码:" + Utils.barcodes); + System.out.println("所有装配条码:" + Utils.reBarcodes); + currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); + signNum = b; + Utils.retryingFindAndSendKeys( + By.id("scanIdCardBarcode-inputEl"), signNum + "\n"); + scan(); + Utils.retryingFindAndClick(By.id("save_print")); + /** 获取装配成功后的条码 **/ + Utils.barcodes = Utils.getToussesBarcodes(); + System.out.println("本次装配条码:" + Utils.barcodes); + System.out.println("所有装配条码:" + Utils.reBarcodes); + } else { + Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); location = Utils.settings.getJSONObject("装配定位") .getString("定位2"); a = Integer.valueOf(location).intValue(); @@ -580,9 +563,8 @@ .xpath("//span/span[contains(text(), '是')]")); Utils.refresh(); Utils.retryingFindAndHover(By.id("packing")); - Utils.retryingFindAndClick( - By.linkText(Utils.settings.getJSONObject("一级供应室装配组") - .getString("名称2"))); + Utils.retryingFindAndClick(By.linkText(Utils.settings + .getJSONObject("一级供应室装配组").getString("名称2"))); JSWaiter.waitUntilJQueryReady(); } @@ -608,21 +590,20 @@ .xpath("//button[contains(text(), '确定')]")); Utils.refresh(); - + Utils.retryingFindAndHover(By.id("packing")); Utils.retryingFindAndClick(By.linkText(Utils.settings .getJSONObject("一级供应室装配组").getString("名称1"))); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .id("iframe_packing")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); // 丢失补充 Utils.retryingFindAndSendKeys( By.cssSelector("input[name='basketBarcodeInput']"), Utils.settings.getJSONObject("一级供应室清洗篮筐3").getString("条码") + "\n"); - Actions action = new Actions(Utils.driver); + // Actions action = new Actions(Utils.driver); editTreeGridCell("basketTreeGrid", 0, 0); Utils.retryingFindAndClick(By .cssSelector("img[role='presentation']")); @@ -639,13 +620,13 @@ .xpath("//button[contains(text(), '确定')]")); Utils.refresh(); - + Utils.retryingFindAndHover(By.id("packing")); Utils.retryingFindAndClick(By.linkText(Utils.settings .getJSONObject("一级供应室装配组").getString("名称1"))); - frame = Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); Utils.retryingFindAndSendKeys( By.cssSelector("input[name='operatorBarcode']"), Utils.settings.getJSONObject("一级供应室配包人").getString("条码") @@ -660,7 +641,7 @@ + "\n"); Utils.retryingFindAndClick(By.id("checkAllTaskNode-inputRow")); Utils.retryingFindAndClick(By.id("sterilingType-triggerWrap")); - Actions click = new Actions(Utils.driver); + // Actions click = new Actions(Utils.driver); String name = Utils.settings.getJSONObject("灭菌程序").getString("名称1"); Utils.retryingFindAndClick(By .xpath("//div/ul/li[contains(text(), '" + name + "')]")); @@ -695,15 +676,14 @@ Utils.retryingFindAndClick(By.linkText(Utils.settings .getJSONObject("二级供应室装配组").getString("名称1"))); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .id("iframe_packing")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); Utils.retryingFindAndSendKeys( By.cssSelector("input[name='basketBarcodeInput']"), Utils.settings.getJSONObject("二级供应室清洗篮筐1").getString("条码") + "\n"); - Actions action = new Actions(Utils.driver); + // Actions action = new Actions(Utils.driver); editTreeGridCell("basketTreeGrid", 0, 0); Utils.retryingFindAndClick(By .cssSelector("img[role='presentation']")); @@ -719,7 +699,7 @@ Utils.retryingFindAndClick(By .xpath("//div/div/ul/li[contains(text(), '" + name + "')]")); // 拆分第一个包 - WebElement leftTable = Utils.retryingFindAndClick(By + Utils.retryingFindAndClick(By .cssSelector("tr[class='x4-grid-row x4-grid-data-row']")); Utils.retryingFindAndClick(By @@ -735,7 +715,7 @@ Utils.retryingFindAndClick(By .xpath("//span/span/span[contains(text(), '装配')]")); // 必须加上如下的切换代码,否则获取装配的器械包的条码的javascript语句执行会报异常错误 - frame = Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); /** 获取装配成功后的条码 **/ Utils.barcodes = Utils.getToussesBarcodes(); System.out.println("本次装配条码:" + Utils.barcodes); @@ -753,19 +733,18 @@ public void assemble_unpackForgein() { try { Utils.refresh(); - + Utils.retryingFindAndHover(By.id("packing")); - + Utils.retryingFindAndClick(By.linkText(Utils.settings .getJSONObject("一级供应室装配组").getString("名称3"))); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .id("iframe_packing")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); Utils.retryingFindAndSendKeys( By.cssSelector("input[name='basketBarcodeInput']"), Utils.settings.getJSONObject("一级供应室清洗篮筐4").getString("条码") + "\n"); Thread.sleep(1500); - Actions action = new Actions(Utils.driver); + // Actions action = new Actions(Utils.driver); editTreeGridCell("basketTreeGrid", 0, 0); // action.click( // Utils.retryingFind(By @@ -783,7 +762,7 @@ Utils.retryingFindAndClick(By .xpath("//div/div/ul/li[contains(text(), '" + name + "')]")); // 拆分第一个包 - WebElement leftTable = Utils.retryingFindAndClick(By + Utils.retryingFindAndClick(By .cssSelector("tr[class='x4-grid-row x4-grid-data-row']")); Utils.retryingFindAndClick(By @@ -815,7 +794,7 @@ .xpath("//span/span/span[contains(text(), '装配')]")); // 必须加上如下的切换代码,否则获取装配的器械包的条码的javascript语句执行会报异常错误 - frame = Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); /** 获取装配成功后的条码 **/ Utils.barcodes = Utils.getToussesBarcodes(); System.out.println("本次装配条码:" + Utils.barcodes); @@ -888,8 +867,7 @@ try { String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .id("iframe_packing")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); Utils.retryingFindAndSendKeys( By.cssSelector("input[name='operatorBarcode']"), @@ -939,8 +917,7 @@ Utils.retryingFindAndClick(By.linkText(Utils.settings .getJSONObject("二级供应室装配组").getString("名称2"))); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .id("iframe_packing")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); // 编辑装配的物品的数量 Actions action = new Actions(Utils.driver); @@ -971,16 +948,15 @@ try { Utils.refresh(); Utils.retryingFindAndClick(By.id("enterpriseView")); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .id("iframe_enterpriseView")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_enterpriseView")); Utils.retryingFindAndClick(By .xpath("//div/a/span[contains(text(), '装配管理')]")); Utils.retryingFindAndClick(By .xpath("//div/a/span[contains(text(), '自定义装配')]")); - frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); scan(); Utils.retryingFindAndSendKeys(By.id("tousseName"), Keys.DOWN); String name = Utils.settings.getJSONObject("一级供应室器械包2").getString( @@ -993,12 +969,12 @@ Utils.retryingFindAndSendKeys(By.id("packAmount"), "2" + "\n"); WebElement element = Utils.retryingFind(By.id("sterilingType1")); if (Utils.isFind(element)) { - element.click(); - Utils.retryingFindAndClick(By - .xpath("//div/div/div[contains(text(), '" + name - + "')]")); - } - + element.click(); + Utils.retryingFindAndClick(By + .xpath("//div/div/div[contains(text(), '" + name + + "')]")); + } + Utils.retryingFindAndClick(By .xpath("//tbody/tr/td/em/button[contains(text(), '装配并打印标签')]")); Utils.doWait(1000); @@ -1024,8 +1000,7 @@ Utils.retryingFindAndClick(By.linkText(Utils.settings .getJSONObject("二级供应室装配组").getString("名称3"))); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .id("iframe_packing")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); Utils.retryingFindAndSendKeys( By.cssSelector("input[name='basketBarcodeInput']"), @@ -1088,55 +1063,53 @@ WebElement element1 = Utils.retryingFind(By .id("packingComboTousseBtn-btnInnerEl")); if (Utils.isFind(element1)) { - element1.click(); - currentwindowhandle = Utils.driver.getWindowHandle(); - Utils.driver.switchTo().window(currentwindowhandle); + element1.click(); + currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); - // 输入条码 - Utils.retryingFindAndSendKeys(By - .id("packerBarcode3-inputEl"), Utils.settings - .getJSONObject("一级供应室用户").getString("条码") + "\n"); - Utils.retryingFindAndSendKeys(By - .id("reviewerBarcode3-inputEl"), Utils.settings - .getJSONObject("一级供应室用户").getString("条码") + "\n"); + // 输入条码 + Utils.retryingFindAndSendKeys(By.id("packerBarcode3-inputEl"), + Utils.settings.getJSONObject("一级供应室用户").getString("条码") + + "\n"); + Utils.retryingFindAndSendKeys( + By.id("reviewerBarcode3-inputEl"), Utils.settings + .getJSONObject("一级供应室用户").getString("条码") + + "\n"); - // 聚合包 - WebElement element2 = Utils.retryingFind(By - .id("comboTousseName-inputEl")); - if (Utils.isFind(element2)) { - element2.click(); - Utils.retryingFindAndClick(By - .xpath("//div/ul/li[contains(text(), '" - + "Test聚合包" + "')]")); - } - } - // 灭菌程序 - WebElement element = Utils.retryingFind(By - .id("sterilingType3-inputEl")); - String name = Utils.settings.getJSONObject("灭菌程序") - .getString("名称2"); - if (Utils.isFind(element)) { - element.click(); - Utils.retryingFindAndClick(By - .xpath("//div/div/ul/li[contains(text(), '" - + name + "')]")); - } - - // 点击拆分按钮 + // 聚合包 + WebElement element2 = Utils.retryingFind(By + .id("comboTousseName-inputEl")); + if (Utils.isFind(element2)) { + element2.click(); Utils.retryingFindAndClick(By - .xpath("//span/span/span[contains(text(), '>>>>')]")); - // 点击确定 - Utils.retryingFindAndClick(By - .xpath("//span/span/span[contains(text(), '确定')]")); - Utils.doWait(200); - // 点击装配按钮 - Utils.retryingFindAndClick(By - .xpath("//span/span/span[contains(text(), '装配并打印标签')]")); - Utils.doWait(200); - // Thread.sleep(10*1000); - - + .xpath("//div/ul/li[contains(text(), '" + "Test聚合包" + + "')]")); + } + } + // 灭菌程序 + WebElement element = Utils.retryingFind(By + .id("sterilingType3-inputEl")); + String name = Utils.settings.getJSONObject("灭菌程序").getString("名称2"); + if (Utils.isFind(element)) { + element.click(); + Utils.retryingFindAndClick(By + .xpath("//div/div/ul/li[contains(text(), '" + name + + "')]")); + } + // 点击拆分按钮 + Utils.retryingFindAndClick(By + .xpath("//span/span/span[contains(text(), '>>>>')]")); + // 点击确定 + Utils.retryingFindAndClick(By + .xpath("//span/span/span[contains(text(), '确定')]")); + Utils.doWait(200); + // 点击装配按钮 + Utils.retryingFindAndClick(By + .xpath("//span/span/span[contains(text(), '装配并打印标签')]")); + Utils.doWait(200); + // Thread.sleep(10*1000); + } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); @@ -1229,13 +1202,14 @@ Utils.settings.getJSONObject("一级供应室配包人") .getString("条码") + "\n"); if (Utils.isFind(element)) { - Utils.retryingFindAndSendKeys( - By.cssSelector("input[name='reviewerBarcode']"), - Utils.settings.getJSONObject("一级供应室审核人") - .getString("条码") + "\n"); - } + Utils.retryingFindAndSendKeys( + By.cssSelector("input[name='reviewerBarcode']"), + Utils.settings.getJSONObject("一级供应室审核人").getString( + "条码") + + "\n"); } - + } + } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Review.java =================================================================== diff -u -r18898 -r19050 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Review.java (.../Review.java) (revision 18898) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Review.java (.../Review.java) (revision 19050) @@ -36,8 +36,7 @@ Utils.retryingFindAndClick(By.linkText(Utils.settings .getJSONObject("一级供应室装配组").getString("名称2"))); - WebElement frame = Utils.retryingFindAndSwitchToFrame(By - .id("iframe_reviewPacking")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_reviewPacking")); } catch (Exception e) { e.printStackTrace(); @@ -82,10 +81,10 @@ if (Utils.isFind(element)) { - Utils.retryingFindAndClick(By - .xpath("//button[contains(text(), '是')]")); - } - + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '是')]")); + } + Utils.driver.switchTo().defaultContent(); Utils.retryingFindAndSwitchToFrame(By.id("iframe_reviewPacking")); @@ -116,42 +115,44 @@ break; } } - Utils.retryingFindAndSendKeys(By.id("barcode"), - Utils.settings.getJSONObject("灭菌篮筐01") - .getString("条码") + "\n"); + Utils.retryingFindAndSendKeys( + By.id("barcode"), + Utils.settings.getJSONObject("灭菌篮筐01").getString( + "条码") + + "\n"); click = new Actions(Utils.driver); element = Utils.retryingFind(By .xpath("//button[contains(text(), '是')]")); Utils.doWait(500); if (Utils.isFind(element)) { - Utils.retryingFindAndClick(By - .xpath("//button[contains(text(), '是')]")); - } + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '是')]")); } + } + Utils.retryingFindAndClick(By + .xpath("//button/b[contains(text(), '审核')]")); + JSWaiter.waitUntilJQueryReady(); + Utils.doWait(500); + click = new Actions(Utils.driver); + element = Utils.retryingFind(By + .xpath("//button[contains(text(), '是')]")); + + if (Utils.isFind(element)) { + Utils.retryingFindAndClick(By - .xpath("//button/b[contains(text(), '审核')]")); - JSWaiter.waitUntilJQueryReady(); - Utils.doWait(500); - click = new Actions(Utils.driver); - element = Utils.retryingFind(By .xpath("//button[contains(text(), '是')]")); + } - if (Utils.isFind(element)) { + Utils.driver.switchTo().defaultContent(); - Utils.retryingFindAndClick(By - .xpath("//button[contains(text(), '是')]")); - } - - Utils.driver.switchTo().defaultContent(); - - Utils.retryingFindAndSwitchToFrame(By - .id("iframe_reviewPacking")); - JSWaiter.waitUntilJQueryReady(); - Utils.doWait(1000); - break; - }} - catch (Exception e) { + Utils.retryingFindAndSwitchToFrame(By + .id("iframe_reviewPacking")); + JSWaiter.waitUntilJQueryReady(); + Utils.doWait(1000); + continue; + } + } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } @@ -176,10 +177,9 @@ if (Utils.isFind(element)) { - Utils.retryingFindAndClick(By - .xpath("//button[contains(text(), '是')]")); - } - + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '是')]")); + } Utils.driver.switchTo().defaultContent(); WebElement frame = Utils