Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/sterile/SterileHandle.java =================================================================== diff -u -r33992 -r34288 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/sterile/SterileHandle.java (.../SterileHandle.java) (revision 33992) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/sterile/SterileHandle.java (.../SterileHandle.java) (revision 34288) @@ -112,6 +112,7 @@ */ public void switch_to_sterilization_frame(){ Utils.driver.switchTo().frame(sterilePage.get_sterilization_frame()); + Utils.driver.switchTo().activeElement(); } /** @@ -121,7 +122,78 @@ sterilePage.get_confirm_complete_btn().click(); } + /** + * 点击保存_二次确认“是”按钮 + */ + public void click_confirm_yes_btn(){ + sterilePage.get_confirm_yes_btn().click(); + } + + + /** + * 勾选第一个复选框 + */ + public void first_select(){ + sterilePage.get_first_select().click(); + } + + + /** + * 点击灭菌中断按钮 + */ + public void click_interrupt_btn(){ + sterilePage.get_interrupt_btn().click(); + } + + + /** + * 扫描责任人条码 + * @param barcode + */ + public void scan_responsible_person_barcode(String barcode){ + input_text(sterilePage.get_input_responsible_person_barcode(), barcode+"\n"); + } + + + /** + * 勾选"是否整炉"复选框 + */ + public void all_tousse_of_sterile_select(){ + sterilePage.get_all_tousse_of_sterile_select().click(); + } + + + /** + * 点击重新灭菌 + */ + public void click_interruption_handle_btn(){ + sterilePage.get_interruption_handle_btn().click(); + } + + /** + * 点击重新灭菌-完成灭菌按钮钮 + */ + public void click_interruption_confirm_complet_btn(){ + sterilePage.get_interruption_confirm_complet_btn().click(); + } + + /** + * 点击灭菌失败按钮 + */ + public void click_failure_btn(){ + sterilePage.get_failure_btn().click(); + } + + /** + * 点击灭菌失败-重新灭菌按钮 + */ + public void click_reSterilization_btn(){ + sterilePage.get_reSterilization_btn().click(); + } + + + /** * 获取提示信息 * @return */ Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/sterile/SterilePage.java =================================================================== diff -u -r33862 -r34288 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/sterile/SterilePage.java (.../SterilePage.java) (revision 33862) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/sterile/SterilePage.java (.../SterilePage.java) (revision 34288) @@ -22,7 +22,20 @@ private By completeSterilizationBtn = By.id("completeSterilizationBtn");//完成灭菌按钮 private By confirmCompleteBtn = By.xpath("//button[text()='是']");//确认完成灭菌按钮 private By extTip = By.cssSelector(".extTipMsg");//页面提示信息 + private By yes = By.xpath("//button[text()='是']");//二次确认“是”按钮 + private By firstSelect = By.cssSelector("div.x-grid3-row-checker:first-child"); // 第一个复选框 + private By interrupt = By.id("sterilizationInterruptBtn"); // 灭菌中断按钮 + private By failure = By.id("sterilizationFailureBtn"); //灭菌失败按钮 + + private By inputResponsiblePersonBarcode = By.id("responsiblePersonBarcode");//扫描责任人条码框 + private By allTousseOfSterile = By.id("allTousseOfSterile"); //勾选是否整炉 + + private By interruptionHandle = By.cssSelector("div.x-grid3-cell-inner.x-grid3-col-action:first-child>img");//重新灭菌按钮 + private By interruptionConfirmCompleteBtn = By.xpath("//button[text()='完成灭菌']");//重新灭菌-完成灭菌按钮 + + private By reSterilizationBtn = By.xpath("//button[text()='重新灭菌']");//灭菌失败-重新灭菌按钮 + /** * 获取添加按钮 * @return @@ -90,6 +103,8 @@ * @return */ public WebElement get_input_barcode(){ + //等待灭菌炉加载完毕。 + get_element_until_clickable(this.sterilizerName); return get_element_until_clickable(this.inputBarcode); } @@ -143,7 +158,88 @@ return get_element_until_clickable(confirmCompleteBtn); } + /** + * 获取二次确认“是”按钮 + * @return + */ + public WebElement get_confirm_yes_btn(){ + return get_element_until_clickable(this.yes); + } + + + /** + * 获取第一个复选框 + * @return + */ + public WebElement get_first_select(){ + return get_element_until_clickable(this.firstSelect); + } + + + + /** + * 获取灭菌中断按钮 + * @return + */ + public WebElement get_interrupt_btn(){ + return get_element_until_clickable(this.interrupt); + } + + + /** + * 获取扫描责任人条码框 + * @return + */ + public WebElement get_input_responsible_person_barcode(){ + return get_element_until_clickable(this.inputResponsiblePersonBarcode); + } + + + /** + * 获取"是否整炉"复选框 + * @return + */ + public WebElement get_all_tousse_of_sterile_select(){ + return get_element_until_clickable(this.allTousseOfSterile); + } + + + /** + * 获取重新灭菌按钮 + * @return + */ + public WebElement get_interruption_handle_btn(){ + return get_element_until_clickable(this.interruptionHandle); + } + + + /** + * 获取重新灭菌-完成灭菌按钮 + * @return + */ + public WebElement get_interruption_confirm_complet_btn(){ + return get_element_until_clickable(this.interruptionConfirmCompleteBtn); + } + + /** + * 获取灭菌失败-重新灭菌按钮 + * @return + */ + public WebElement get_reSterilization_btn(){ + return get_element_until_clickable(this.reSterilizationBtn); + } + + + /** + * 获取灭菌失败按钮 + * @return + */ + public WebElement get_failure_btn(){ + return get_element_until_clickable(this.failure); + } + + /** * 获取提示信息框 * @return */ Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/testscript/TestSterilize.java =================================================================== diff -u -r34281 -r34288 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/testscript/TestSterilize.java (.../TestSterilize.java) (revision 34281) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/testscript/TestSterilize.java (.../TestSterilize.java) (revision 34288) @@ -83,9 +83,78 @@ //灭菌 personalDesktopProxy.go_sterilization(sterilizationGroup); String result = sterileProxy.sterilize_by_scan_barcodes(sterilizerBarcode, sterilizationProgramBarcode, sterilizationPurpose, barcodes); + logger.debug("提示框:"+result); Assert.assertTrue(result.contains(expect)); } + + @Story("灭菌中断后继续灭菌完成") + @Test + public void test_disinfect_by_scan_barcodes_interrupt(){ + JSONObject operator = normalSterilizeJsonObj.getJSONObject("operator");//操作人 + String sterilizationGroup = normalSterilizeJsonObj.getString("sterilization_group");//灭菌炉分组 + String sterilizerBarcode = normalSterilizeJsonObj.getJSONObject("sterilizer").getString("barcode");//灭菌炉条码 + String sterilizationProgramBarcode = normalSterilizeJsonObj.getJSONObject("sterilization_program").getString("barcode");//灭菌程序条码 + String sterilizationPurpose = normalSterilizeJsonObj.getString("sterilization_purpose");//灭菌目的 + JSONArray barcodes = normalSterilizeJsonObj.getJSONArray("barcodes_3");//待灭菌物品条码 + String expect = normalSterilizeJsonObj.getString("expect");//预期结果 + String responsiblePerson = normalSterilizeJsonObj.getJSONObject("responsibleperson").getString("barcode"); + + //登录 + loginProxy.go_login_by_btn(operator.getString("username"), operator.getString("password")); + + //灭菌 + personalDesktopProxy.go_sterilization(sterilizationGroup); + String result = sterileProxy.sterilize_by_scan_barcodes_interrupt(sterilizerBarcode, sterilizationProgramBarcode, sterilizationPurpose, barcodes,responsiblePerson); + logger.debug("提示框:"+result); + Assert.assertTrue(result.contains(expect)); + } + + + @Story("灭菌失败后重新灭菌并灭菌完成") + @Test + public void test_disinfect_by_scan_barcodes_failure(){ + JSONObject operator = normalSterilizeJsonObj.getJSONObject("operator");//操作人 + String sterilizationGroup = normalSterilizeJsonObj.getString("sterilization_group");//灭菌炉分组 + String sterilizerBarcode = normalSterilizeJsonObj.getJSONObject("sterilizer").getString("barcode");//灭菌炉条码 + String sterilizerName = normalSterilizeJsonObj.getJSONObject("sterilizer").getString("name");//灭菌炉名称 + String sterilizationProgramBarcode = normalSterilizeJsonObj.getJSONObject("sterilization_program").getString("barcode");//灭菌程序条码 + String sterilizationPurpose = normalSterilizeJsonObj.getString("sterilization_purpose");//灭菌目的 + JSONArray barcodes = normalSterilizeJsonObj.getJSONArray("barcodes_4");//待灭菌物品条码 + String expect = normalSterilizeJsonObj.getString("expect");//预期结果 + String responsiblePerson = normalSterilizeJsonObj.getJSONObject("responsibleperson").getString("barcode"); + + //登录 + loginProxy.go_login_by_btn(operator.getString("username"), operator.getString("password")); + + //灭菌 + personalDesktopProxy.go_sterilization(sterilizationGroup); + String result = sterileProxy.sterilize_by_scan_barcodes_failure(sterilizerBarcode, sterilizationProgramBarcode, sterilizerName, sterilizationPurpose, barcodes,responsiblePerson); + logger.debug("提示框:"+result); + Assert.assertTrue(result.contains(expect)); + } + + @Story("添加一条空的灭菌记录并完成灭菌") + @Test + public void test_sterilize_add_empty_record(){ + JSONObject operator = normalSterilizeJsonObj.getJSONObject("operator");//操作人 + String sterilizationGroup = normalSterilizeJsonObj.getString("sterilization_group");//灭菌炉分组 + String sterilizerBarcode = normalSterilizeJsonObj.getJSONObject("sterilizer").getString("barcode");//灭菌炉条码 + String sterilizationProgramBarcode = normalSterilizeJsonObj.getJSONObject("sterilization_program").getString("barcode");//灭菌程序条码 + String sterilizationPurpose = normalSterilizeJsonObj.getString("sterilization_purpose");//灭菌目的 + String expect1 = normalSterilizeJsonObj.getString("expect1");//预期结果 + + + //登录 + loginProxy.go_login_by_btn(operator.getString("username"), operator.getString("password")); + + //灭菌 + personalDesktopProxy.go_sterilization(sterilizationGroup); + String result = sterileProxy.sterilize_add_empty_record(sterilizerBarcode, sterilizationProgramBarcode, sterilizationPurpose); + logger.debug("提示框:"+result); + Assert.assertTrue(result.contains(expect1)); + } + @After public void tearDown() throws FileNotFoundException, WebDriverException, InterruptedException{ //用例跑完后,添加截图到测试报告 Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/sterile/SterileProxy.java =================================================================== diff -u -r34011 -r34288 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/sterile/SterileProxy.java (.../SterileProxy.java) (revision 34011) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/sterile/SterileProxy.java (.../SterileProxy.java) (revision 34288) @@ -14,17 +14,19 @@ //引入灭菌管理页面操作层 private SterileHandle sterileHandle = new SterileHandle(); + + /** - * 通过点击选项来添加一条灭菌记录并完成灭菌 + * 通过点击选项来添加一条灭菌中的灭菌记录 * @param sterilizerName * @param sterilizationProgram * @param sterilizationPurpose * @param operator * @param barcodes * @return */ - @Step("通过点击选项来添加一条灭菌记录并完成灭菌") - public String sterilize_by_select_options(String sterilizerName,String sterilizationProgram,String sterilizationPurpose,JSONArray barcodes){ + @Step("通过点击选项来添加一条灭菌中的灭菌记录") + public String sterilize_by_select_options_sterilzing(String sterilizerName,String sterilizationProgram,String sterilizationPurpose,JSONArray barcodes){ try { sterileHandle.click_add_btn(); Utils.driver.switchTo().defaultContent(); @@ -43,6 +45,28 @@ //等待物品载入成功 Thread.sleep(1000); sterileHandle.click_save_btn(); + + } catch (Exception e) { + e.printStackTrace(); + } + return sterileHandle.get_ext_tip_msg(); + } + /** + * 通过点击选项来添加一条灭菌记录并完成灭菌 + * @param sterilizerName + * @param sterilizationProgram + * @param sterilizationPurpose + * @param operator + * @param barcodes + * @return + */ + @Step("通过点击选项来添加一条灭菌记录并完成灭菌") + public String sterilize_by_select_options(String sterilizerName,String sterilizationProgram,String sterilizationPurpose,JSONArray barcodes){ + try { + //调用“通过点击选项来添加一条灭菌中的灭菌记录”方法 + sterilize_by_select_options_sterilzing(sterilizerName, sterilizationProgram, sterilizationPurpose, barcodes); + + //完成灭菌 sterileHandle.switch_to_sterilization_frame(); sterileHandle.click_sterilizing_record(); sterileHandle.click_complete_sterilization_btn(); @@ -55,20 +79,21 @@ } /** - * 通过扫描来添加一条灭菌记录并完成灭菌 + * 通过扫码来添加一条灭菌中的灭菌记录 * @param sterilizerBarcode * @param sterilizationProgram * @param sterilizationPurpose - * @param operator * @param barcodes * @return */ - @Step("通过扫描来添加一条灭菌记录并完成灭菌") - public String sterilize_by_scan_barcodes(String sterilizerBarcode,String sterilizationProgram,String sterilizationPurpose, JSONArray barcodes){ + @Step("通过扫码来添加一条灭菌中的灭菌记录") + public String sterilize_by_scan_barcodes_sterilzing(String sterilizerBarcode,String sterilizationProgram,String sterilizationPurpose, JSONArray barcodes){ try { sterileHandle.click_add_btn(); Utils.driver.switchTo().defaultContent(); sterileHandle.scan_barcode(sterilizerBarcode); + //等待加载灭菌炉 + Thread.sleep(1000); sterileHandle.scan_barcode(sterilizationProgram); sterileHandle.click_sterilization_purpose(); sterileHandle.click_sterilization_purpose_option(sterilizationPurpose); @@ -81,6 +106,31 @@ //等待物品载入成功 Thread.sleep(1000); sterileHandle.click_save_btn(); + + } catch (Exception e) { + e.printStackTrace(); + } + return sterileHandle.get_ext_tip_msg(); + } + + /** + * 通过扫描来添加一条灭菌记录并完成灭菌 + * @param sterilizerBarcode + * @param sterilizationProgram + * @param sterilizationPurpose + * @param operator + * @param barcodes + * @return + */ + @Step("通过扫描来添加一条灭菌记录并完成灭菌") + public String sterilize_by_scan_barcodes(String sterilizerBarcode,String sterilizationProgram,String sterilizationPurpose, JSONArray barcodes){ + try { + + //调用“通过扫码来添加一条灭菌中的灭菌记录”方法 + sterilize_by_scan_barcodes_sterilzing(sterilizerBarcode, sterilizationProgram, sterilizationPurpose, barcodes); + + + //完成灭菌 sterileHandle.switch_to_sterilization_frame(); sterileHandle.click_sterilizing_record(); sterileHandle.click_complete_sterilization_btn(); @@ -91,4 +141,159 @@ } return sterileHandle.get_ext_tip_msg(); } + + + /** + * 灭菌中断后继续灭菌完成 + * @param sterilizerBarcode + * @param sterilizationProgramBarcode + * @param sterilizationPurpose + * @param operator + * @param barcodes + * @param responsibleperson + * @return + */ + @Step("灭菌中断后继续灭菌完成") + public String sterilize_by_scan_barcodes_interrupt(String sterilizerBarcode,String sterilizationProgramBarcode,String sterilizationPurpose, JSONArray barcodes,String responsibleperson){ + try { + + //调用“通过扫码来添加一条灭菌中的灭菌记录”方法 + sterilize_by_scan_barcodes_sterilzing(sterilizerBarcode, sterilizationProgramBarcode, sterilizationPurpose, barcodes); + + //灭菌中断 + sterileHandle.switch_to_sterilization_frame(); //切换至灭菌页面 + sterileHandle.first_select(); + sterileHandle.click_interrupt_btn(); + Utils.driver.switchTo().defaultContent(); //切换至默认窗口 + sterileHandle.click_confirm_yes_btn(); + + //登记质量监测 + sterileHandle.switch_to_sterilization_frame(); //切换至灭菌页面 + sterileHandle.scan_responsible_person_barcode(responsibleperson); + sterileHandle.all_tousse_of_sterile_select(); + sterileHandle.click_save_btn(); + + + //灭菌中断后,完成灭菌 + Thread.sleep(3000); + sterileHandle.click_interruption_handle_btn(); + Utils.driver.switchTo().defaultContent() ; //切换至默认窗口 + sterileHandle.click_interruption_confirm_complet_btn(); + sterileHandle.click_confirm_yes_btn(); + + + } catch (Exception e) { + e.printStackTrace(); + } + return sterileHandle.get_ext_tip_msg(); + } + + + /** + * 灭菌失败后重新灭菌并灭菌完成 + * @param sterilizerBarcode + * @param sterilizationProgramBarcode + * @param sterilizationPurpose + * @param operator + * @param barcodes + * @param responsibleperson + * @return + */ + @Step("灭菌失败后重新灭菌并灭菌完成") + public String sterilize_by_scan_barcodes_failure(String sterilizerBarcode,String sterilizationProgramBarcode,String sterilizerName,String sterilizationPurpose, JSONArray barcodes,String responsibleperson){ + try { + + //调用“通过扫码来添加一条灭菌中的灭菌记录”方法 + sterilize_by_scan_barcodes_sterilzing(sterilizerBarcode, sterilizationProgramBarcode, sterilizationPurpose, barcodes); + + //灭菌失败 + sterileHandle.switch_to_sterilization_frame(); //切换至灭菌页面 + sterileHandle.first_select(); + sterileHandle.click_failure_btn(); + Utils.driver.switchTo().defaultContent(); //切换至默认窗口 + sterileHandle.click_confirm_yes_btn(); + + //登记质量监测 + sterileHandle.switch_to_sterilization_frame(); //切换至灭菌页面 + sterileHandle.scan_responsible_person_barcode(responsibleperson); + sterileHandle.all_tousse_of_sterile_select(); + sterileHandle.click_save_btn(); + + //灭菌失败后,重新灭菌 + sterileHandle.click_interruption_handle_btn(); + Utils.driver.switchTo().defaultContent() ; //切换至默认窗口 + //等待页面加载数据 + Thread.sleep(4000); + sterileHandle.click_reSterilization_btn(); + + //完成灭菌 + sterileHandle.switch_to_sterilization_frame(); + sterileHandle.click_sterilizing_record(); + Thread.sleep(4000); + sterileHandle.click_complete_sterilization_btn(); + Utils.driver.switchTo().defaultContent(); + sterileHandle.click_confirm_complete_btn(); + Thread.sleep(2000); + } catch (Exception e) { + e.printStackTrace(); + } + return sterileHandle.get_ext_tip_msg(); + } + /** + * 添加一条空的灭菌中的灭菌记录 + * @param sterilizerBarcode + * @param sterilizationProgram + * @param sterilizationPurpose + * @return + */ + @Step("添加一条空的灭菌中的灭菌记录") + public String sterilize_add_empty_sterilzing_record(String sterilizerBarcode,String sterilizationProgram,String sterilizationPurpose){ + try { + //添加一张灭菌记录 + sterileHandle.click_add_btn(); + Utils.driver.switchTo().defaultContent(); + //填入灭菌参数 + sterileHandle.scan_barcode(sterilizerBarcode); + //等待加载灭菌炉 + Thread.sleep(1000); + sterileHandle.scan_barcode(sterilizationProgram); + sterileHandle.click_sterilization_purpose(); + sterileHandle.click_sterilization_purpose_option(sterilizationPurpose); + + //保存灭菌记录 + sterileHandle.click_save_btn(); + sterileHandle.click_confirm_yes_btn(); + + + } catch (Exception e) { + e.printStackTrace(); + } + return sterileHandle.get_ext_tip_msg(); + } + + /** + * 添加一条空的灭菌记录并完成灭菌 + * @param sterilizerBarcode + * @param sterilizationProgram + * @param sterilizationPurpose + * @return + */ + @Step("添加一条空的灭菌记录并完成灭菌") + public String sterilize_add_empty_record(String sterilizerBarcode,String sterilizationProgram,String sterilizationPurpose){ + try { + //调用“添加一条空的灭菌中的灭菌记录”方法 + sterilize_add_empty_sterilzing_record(sterilizerBarcode, sterilizationProgram, sterilizationPurpose); + + //完成灭菌 + sterileHandle.switch_to_sterilization_frame(); + sterileHandle.click_sterilizing_record(); + sterileHandle.click_complete_sterilization_btn(); + Utils.driver.switchTo().defaultContent(); + sterileHandle.click_confirm_complete_btn(); + + } catch (Exception e) { + e.printStackTrace(); + } + return sterileHandle.get_ext_tip_msg(); + } }