Index: ssts-selenium-test/src/test/java/test_4_1/sterilization/service/impl/GdsySterilization.java =================================================================== diff -u --- ssts-selenium-test/src/test/java/test_4_1/sterilization/service/impl/GdsySterilization.java (revision 0) +++ ssts-selenium-test/src/test/java/test_4_1/sterilization/service/impl/GdsySterilization.java (revision 17932) @@ -0,0 +1,386 @@ +package test_4_1.sterilization.service.impl; + +import java.util.Date; + +import net.sf.json.JSONObject; + +import org.openqa.selenium.By; +import org.openqa.selenium.Keys; +import org.openqa.selenium.interactions.Actions; +import org.testng.AssertJUnit; + +import com.forgon.tools.string.StringTools; +import com.forgon.tools.util.ForgonDateUtils; + +import test_4_1.sterilization.helper.SterilizationHelper; +import test_4_1.sterilization.service.Sterilization; +import test_4_1.tools.Utils; +/** + * 广东省医的灭菌 + * @author Chenjiaru + * + */ +public class GdsySterilization implements Sterilization { + + @Override + public void sterilizationSeriesOperationsOfFristSupplyRoom(String barcodes) { + try { + Utils.driver.switchTo().defaultContent(); + Utils.retryingFindAndDoAction(By.xpath("//span[contains(text(), '个人桌面')]"), Utils.ACTION_CLICK); + Actions moveover = new Actions(Utils.driver); + moveover.moveToElement(Utils.retryingFind(By.id("sterilizationRecord"))).perform(); + Utils.retryingFindAndDoAction(By.linkText(Utils.settings.getJSONObject("灭菌炉分组").getString("大型压力蒸汽")), Utils.ACTION_CLICK); + + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id("addBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().defaultContent(); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + + JSONObject sterilizerObj = Utils.settings.getJSONObject("1号高温蒸汽灭菌炉"); + String sterilizerName = sterilizerObj.getString("名称"); + String sterilizerBarcode = sterilizerObj.getString("条码"); + String sterilizationProcedureBarcode = ((JSONObject)sterilizerObj.getJSONArray("灭菌程序").get(0)).getString("条码"); + String cssduser1Barcode = Utils.settings.getJSONObject("一级供应室用户").getString("条码"); + //扫描灭菌炉条码=》灭菌程序条码=》用户条码=》灭菌目的选择“器械包灭菌”=》篮筐或者器械包条码 + Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, sterilizerBarcode + "\n"); + Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, sterilizationProcedureBarcode + "\n"); + Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, cssduser1Barcode + "\n"); + Utils.retryingFindAndDoAction(By.id("sterilizationPurpose"), Utils.ACTION_SENDKEYS, Keys.DOWN); + Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '器械包灭菌')]"), Utils.ACTION_CLICK); + String tempBarcode = ""; + if (StringTools.isNotBlank(barcodes)) { + String[] barcodesArr = barcodes.split(";"); + tempBarcode = barcodesArr[0]; + for (String barcode : barcodesArr) { + Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, barcode + "\n"); + } +// Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, barcodesArr[0]); +// Utils.retryingFindAndDoAction(By.id("inputBarcodeEnd"), Utils.ACTION_SENDKEYS, barcodesArr[1] + "\n"); + + } +// Utils.retryingFindAndDoAction(By.id("btnBatchAddTousse"), Utils.ACTION_CLICK); //一键入炉 + + + + //保存灭菌记录 + Utils.retryingFindAndDoAction(By.id("saveBtn"), Utils.ACTION_CLICK); + SterilizationHelper.炉次_1号高温蒸汽灭菌炉 ++; + + //灭菌中断 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_1号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("sterilizationInterruptBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌中断后添加质量监测 + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("formName"), Utils.ACTION_SENDKEYS, Keys.DOWN); + Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '无')]"), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); + + //继续灭菌 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_1号高温蒸汽灭菌炉 + "-interruptionHandle"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("continueBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌失败 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_1号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("sterilizationFailureBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌失败后添加质量监测 + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("formName"), Utils.ACTION_SENDKEYS, Keys.DOWN); + Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '灭菌失败事件')]"), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("tempBarcode"), Utils.ACTION_SENDKEYS, tempBarcode + "\n"); + Utils.retryingFindAndDoAction(By.id("repacking"), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); + + //重新灭菌 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_1号高温蒸汽灭菌炉 + "-failureHandle"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '重新灭菌')]"), Utils.ACTION_CLICK); //他的id是saveBtn + SterilizationHelper.炉次_1号高温蒸汽灭菌炉 ++; + + //完成灭菌 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_1号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("completeSterilizationBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("completeUserBarcode"), Utils.ACTION_SENDKEYS, cssduser1Barcode + "\n"); + Utils.retryingFindAndDoAction(By.id("saveBtn"), Utils.ACTION_CLICK); + + //填写质量监测 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_1号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("modifyBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + String javaScript = "Ext.getCmp('physicsResult').setValue('合格');"; + javaScript += "Ext.getCmp('chemistryResult').setValue('不合格');"; + javaScript += "Ext.getCmp('biologyResult').setValue('合格');"; + Utils.runJavaScript(javaScript); + Utils.retryingFindAndDoAction(By.id("biologicalMonitoringStartDate"), Utils.ACTION_SENDKEYS, ForgonDateUtils.safelyFormatDate(new Date(), ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); + Utils.retryingFindAndDoAction(By.id("biologicalMonitoringEndDate"), Utils.ACTION_SENDKEYS, ForgonDateUtils.safelyFormatDate(new Date(), ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); + Utils.retryingFindAndDoAction(By.id("monitorUserBarcode"), Utils.ACTION_SENDKEYS, cssduser1Barcode + "\n"); + Utils.retryingFindAndDoAction(By.id("monitorCheckerBarcode"), Utils.ACTION_SENDKEYS, cssduser1Barcode + "\n"); + Utils.retryingFindAndDoAction(By.id("monitorBtn"), Utils.ACTION_CLICK); + } catch (Exception e) { + e.printStackTrace(); + AssertJUnit.fail(e.getMessage()); + } + } + + @Override + public void sterilizationSeriesOperationsOfSecondSupplyRoom(String barcodes) { + try { + Utils.driver.switchTo().defaultContent(); + Utils.retryingFindAndDoAction(By.xpath("//span[contains(text(), '个人桌面')]"), Utils.ACTION_CLICK); + Actions moveover = new Actions(Utils.driver); + moveover.moveToElement(Utils.retryingFind(By.id("sterilizationRecord"))).perform(); + Utils.retryingFindAndDoAction(By.linkText(Utils.settings.getJSONObject("灭菌炉分组").getString("低温等离子")), Utils.ACTION_CLICK); + + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id("addBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().defaultContent(); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + + JSONObject sterilizerObj = Utils.settings.getJSONObject("6号高温蒸汽灭菌炉"); + String sterilizerName = sterilizerObj.getString("名称"); + String sterilizerBarcode = sterilizerObj.getString("条码"); + String sterilizationProcedureBarcode = ((JSONObject)sterilizerObj.getJSONArray("灭菌程序").get(0)).getString("条码"); + String oruser1Barcode = Utils.settings.getJSONObject("二级供应室用户").getString("条码"); + //扫描灭菌炉条码=》灭菌程序条码=》用户条码=》灭菌目的选择“器械包灭菌”=》篮筐或者器械包条码 + Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, sterilizerBarcode + "\n"); + Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, sterilizationProcedureBarcode + "\n"); + Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, oruser1Barcode + "\n"); + Utils.retryingFindAndDoAction(By.id("sterilizationPurpose"), Utils.ACTION_SENDKEYS, Keys.DOWN); + Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '器械包灭菌')]"), Utils.ACTION_CLICK); + String tempBarcode = ""; + if (StringTools.isNotBlank(barcodes)) { + String[] barcodesArr = barcodes.split(";"); + tempBarcode = barcodesArr[0]; + for (String barcode : barcodesArr) { + Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, barcode + "\n"); + } + } + + //保存灭菌记录 + Utils.retryingFindAndDoAction(By.id("saveBtn"), Utils.ACTION_CLICK); + SterilizationHelper.炉次_6号高温蒸汽灭菌炉 ++; + + //灭菌中断 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("sterilizationInterruptBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌中断后添加质量监测 + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("formName"), Utils.ACTION_SENDKEYS, Keys.DOWN); + Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '无')]"), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); + + //继续灭菌 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉 + "-interruptionHandle"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("continueBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌失败 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("sterilizationFailureBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌失败后添加质量监测 +// Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); +// Utils.retryingFindAndDoAction(By.id("formName"), Utils.ACTION_SENDKEYS, Keys.DOWN); +// Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '无')]"), Utils.ACTION_CLICK); +// Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("formName"), Utils.ACTION_SENDKEYS, Keys.DOWN); + Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '灭菌失败事件')]"), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("tempBarcode"), Utils.ACTION_SENDKEYS, tempBarcode + "\n"); + Utils.retryingFindAndDoAction(By.id("repacking"), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); + + //重新灭菌 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉 + "-failureHandle"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '重新灭菌')]"), Utils.ACTION_CLICK); //他的id是saveBtn + SterilizationHelper.炉次_6号高温蒸汽灭菌炉 ++; + + //完成灭菌 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("completeSterilizationBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("completeUserBarcode"), Utils.ACTION_SENDKEYS, oruser1Barcode + "\n"); + Utils.retryingFindAndDoAction(By.id("saveBtn"), Utils.ACTION_CLICK); + + //填写质量监测 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("modifyBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + String javaScript = "Ext.getCmp('physicsResult').setValue('合格');"; + javaScript += "Ext.getCmp('chemistryResult').setValue('不合格');"; + javaScript += "Ext.getCmp('biologyResult').setValue('合格');"; + Utils.runJavaScript(javaScript); + Utils.retryingFindAndDoAction(By.id("biologicalMonitoringStartDate"), Utils.ACTION_SENDKEYS, ForgonDateUtils.safelyFormatDate(new Date(), ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); + Utils.retryingFindAndDoAction(By.id("biologicalMonitoringEndDate"), Utils.ACTION_SENDKEYS, ForgonDateUtils.safelyFormatDate(new Date(), ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); + Utils.retryingFindAndDoAction(By.id("monitorUserBarcode"), Utils.ACTION_SENDKEYS, oruser1Barcode + "\n"); + Utils.retryingFindAndDoAction(By.id("monitorCheckerBarcode"), Utils.ACTION_SENDKEYS, oruser1Barcode + "\n"); + Utils.retryingFindAndDoAction(By.id("monitorBtn"), Utils.ACTION_CLICK); + } catch (Exception e) { + e.printStackTrace(); + AssertJUnit.fail(e.getMessage()); + } + } +// @Override +// public void sterilizationSeriesOperationsOfSecondSupplyRoom(String barcodes) { +// try { +// Utils.driver.switchTo().defaultContent(); +// Utils.retryingFindAndDoAction(By.xpath("//span[contains(text(), '个人桌面')]"), Utils.ACTION_CLICK); +// Actions moveover = new Actions(Utils.driver); +// moveover.moveToElement(Utils.retryingFind(By.id("sterilizationRecord"))).perform(); +// Utils.retryingFindAndDoAction(By.linkText(Utils.settings.getJSONObject("灭菌炉分组").getString("低温等离子")), Utils.ACTION_CLICK); +// +// Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); +// Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '添加')]"), Utils.ACTION_CLICK); +// Utils.driver.switchTo().defaultContent(); +// Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); +// +// JSONObject sterilizerObj = Utils.settings.getJSONObject("6号高温蒸汽灭菌炉"); +// String sterilizerName = sterilizerObj.getString("名称"); +// String sterilizerBarcode = sterilizerObj.getString("条码"); +// String sterilizationProcedureBarcode = ((JSONObject)sterilizerObj.getJSONArray("灭菌程序").get(0)).getString("条码"); +// String oruser1Barcode = Utils.settings.getJSONObject("二级供应室用户").getString("条码"); +// //扫描灭菌炉条码=》灭菌程序条码=》用户条码=》灭菌目的选择“器械包灭菌”=》篮筐或者器械包条码 +// Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, sterilizerBarcode + "\n"); +// Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, sterilizationProcedureBarcode + "\n"); +// Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, oruser1Barcode + "\n"); +// Utils.retryingFindAndDoAction(By.id("sterilizationPurpose"), Utils.ACTION_SENDKEYS, Keys.DOWN); +// Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '器械包灭菌')]"), Utils.ACTION_CLICK); +// if (StringTools.isNotBlank(barcodes)) { +// String[] barcodesArr = barcodes.split(";"); +// for (String barcode : barcodesArr) { +// Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, barcode + "\n"); +// } +// } +// +// //保存灭菌记录 +// Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); +// SterilizationHelper.炉次_6号高温蒸汽灭菌炉 ++; +// +// //灭菌中断 +// Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); +//// Utils.retryingFindAndDoAction(By.xpath("//p[contains(text(), '灭菌中')]"), Utils.ACTION_CLICK); +// Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉), Utils.ACTION_CLICK); +// Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '灭菌中断')]"), Utils.ACTION_CLICK); +// Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); +// Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); +// +// //灭菌中断后添加质量监测 +// Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); +// Utils.retryingFindAndDoAction(By.id("formName"), Utils.ACTION_SENDKEYS, Keys.DOWN); +// Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '无')]"), Utils.ACTION_CLICK); +// Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); +// +// //继续灭菌 +// Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); +// Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉 + "-interruptionHandle"), Utils.ACTION_CLICK); +// Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); +// Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '继续灭菌')]"), Utils.ACTION_CLICK); +// Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); +// Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); +// +// //灭菌失败 +// Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); +//// Utils.retryingFindAndDoAction(By.xpath("//p[contains(text(), '灭菌中')]"), Utils.ACTION_CLICK); +// Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉), Utils.ACTION_CLICK); +// Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '灭菌失败')]"), Utils.ACTION_CLICK); +// Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); +// Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); +// +// //灭菌失败后添加质量监测 +// Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); +// Utils.retryingFindAndDoAction(By.id("formName"), Utils.ACTION_SENDKEYS, Keys.DOWN); +// Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '无')]"), Utils.ACTION_CLICK); +// Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); +// +// //重新灭菌 +// Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); +// Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉 + "-failureHandle"), Utils.ACTION_CLICK); +// Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); +// Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '重新灭菌')]"), Utils.ACTION_CLICK); +// SterilizationHelper.炉次_6号高温蒸汽灭菌炉 ++; +// +// //完成灭菌 +// Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); +//// Utils.retryingFindAndDoAction(By.xpath("//p[contains(text(), '灭菌中')]"), Utils.ACTION_CLICK); +// Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉), Utils.ACTION_CLICK); +// Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '完成灭菌')]"), Utils.ACTION_CLICK); +// Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); +// Utils.retryingFindAndDoAction(By.id("completeUserBarcode"), Utils.ACTION_SENDKEYS, oruser1Barcode + "\n"); +// Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); +// +// //填写质量监测 +// Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); +//// Utils.retryingFindAndDoAction(By.xpath("//p[contains(text(), '灭菌中')]"), Utils.ACTION_CLICK); +// Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉), Utils.ACTION_CLICK); +// Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '修改')]"), Utils.ACTION_CLICK); +// Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); +// Utils.retryingFindAndDoAction(By.id("physicsResult"), Utils.ACTION_SENDKEYS, Keys.DOWN); +// Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '合格')]"), Utils.ACTION_CLICK); +// Utils.retryingFindAndDoAction(By.id("chemistryResult"), Utils.ACTION_SENDKEYS, Keys.DOWN); +// Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '不合格')]"), Utils.ACTION_CLICK); +// Utils.retryingFindAndDoAction(By.id("biologyResult"), Utils.ACTION_SENDKEYS, Keys.DOWN); +// Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '合格')]"), Utils.ACTION_CLICK); +// Utils.retryingFindAndDoAction(By.id("biologicalMonitoringStartDate"), Utils.ACTION_SENDKEYS, ForgonDateUtils.safelyFormatDate(new Date(), ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); +// Utils.retryingFindAndDoAction(By.id("biologicalMonitoringEndDate"), Utils.ACTION_SENDKEYS, ForgonDateUtils.safelyFormatDate(new Date(), ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); +// Utils.retryingFindAndDoAction(By.id("monitorUserBarcode"), Utils.ACTION_SENDKEYS, oruser1Barcode + "\n"); +// Utils.retryingFindAndDoAction(By.id("monitorCheckerBarcode"), Utils.ACTION_SENDKEYS, oruser1Barcode + "\n"); +// } catch (Exception e) { +// e.printStackTrace(); +// AssertJUnit.fail(e.getMessage()); +// } +// } + + @Override + public void createSterilizationRecord() { + // TODO Auto-generated method stub + + } + + @Override + public void sterilizationInterrupt() { + // TODO Auto-generated method stub + + } + + @Override + public void sterilizationFailure() { + // TODO Auto-generated method stub + + } + + @Override + public void completeSterilization() { + // TODO Auto-generated method stub + + } + +} Index: ssts-selenium-test/src/test/java/test_4_1/sterilization/service/impl/Zd5ySterilization.java =================================================================== diff -u --- ssts-selenium-test/src/test/java/test_4_1/sterilization/service/impl/Zd5ySterilization.java (revision 0) +++ ssts-selenium-test/src/test/java/test_4_1/sterilization/service/impl/Zd5ySterilization.java (revision 17932) @@ -0,0 +1,331 @@ +package test_4_1.sterilization.service.impl; + +import java.util.Date; +import java.util.NoSuchElementException; +import java.util.concurrent.TimeUnit; + +import net.sf.json.JSONObject; + +import org.openqa.selenium.By; +import org.openqa.selenium.Keys; +import org.openqa.selenium.StaleElementReferenceException; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.interactions.Actions; +import org.openqa.selenium.support.ui.ExpectedConditions; +import org.openqa.selenium.support.ui.FluentWait; +import org.openqa.selenium.support.ui.Wait; +import org.testng.AssertJUnit; + +import com.forgon.tools.string.StringTools; +import com.forgon.tools.util.ForgonDateUtils; + +import test_4_1.sterilization.helper.SterilizationHelper; +import test_4_1.sterilization.service.Sterilization; +import test_4_1.tools.Utils; + +public class Zd5ySterilization implements Sterilization { + + @Override + public void createSterilizationRecord() { + // TODO Auto-generated method stub + + } + + @Override + public void sterilizationInterrupt() { + // TODO Auto-generated method stub + + } + + @Override + public void sterilizationFailure() { + // TODO Auto-generated method stub + + } + + @Override + public void completeSterilization() { + // TODO Auto-generated method stub + + } + + @Override + public void sterilizationSeriesOperationsOfFristSupplyRoom(String barcodes) { + try { + Utils.driver.switchTo().defaultContent(); + Utils.retryingFindAndDoAction(By.xpath("//span[contains(text(), '个人桌面')]"), Utils.ACTION_CLICK); + Actions moveover = new Actions(Utils.driver); + moveover.moveToElement(Utils.retryingFind(By.id("sterilizationRecord"))).perform(); + Utils.retryingFindAndDoAction(By.linkText(Utils.settings.getJSONObject("灭菌炉分组").getString("大型压力蒸汽")), Utils.ACTION_CLICK); + + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id("addBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().defaultContent(); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + + JSONObject sterilizerObj = Utils.settings.getJSONObject("1号高温蒸汽灭菌炉"); + String sterilizerName = sterilizerObj.getString("名称"); + String sterilizerBarcode = sterilizerObj.getString("条码"); + String sterilizationProcedureBarcode = ((JSONObject)sterilizerObj.getJSONArray("灭菌程序").get(0)).getString("条码"); + String cssduser1Barcode = Utils.settings.getJSONObject("一级供应室用户").getString("条码"); + //扫描灭菌炉条码=》灭菌程序条码=》用户条码=》灭菌目的选择“器械包灭菌”=》篮筐或者器械包条码 + Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, sterilizerBarcode + "\n"); + Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, sterilizationProcedureBarcode + "\n"); +// Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, cssduser1Barcode + "\n"); //中大附一,灭菌员是自动填的 + Utils.retryingFindAndDoAction(By.id("sterilizationPurpose"), Utils.ACTION_SENDKEYS, Keys.DOWN); + Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '器械包灭菌')]"), Utils.ACTION_CLICK); + String tempBarcode = ""; + if (StringTools.isNotBlank(barcodes)) { + String[] barcodesArr = barcodes.split(";"); + tempBarcode = barcodesArr[0]; + for (String barcode : barcodesArr) { + Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, barcode + "\n"); + } + } //扫描单个条码的 +// Utils.retryingFindAndDoAction(By.id("btnBatchAddTousse"), Utils.ACTION_CLICK); //一键入炉 + + //保存灭菌记录 + Utils.retryingFindAndDoAction(By.id("saveBtn"), Utils.ACTION_CLICK); + SterilizationHelper.炉次_1号高温蒸汽灭菌炉 ++; + + //灭菌中断 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_1号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("sterilizationInterruptBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌中断后添加质量监测 + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("formName"), Utils.ACTION_SENDKEYS, Keys.DOWN); + Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '无')]"), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); + + //继续灭菌 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_1号高温蒸汽灭菌炉 + "-interruptionHandle"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("continueBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌失败 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_1号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("sterilizationFailureBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌失败后添加质量监测 +// Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); +// Utils.retryingFindAndDoAction(By.id("formName"), Utils.ACTION_SENDKEYS, Keys.DOWN); +// Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '无')]"), Utils.ACTION_CLICK); +// Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("formName"), Utils.ACTION_SENDKEYS, Keys.DOWN); + Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '灭菌失败事件')]"), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("tempBarcode"), Utils.ACTION_SENDKEYS, tempBarcode + "\n"); + Utils.retryingFindAndDoAction(By.id("repacking"), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); + + //重新灭菌 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_1号高温蒸汽灭菌炉 + "-failureHandle"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '重新灭菌')]"), Utils.ACTION_CLICK); //他的id是saveBtn + SterilizationHelper.炉次_1号高温蒸汽灭菌炉 ++; + + //完成灭菌 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_1号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("completeSterilizationBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌卸载 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_1号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("confirmBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("completeUserBarcode1"), Utils.ACTION_SENDKEYS, cssduser1Barcode + "\n"); + Utils.retryingFindAndDoAction(By.id("saveBtn"), Utils.ACTION_CLICK); + + //登记灭菌监测 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Wait wait = new FluentWait(Utils.driver) + .withTimeout(5000, TimeUnit.MILLISECONDS) + .pollingEvery(250, TimeUnit.MILLISECONDS) + .ignoring(NoSuchElementException.class) + .ignoring(StaleElementReferenceException.class); + + //等待表单提交成功 + wait.until(ExpectedConditions.attributeToBe(Utils.driver.findElement(By + .id("completeSterilizationRecordForm1Submit")), "value", "1")); + + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_1号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("modifyBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + + String physicsResult = "var physicsResult = Ext.getCmp('physicsResult');"; + Utils.waitPageLoaded(physicsResult + "return physicsResult ? false : true;"); + Utils.runJavaScript(physicsResult + "physicsResult.setValue('合格');"); + + String chemistryResult = "var chemistryResult = Ext.getCmp('chemistryResult');"; + Utils.waitPageLoaded(chemistryResult + "return chemistryResult ? false : true;"); + Utils.runJavaScript(chemistryResult + "chemistryResult.setValue('不合格');"); + + String biologyResult = "var biologyResult = Ext.getCmp('biologyResult');"; + Utils.waitPageLoaded(biologyResult + "return biologyResult ? false : true"); + Utils.runJavaScript(biologyResult + "biologyResult.setValue('不合格');"); + + Utils.retryingFindAndDoAction(By.id("biologicalMonitoringStartDate"), Utils.ACTION_SENDKEYS, ForgonDateUtils.safelyFormatDate(new Date(), ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); + Utils.retryingFindAndDoAction(By.id("biologicalMonitoringEndDate"), Utils.ACTION_SENDKEYS, ForgonDateUtils.safelyFormatDate(new Date(), ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); + Utils.retryingFindAndDoAction(By.id("monitorUserBarcode"), Utils.ACTION_SENDKEYS, cssduser1Barcode + "\n"); + Utils.retryingFindAndDoAction(By.id("monitorCheckerBarcode"), Utils.ACTION_SENDKEYS, cssduser1Barcode + "\n"); + Utils.retryingFindAndDoAction(By.id("monitorBtn"), Utils.ACTION_CLICK); + } catch (Exception e) { + e.printStackTrace(); + AssertJUnit.fail(e.getMessage()); + } + } + + @Override + public void sterilizationSeriesOperationsOfSecondSupplyRoom(String barcodes) { + try { + Utils.driver.switchTo().defaultContent(); + Utils.retryingFindAndDoAction(By.xpath("//span[contains(text(), '个人桌面')]"), Utils.ACTION_CLICK); + Actions moveover = new Actions(Utils.driver); + moveover.moveToElement(Utils.retryingFind(By.id("sterilizationRecord"))).perform(); + Utils.retryingFindAndDoAction(By.linkText(Utils.settings.getJSONObject("灭菌炉分组").getString("低温等离子")), Utils.ACTION_CLICK); + + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id("addBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().defaultContent(); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + + JSONObject sterilizerObj = Utils.settings.getJSONObject("6号高温蒸汽灭菌炉"); + String sterilizerName = sterilizerObj.getString("名称"); + String sterilizerBarcode = sterilizerObj.getString("条码"); + String sterilizationProcedureBarcode = ((JSONObject)sterilizerObj.getJSONArray("灭菌程序").get(0)).getString("条码"); + String oruser1Barcode = Utils.settings.getJSONObject("二级供应室用户").getString("条码"); + //扫描灭菌炉条码=》灭菌程序条码=》用户条码=》灭菌目的选择“器械包灭菌”=》篮筐或者器械包条码 + Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, sterilizerBarcode + "\n"); + Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, sterilizationProcedureBarcode + "\n"); +// Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, oruser1Barcode + "\n"); //中大附一,灭菌员是自动填的 + Utils.retryingFindAndDoAction(By.id("sterilizationPurpose"), Utils.ACTION_SENDKEYS, Keys.DOWN); + Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '器械包灭菌')]"), Utils.ACTION_CLICK); + String tempBarcode = ""; + if (StringTools.isNotBlank(barcodes)) { + String[] barcodesArr = barcodes.split(";"); + tempBarcode = barcodesArr[0]; + for (String barcode : barcodesArr) { + Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, barcode + "\n"); + } + } + + //保存灭菌记录 + Utils.retryingFindAndDoAction(By.id("saveBtn"), Utils.ACTION_CLICK); + SterilizationHelper.炉次_6号高温蒸汽灭菌炉 ++; + + //灭菌中断 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("sterilizationInterruptBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌中断后添加质量监测 + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("formName"), Utils.ACTION_SENDKEYS, Keys.DOWN); + Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '无')]"), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); + + //继续灭菌 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉 + "-interruptionHandle"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("continueBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌失败 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("sterilizationFailureBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌失败后添加质量监测 +// Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); +// Utils.retryingFindAndDoAction(By.id("formName"), Utils.ACTION_SENDKEYS, Keys.DOWN); +// Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '无')]"), Utils.ACTION_CLICK); +// Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("formName"), Utils.ACTION_SENDKEYS, Keys.DOWN); + Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '灭菌失败事件')]"), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("tempBarcode"), Utils.ACTION_SENDKEYS, tempBarcode + "\n"); + Utils.retryingFindAndDoAction(By.id("repacking"), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); + + //重新灭菌 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉 + "-failureHandle"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '重新灭菌')]"), Utils.ACTION_CLICK); //他的id是saveBtn + SterilizationHelper.炉次_6号高温蒸汽灭菌炉 ++; + + //完成灭菌 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("completeSterilizationBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌卸载 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("confirmBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("completeUserBarcode1"), Utils.ACTION_SENDKEYS, oruser1Barcode + "\n"); + Utils.retryingFindAndDoAction(By.id("saveBtn"), Utils.ACTION_CLICK); + + //登记灭菌监测 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Wait wait = new FluentWait(Utils.driver) + .withTimeout(5000, TimeUnit.MILLISECONDS) + .pollingEvery(250, TimeUnit.MILLISECONDS) + .ignoring(NoSuchElementException.class) + .ignoring(StaleElementReferenceException.class); + + //等待表单提交成功 + wait.until(ExpectedConditions.attributeToBe(Utils.driver.findElement(By + .id("completeSterilizationRecordForm1Submit")), "value", "1")); + + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("modifyBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + + String physicsResult = "var physicsResult = Ext.getCmp('physicsResult');"; + Utils.waitPageLoaded(physicsResult + "return physicsResult ? false : true;"); + Utils.runJavaScript(physicsResult + "physicsResult.setValue('合格');"); + + String chemistryResult = "var chemistryResult = Ext.getCmp('chemistryResult');"; + Utils.waitPageLoaded(chemistryResult + "return chemistryResult ? false : true;"); + Utils.runJavaScript(chemistryResult + "chemistryResult.setValue('不合格');"); + + String biologyResult = "var biologyResult = Ext.getCmp('biologyResult');"; + Utils.waitPageLoaded(biologyResult + "return biologyResult ? false : true"); + Utils.runJavaScript(biologyResult + "biologyResult.setValue('不合格');"); + + Utils.retryingFindAndDoAction(By.id("biologicalMonitoringStartDate"), Utils.ACTION_SENDKEYS, ForgonDateUtils.safelyFormatDate(new Date(), ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); + Utils.retryingFindAndDoAction(By.id("biologicalMonitoringEndDate"), Utils.ACTION_SENDKEYS, ForgonDateUtils.safelyFormatDate(new Date(), ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); + Utils.retryingFindAndDoAction(By.id("monitorUserBarcode"), Utils.ACTION_SENDKEYS, oruser1Barcode + "\n"); + Utils.retryingFindAndDoAction(By.id("monitorCheckerBarcode"), Utils.ACTION_SENDKEYS, oruser1Barcode + "\n"); + Utils.retryingFindAndDoAction(By.id("monitorBtn"), Utils.ACTION_CLICK); + } catch (Exception e) { + e.printStackTrace(); + AssertJUnit.fail(e.getMessage()); + } + } + +} Index: ssts-selenium-test/src/test/java/test_4_1/sterilization/service/Sterilization.java =================================================================== diff -u -r17880 -r17932 --- ssts-selenium-test/src/test/java/test_4_1/sterilization/service/Sterilization.java (.../Sterilization.java) (revision 17880) +++ ssts-selenium-test/src/test/java/test_4_1/sterilization/service/Sterilization.java (.../Sterilization.java) (revision 17932) @@ -31,4 +31,34 @@ * 完成灭菌操作 */ public void completeSterilization(); + + /** + * 一级供应室灭菌相关的一连串操作,依次包括了以下几个操作:
+ *
    + *
  • 创建灭菌记录 + *
  • 灭菌中断 + *
  • 灭菌中断后添加质量监测 + *
  • 灭菌失败 + *
  • 灭菌失败后添加质量监测 + *
  • 重新灭菌 + *
  • 完成灭菌 + *
+ * @param barcodes 需要灭菌器械包或者审核篮筐条码的集合(期间用分号分隔) + */ + public void sterilizationSeriesOperationsOfFristSupplyRoom(String barcodes); + + /** + * 二级供应室灭菌相关的一连串操作,依次包括了以下几个操作:
+ *
    + *
  • 创建灭菌记录 + *
  • 灭菌中断 + *
  • 灭菌中断后添加质量监测 + *
  • 灭菌失败 + *
  • 灭菌失败后添加质量监测 + *
  • 重新灭菌 + *
  • 完成灭菌 + *
+ * @param barcodes 需要灭菌器械包或者审核篮筐条码的集合(期间用分号分隔) + */ + public void sterilizationSeriesOperationsOfSecondSupplyRoom(String barcodes); } Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordView.js =================================================================== diff -u -r17811 -r17932 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordView.js (.../sterilizationRecordView.js) (revision 17811) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordView.js (.../sterilizationRecordView.js) (revision 17932) @@ -589,21 +589,28 @@ //重新灭菌 function actionFun(v, p, record){ var packageSterilizationCount = record.data['packageSterilizationCount']; + var sterilizerName = record.data['sterilizer.name']; + var frequency = record.data['frequency']; + var tempId = sterilizerName + '-' + frequency; //给一个id,方便自动化测试的定位 if(v == '灭菌失败' && packageSterilizationCount <=1){ - var str = ""; return str; } if(v == '灭菌中断' && packageSterilizationCount <=1){ - var str = ""; return str; } return; } - function renderColor(v, p, record){ var status = record.data['status']; + var sterilizerName = record.data['sterilizer.name']; + var frequency = record.data['frequency']; + var statusId = sterilizerName + '-' + frequency; //给一个id,方便自动化测试的定位 var color = ""; if(statusBegin == status){//待灭菌中 黄色 color = "yellow"; @@ -612,7 +619,7 @@ }else if(statusInterrupt == status){ color = "#FFCC80"; } - return "

" + v + "

"; + return "

" + v + "

"; } function openSterilizerRecord(id){ @@ -725,30 +732,34 @@ text : '添加', hidden : SSTS_Sterilization_Create, iconCls : 'btn_ext_application_add', + id : 'addBtn', handler : function() { addAndEditSterilizationRecord(0,'',false); } }, '-', { text : '修改', hidden : SSTS_Sterilization_Update, iconCls : 'btn_ext_application_edit', - id : 'editTbar', +// id : 'editTbar', + id : 'modifyBtn', handler : function() { loadFormData(grid); } }, '-', { text : '完成灭菌', hidden : SSTS_Sterilization_Update, iconCls : 'btn_ext_application_save', - id : 'editTbar', +// id : 'editTbar', + id : 'completeSterilizationBtn', handler : function() { sterilizationComplete(grid,statusEnd); } }, '-', { text : '灭菌中断', hidden : SSTS_Sterilization_Update, iconCls : 'btn_ext_application_error', - id : 'failureTbar', +// id : 'failureTbar', + id : 'sterilizationInterruptBtn', handler : function() { sterilizerStatus = statusInterrupt; sterilizationInterrupt(grid,statusInterrupt); @@ -757,7 +768,8 @@ text : '灭菌失败', hidden : SSTS_Sterilization_Update, iconCls : 'btn_ext_application_error', - id : 'failureTbar', +// id : 'failureTbar', + id : 'sterilizationFailureBtn', handler : function() { sterilizerStatus = statusFailure; sterilizationFailure(grid,statusFailure); @@ -766,7 +778,8 @@ text : confirmBtn, hidden : !((sstsConfig.hasOwnProperty('sterilizationRecordFinishConfirm')) && sstsConfig.sterilizationRecordFinishConfirm), iconCls : 'btn_ext_application_error', - id : 'confirmTbar', +// id : 'confirmTbar', + id : 'confirmBtn', handler : function() { sterilizationConfirm(grid); } @@ -775,6 +788,7 @@ text : '删除', hidden : SSTS_Sterilization_Delete, iconCls : 'btn_ext_application_del', + id : 'deleteBtn', handler : function() { deleteSterilizationRecord(grid); } @@ -798,7 +812,7 @@ handler : function() { grid.getStore().reload(); } - }]; + },{id:'completeSterilizationRecordForm1Submit',xtype:'hidden',value:'0'}]; }else{ tbar = [{ text : '删除', Index: ssts-selenium-test/src/test/java/test_4_1/sterilization/service/impl/OtherSterilization.java =================================================================== diff -u --- ssts-selenium-test/src/test/java/test_4_1/sterilization/service/impl/OtherSterilization.java (revision 0) +++ ssts-selenium-test/src/test/java/test_4_1/sterilization/service/impl/OtherSterilization.java (revision 17932) @@ -0,0 +1,43 @@ +package test_4_1.sterilization.service.impl; + +import test_4_1.sterilization.service.Sterilization; + +public class OtherSterilization implements Sterilization { + + @Override + public void createSterilizationRecord() { + // TODO Auto-generated method stub + + } + + @Override + public void sterilizationInterrupt() { + // TODO Auto-generated method stub + + } + + @Override + public void sterilizationFailure() { + // TODO Auto-generated method stub + + } + + @Override + public void completeSterilization() { + // TODO Auto-generated method stub + + } + + @Override + public void sterilizationSeriesOperationsOfFristSupplyRoom(String barcodes) { + // TODO Auto-generated method stub + + } + + @Override + public void sterilizationSeriesOperationsOfSecondSupplyRoom(String barcodes) { + // TODO Auto-generated method stub + + } + +} Index: ssts-selenium-test/src/test/java/test_4_1/sterilization/helper/SterilizationHelper.java =================================================================== diff -u -r17877 -r17932 --- ssts-selenium-test/src/test/java/test_4_1/sterilization/helper/SterilizationHelper.java (.../SterilizationHelper.java) (revision 17877) +++ ssts-selenium-test/src/test/java/test_4_1/sterilization/helper/SterilizationHelper.java (.../SterilizationHelper.java) (revision 17932) @@ -6,7 +6,13 @@ * */ public final class SterilizationHelper { - + /** + * 1号高温蒸汽灭菌炉的炉次 + */ + public static int 炉次_1号高温蒸汽灭菌炉 = 0; + /** + * 6号高温蒸汽灭菌炉的炉次 + */ + public static int 炉次_6号高温蒸汽灭菌炉 = 0; - } Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js =================================================================== diff -u -r17907 -r17932 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 17907) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 17932) @@ -268,6 +268,9 @@ noChild = false; if(pNode.attributes.type == '篮筐') { //此节点是篮筐 basketAmount ++; + if (!pNode.isExpanded()) { //如果没展开,需要手动展开,不然会导致里面的子节点没有加载 + pNode.expand(); + } pNode.eachChild(function(pNode){ toussBarcodes += pNode.attributes.barcode + ';'; }); @@ -1690,7 +1693,7 @@ //sterilizationColumnTree.expand(); sterilizationColumnTree.on("beforeclick",function(clickNode,eObj){ - if(isClickDel){ + if(isClickDel){ //点击删除图标 setIsClickDel(0); clickNode.expand(); deleteGiveBackColumnTreeItem(clickNode); Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordCompleteForm.js =================================================================== diff -u -r17192 -r17932 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordCompleteForm.js (.../sterilizationRecordCompleteForm.js) (revision 17192) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordCompleteForm.js (.../sterilizationRecordCompleteForm.js) (revision 17932) @@ -323,9 +323,11 @@ var result = Ext.decode(response.responseText); showResult(result.message); grid.dwrReload(); + Ext.getCmp('completeSterilizationRecordForm1Submit').setValue('1'); //灭菌确认或者灭菌卸载的完成后把“completeSterilizationRecordForm1Submit”隐藏域设值为1 }, failure : function(response, options) { var result = Ext.decode(response.responseText); + Ext.getCmp('completeSterilizationRecordForm1Submit').setValue('-1'); if(result && result.message){ showResult(result.message); } Index: ssts-selenium-test/src/test/java/test_4_1/sterilization/service/impl/ZsyySterilization.java =================================================================== diff -u --- ssts-selenium-test/src/test/java/test_4_1/sterilization/service/impl/ZsyySterilization.java (revision 0) +++ ssts-selenium-test/src/test/java/test_4_1/sterilization/service/impl/ZsyySterilization.java (revision 17932) @@ -0,0 +1,331 @@ +package test_4_1.sterilization.service.impl; + +import java.util.Date; +import java.util.NoSuchElementException; +import java.util.concurrent.TimeUnit; + +import net.sf.json.JSONObject; + +import org.openqa.selenium.By; +import org.openqa.selenium.Keys; +import org.openqa.selenium.StaleElementReferenceException; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.interactions.Actions; +import org.openqa.selenium.support.ui.ExpectedConditions; +import org.openqa.selenium.support.ui.FluentWait; +import org.openqa.selenium.support.ui.Wait; +import org.testng.AssertJUnit; + +import com.forgon.tools.string.StringTools; +import com.forgon.tools.util.ForgonDateUtils; + +import test_4_1.sterilization.helper.SterilizationHelper; +import test_4_1.sterilization.service.Sterilization; +import test_4_1.tools.Utils; + +public class ZsyySterilization implements Sterilization { + + @Override + public void createSterilizationRecord() { + // TODO Auto-generated method stub + + } + + @Override + public void sterilizationInterrupt() { + // TODO Auto-generated method stub + + } + + @Override + public void sterilizationFailure() { + // TODO Auto-generated method stub + + } + + @Override + public void completeSterilization() { + // TODO Auto-generated method stub + + } + + @Override + public void sterilizationSeriesOperationsOfFristSupplyRoom(String barcodes) { + try { + Utils.driver.switchTo().defaultContent(); + Utils.retryingFindAndDoAction(By.xpath("//span[contains(text(), '个人桌面')]"), Utils.ACTION_CLICK); + Actions moveover = new Actions(Utils.driver); + moveover.moveToElement(Utils.retryingFind(By.id("sterilizationRecord"))).perform(); + Utils.retryingFindAndDoAction(By.linkText(Utils.settings.getJSONObject("灭菌炉分组").getString("大型压力蒸汽")), Utils.ACTION_CLICK); + + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id("addBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().defaultContent(); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + + JSONObject sterilizerObj = Utils.settings.getJSONObject("1号高温蒸汽灭菌炉"); + String sterilizerName = sterilizerObj.getString("名称"); + String sterilizerBarcode = sterilizerObj.getString("条码"); + String sterilizationProcedureBarcode = ((JSONObject)sterilizerObj.getJSONArray("灭菌程序").get(0)).getString("条码"); + String cssduser1Barcode = Utils.settings.getJSONObject("一级供应室用户").getString("条码"); + //扫描灭菌炉条码=》灭菌程序条码=》用户条码=》灭菌目的选择“器械包灭菌”=》篮筐或者器械包条码 + Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, sterilizerBarcode + "\n"); + Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, sterilizationProcedureBarcode + "\n"); +// Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, cssduser1Barcode + "\n"); //中大附一,灭菌员是自动填的 + Utils.retryingFindAndDoAction(By.id("sterilizationPurpose"), Utils.ACTION_SENDKEYS, Keys.DOWN); + Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '器械包灭菌')]"), Utils.ACTION_CLICK); + String tempBarcode = ""; + if (StringTools.isNotBlank(barcodes)) { + String[] barcodesArr = barcodes.split(";"); + tempBarcode = barcodesArr[0]; + for (String barcode : barcodesArr) { + Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, barcode + "\n"); + } + } //扫描单个条码的 +// Utils.retryingFindAndDoAction(By.id("btnBatchAddTousse"), Utils.ACTION_CLICK); //一键入炉 + + //保存灭菌记录 + Utils.retryingFindAndDoAction(By.id("saveBtn"), Utils.ACTION_CLICK); + SterilizationHelper.炉次_1号高温蒸汽灭菌炉 ++; + + //灭菌中断 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_1号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("sterilizationInterruptBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌中断后添加质量监测 + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("formName"), Utils.ACTION_SENDKEYS, Keys.DOWN); + Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '无')]"), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); + + //继续灭菌 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_1号高温蒸汽灭菌炉 + "-interruptionHandle"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("continueBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌失败 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_1号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("sterilizationFailureBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌失败后添加质量监测 +// Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); +// Utils.retryingFindAndDoAction(By.id("formName"), Utils.ACTION_SENDKEYS, Keys.DOWN); +// Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '无')]"), Utils.ACTION_CLICK); +// Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("formName"), Utils.ACTION_SENDKEYS, Keys.DOWN); + Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '灭菌失败事件')]"), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("tempBarcode"), Utils.ACTION_SENDKEYS, tempBarcode + "\n"); + Utils.retryingFindAndDoAction(By.id("repacking"), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); + + //重新灭菌 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_1号高温蒸汽灭菌炉 + "-failureHandle"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '重新灭菌')]"), Utils.ACTION_CLICK); //他的id是saveBtn + SterilizationHelper.炉次_1号高温蒸汽灭菌炉 ++; + + //完成灭菌 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_1号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("completeSterilizationBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌卸载 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_1号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("confirmBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("completeUserBarcode1"), Utils.ACTION_SENDKEYS, cssduser1Barcode + "\n"); + Utils.retryingFindAndDoAction(By.id("saveBtn"), Utils.ACTION_CLICK); + + //登记灭菌监测 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Wait wait = new FluentWait(Utils.driver) + .withTimeout(5000, TimeUnit.MILLISECONDS) + .pollingEvery(250, TimeUnit.MILLISECONDS) + .ignoring(NoSuchElementException.class) + .ignoring(StaleElementReferenceException.class); + + //等待表单提交成功 + wait.until(ExpectedConditions.attributeToBe(Utils.driver.findElement(By + .id("completeSterilizationRecordForm1Submit")), "value", "1")); + + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_1号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("modifyBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + + String physicsResult = "var physicsResult = Ext.getCmp('physicsResult');"; + Utils.waitPageLoaded(physicsResult + "return physicsResult ? false : true;"); + Utils.runJavaScript(physicsResult + "physicsResult.setValue('合格');"); + + String chemistryResult = "var chemistryResult = Ext.getCmp('chemistryResult');"; + Utils.waitPageLoaded(chemistryResult + "return chemistryResult ? false : true;"); + Utils.runJavaScript(chemistryResult + "chemistryResult.setValue('不合格');"); + + String biologyResult = "var biologyResult = Ext.getCmp('biologyResult');"; + Utils.waitPageLoaded(biologyResult + "return biologyResult ? false : true"); + Utils.runJavaScript(biologyResult + "biologyResult.setValue('不合格');"); + + Utils.retryingFindAndDoAction(By.id("biologicalMonitoringStartDate"), Utils.ACTION_SENDKEYS, ForgonDateUtils.safelyFormatDate(new Date(), ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); + Utils.retryingFindAndDoAction(By.id("biologicalMonitoringEndDate"), Utils.ACTION_SENDKEYS, ForgonDateUtils.safelyFormatDate(new Date(), ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); + Utils.retryingFindAndDoAction(By.id("monitorUserBarcode"), Utils.ACTION_SENDKEYS, cssduser1Barcode + "\n"); + Utils.retryingFindAndDoAction(By.id("monitorCheckerBarcode"), Utils.ACTION_SENDKEYS, cssduser1Barcode + "\n"); + Utils.retryingFindAndDoAction(By.id("monitorBtn"), Utils.ACTION_CLICK); + } catch (Exception e) { + e.printStackTrace(); + AssertJUnit.fail(e.getMessage()); + } + } + + @Override + public void sterilizationSeriesOperationsOfSecondSupplyRoom(String barcodes) { + try { + Utils.driver.switchTo().defaultContent(); + Utils.retryingFindAndDoAction(By.xpath("//span[contains(text(), '个人桌面')]"), Utils.ACTION_CLICK); + Actions moveover = new Actions(Utils.driver); + moveover.moveToElement(Utils.retryingFind(By.id("sterilizationRecord"))).perform(); + Utils.retryingFindAndDoAction(By.linkText(Utils.settings.getJSONObject("灭菌炉分组").getString("低温等离子")), Utils.ACTION_CLICK); + + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id("addBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().defaultContent(); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + + JSONObject sterilizerObj = Utils.settings.getJSONObject("6号高温蒸汽灭菌炉"); + String sterilizerName = sterilizerObj.getString("名称"); + String sterilizerBarcode = sterilizerObj.getString("条码"); + String sterilizationProcedureBarcode = ((JSONObject)sterilizerObj.getJSONArray("灭菌程序").get(0)).getString("条码"); + String oruser1Barcode = Utils.settings.getJSONObject("二级供应室用户").getString("条码"); + //扫描灭菌炉条码=》灭菌程序条码=》用户条码=》灭菌目的选择“器械包灭菌”=》篮筐或者器械包条码 + Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, sterilizerBarcode + "\n"); + Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, sterilizationProcedureBarcode + "\n"); +// Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, oruser1Barcode + "\n"); //中大附一,灭菌员是自动填的 + Utils.retryingFindAndDoAction(By.id("sterilizationPurpose"), Utils.ACTION_SENDKEYS, Keys.DOWN); + Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '器械包灭菌')]"), Utils.ACTION_CLICK); + String tempBarcode = ""; + if (StringTools.isNotBlank(barcodes)) { + String[] barcodesArr = barcodes.split(";"); + tempBarcode = barcodesArr[0]; + for (String barcode : barcodesArr) { + Utils.retryingFindAndDoAction(By.id("inputBarcode"), Utils.ACTION_SENDKEYS, barcode + "\n"); + } + } + + //保存灭菌记录 + Utils.retryingFindAndDoAction(By.id("saveBtn"), Utils.ACTION_CLICK); + SterilizationHelper.炉次_6号高温蒸汽灭菌炉 ++; + + //灭菌中断 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("sterilizationInterruptBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌中断后添加质量监测 + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("formName"), Utils.ACTION_SENDKEYS, Keys.DOWN); + Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '无')]"), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); + + //继续灭菌 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉 + "-interruptionHandle"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("continueBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌失败 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("sterilizationFailureBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌失败后添加质量监测 +// Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); +// Utils.retryingFindAndDoAction(By.id("formName"), Utils.ACTION_SENDKEYS, Keys.DOWN); +// Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '无')]"), Utils.ACTION_CLICK); +// Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("formName"), Utils.ACTION_SENDKEYS, Keys.DOWN); + Utils.retryingFindAndDoAction(By.xpath("//div[contains(text(), '灭菌失败事件')]"), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("tempBarcode"), Utils.ACTION_SENDKEYS, tempBarcode + "\n"); + Utils.retryingFindAndDoAction(By.id("repacking"), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '保存')]"), Utils.ACTION_CLICK); + + + //重新灭菌 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉 + "-failureHandle"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '重新灭菌')]"), Utils.ACTION_CLICK); //他的id是saveBtn + SterilizationHelper.炉次_6号高温蒸汽灭菌炉 ++; + + //完成灭菌 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("completeSterilizationBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.xpath("//button[contains(text(), '是')]"), Utils.ACTION_CLICK); + + //灭菌卸载 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("confirmBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + Utils.retryingFindAndDoAction(By.id("completeUserBarcode1"), Utils.ACTION_SENDKEYS, oruser1Barcode + "\n"); + Utils.retryingFindAndDoAction(By.id("saveBtn"), Utils.ACTION_CLICK); + + //登记灭菌监测 + Utils.retryingFindAndDoAction(By.id("iframe_sterilizationRecord"), Utils.ACTION_SWITCH_TO_FRAME); + Wait wait = new FluentWait(Utils.driver) + .withTimeout(5000, TimeUnit.MILLISECONDS) + .pollingEvery(250, TimeUnit.MILLISECONDS) + .ignoring(NoSuchElementException.class) + .ignoring(StaleElementReferenceException.class); + + //等待表单提交成功 + wait.until(ExpectedConditions.attributeToBe(Utils.driver.findElement(By + .id("completeSterilizationRecordForm1Submit")), "value", "1")); + + Utils.retryingFindAndDoAction(By.id(sterilizerName + "-" + SterilizationHelper.炉次_6号高温蒸汽灭菌炉), Utils.ACTION_CLICK); + Utils.retryingFindAndDoAction(By.id("modifyBtn"), Utils.ACTION_CLICK); + Utils.driver.switchTo().window(Utils.driver.getWindowHandle()); + + String physicsResult = "var physicsResult = Ext.getCmp('physicsResult');"; + Utils.waitPageLoaded(physicsResult + "return physicsResult ? false : true;"); + Utils.runJavaScript(physicsResult + "physicsResult.setValue('合格');"); + + String chemistryResult = "var chemistryResult = Ext.getCmp('chemistryResult');"; + Utils.waitPageLoaded(chemistryResult + "return chemistryResult ? false : true;"); + Utils.runJavaScript(chemistryResult + "chemistryResult.setValue('不合格');"); + + String biologyResult = "var biologyResult = Ext.getCmp('biologyResult');"; + Utils.waitPageLoaded(biologyResult + "return biologyResult ? false : true"); + Utils.runJavaScript(biologyResult + "biologyResult.setValue('不合格');"); + + Utils.retryingFindAndDoAction(By.id("biologicalMonitoringStartDate"), Utils.ACTION_SENDKEYS, ForgonDateUtils.safelyFormatDate(new Date(), ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); + Utils.retryingFindAndDoAction(By.id("biologicalMonitoringEndDate"), Utils.ACTION_SENDKEYS, ForgonDateUtils.safelyFormatDate(new Date(), ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); + Utils.retryingFindAndDoAction(By.id("monitorUserBarcode"), Utils.ACTION_SENDKEYS, oruser1Barcode + "\n"); + Utils.retryingFindAndDoAction(By.id("monitorCheckerBarcode"), Utils.ACTION_SENDKEYS, oruser1Barcode + "\n"); + Utils.retryingFindAndDoAction(By.id("monitorBtn"), Utils.ACTION_CLICK); + } catch (Exception e) { + e.printStackTrace(); + AssertJUnit.fail(e.getMessage()); + } + } + +} Fisheye: Tag 17932 refers to a dead (removed) revision in file `ssts-selenium-test/src/test/java/test_4_1/sterilization/service/impl/SterilizationImpl.java'. Fisheye: No comparison available. Pass `N' to diff?