Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/recycle/RecyclePage.java =================================================================== diff -u -r34283 -r34362 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/recycle/RecyclePage.java (.../RecyclePage.java) (revision 34283) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/recycle/RecyclePage.java (.../RecyclePage.java) (revision 34362) @@ -19,6 +19,7 @@ private By tousseItemTable = By.id("tousseItemTable");//回收项表格 private By saveBtn = By.id("saveBtnTd");//保存按钮 private By basketItems = By.xpath("//*[@id='basketsUl']//dl");//篮筐物品明细 + private By baskets = By.xpath("//*[@id='basketsUl']/li");//篮筐物品明细 private By addTousseBtn = By.id("add-bao");//添加器械包按钮 private By spellingCodeInput = By.id("spellingCode");//拼音码/五笔码输入框 private By okBtn = By.id("okButton");//修改器械包数量的确认按钮 @@ -231,4 +232,12 @@ return get_element_until_clickable(dialogConfirmBtn); } + /** + * 获取加载篮筐 + * @return + */ + public List get_baskets(){ + return get_elements(baskets); + } + } Index: ssts-web/src/test/resources/test/forgon/disinfectsystem/selenium/config/all/testcase_data.json =================================================================== diff -u -r34328 -r34362 --- ssts-web/src/test/resources/test/forgon/disinfectsystem/selenium/config/all/testcase_data.json (.../testcase_data.json) (revision 34328) +++ ssts-web/src/test/resources/test/forgon/disinfectsystem/selenium/config/all/testcase_data.json (.../testcase_data.json) (revision 34362) @@ -996,6 +996,38 @@ "task_group":"常规组", "tousse_name":"Test敷料包C" }, + "test_packing_combo_tousse":{ + "operator":{ + "username":"cssduser1", + "password":"1", + "barcode":"0100001001" + }, + "task_group":"术科组", + "combo_tousse_name":"Test剪刀聚合包", + "org_unit":"测试内科" + }, + "test_material_supplement":{ + "operator":{ + "username":"cssduser1", + "password":"1", + "barcode":"0100001001" + }, + "task_group":"术科组", + "basket_barcode":"010016003", + "tousse_name":"Test缝合包" + }, + "test_id_card_supplement":{ + "operator":{ + "username":"cssduser1", + "password":"1", + "barcode":"0100001001" + }, + "task_group":"术科组", + "basket_barcode":"010016004", + "tousse_name":"Test胸腔镜(标识牌)", + "IdCard":"010019008", + "expect":"器械补充成功" + }, "test_review_by_scan_barcodes":{ "reviewer":{ "username":"cssduser1", Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/pack/PackHandle.java =================================================================== diff -u -r34328 -r34362 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/pack/PackHandle.java (.../PackHandle.java) (revision 34328) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/pack/PackHandle.java (.../PackHandle.java) (revision 34362) @@ -1,11 +1,14 @@ package test.forgon.disinfectsystem.selenium3.page.pack; import java.util.List; +import java.util.function.Function; import org.apache.log4j.Logger; import org.openqa.selenium.StaleElementReferenceException; +import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.interactions.Actions; +import org.openqa.selenium.support.ui.WebDriverWait; import test.forgon.disinfectsystem.selenium3.Utils; import test.forgon.disinfectsystem.selenium3.basepage.BaseHandle; @@ -222,4 +225,235 @@ public void click_checkbox_in_wait_packing_tree_grid_by_toussename(String tousseName){ packPage.get_checkbox_in_wait_packing_tree_grid_by_toussename(tousseName).click(); } + + /** + * 点击装配聚合包按钮 + */ + public void click_packing_combo_tousse_btn(){ + packPage.get_packing_combo_tousse_btn().click(); + } + + /** + * 输入聚合包配包人条码 + * @param packerBarcode + */ + public void input_packer_barcodes3(String packerBarcode){ + input_text(packPage.get_packer_barcodes3(), packerBarcode+"\n"); + } + + /** + * 输入聚合包审核人条码 + * @param reviewerBarcode + */ + public void input_reviewer_barcode3(String reviewerBarcode){ + input_text(packPage.get_reviewer_barcode3(), reviewerBarcode+"\n"); + } + + /** + * 点击聚合包灭菌程序 + */ + public void click_steriling_type3(){ + packPage.get_steriling_type3().click(); + } + + /** + * 输入聚合包装配科室 + * @param orgUnit + */ + public void input_combo_tousse_packing_org_unit(String orgUnit){ + input_text(packPage.get_combo_tousse_packing_org_unit(), orgUnit+"\n"); + } + + /** + * 点击聚合包装配科室下拉框 + * @param orgUnit + */ + public void click_combo_tousse_packing_org_unit_option(String orgUnit){ + packPage.get_combo_tousse_packing_org_unit_option(orgUnit).click(); + } + + /** + * 输入聚合包名称 + * @param comboTousseName + */ + public void input_combo_tousse_name(String comboTousseName){ + input_text(packPage.get_combo_tousse_name(), comboTousseName); + } + + /** + * 点击聚合包名称下拉框 + * @param comboTousseName + */ + public void click_combo_tousse_name_option(String comboTousseName){ + packPage.get_combo_tousse_name_option(comboTousseName).click(); + } + + /** + * 点击一键聚合按钮 + */ + public void click_one_click_aggregation_btn(){ + if(is_tousse_list_loaded_success(10)){ + packPage.get_one_click_aggregation_btn().click(); + } + } + + /** + * 点击聚合按钮 + */ + public void click_aggregation_btn(){ + if(is_tousse_list_loaded_success(10)){ + packPage.get_aggregation_btn().click(); + } + } + + /** + * 点击聚合包窗口的装配并打印按钮 + */ + public void click_save_and_print_btn_in_packing_combo_tousse_win(){ + if(is_combo_tousse_list_loaded_success(10)){ + packPage.get_save_and_print_btn_in_packing_combo_tousse_win().click(); + } + } + + /** + * 点击装配并继续按钮 + */ + public void click_save_and_continue_btn(){ + if(is_combo_tousse_list_loaded_success(10)){ + packPage.get_save_and_continue_btn().click(); + } + } + + /** + * 判断聚合包装配窗口器械包列表有无物品 + * @param timeOutInSeconds + * @return + */ + public boolean is_tousse_list_loaded_success(int timeOutInSeconds){ + boolean isLoaded = false; + try { + WebDriverWait wait = new WebDriverWait(Utils.driver, timeOutInSeconds); + isLoaded = wait.until(new Function(){ + public Boolean apply(WebDriver driver) { + //如果器械包列表加载成功则返回true,否则返回false + if(packPage.get_wait_combo_tousse_grid_trs().size()>0){ + logger.info("器械包列表加载成功:true"); + return true; + }else{ + logger.info("器械包列表加载成功:false"); + return false; + } + } + }); + } catch (Exception e) { + e.printStackTrace(); + } + if (!isLoaded) { + logger.info("选择聚合包"+timeOutInSeconds+"s后,器械包列表仍未加载成功!"); + } + return isLoaded; + } + + + /** + * 判断聚合包装配窗口聚合包列表有无物品 + * @param timeOutInSeconds + * @return + */ + public boolean is_combo_tousse_list_loaded_success(int timeOutInSeconds){ + boolean isLoaded = false; + try { + WebDriverWait wait = new WebDriverWait(Utils.driver, timeOutInSeconds); + isLoaded = wait.until(new Function(){ + public Boolean apply(WebDriver driver) { + //如果聚合包列表加载成功则返回true,否则返回false + if(packPage.get_combo_tousse_data_grid_trs().size()>0){ + logger.info("聚合包列表加载成功:true"); + return true; + }else{ + logger.info("聚合包列表加载成功:false"); + return false; + } + } + }); + } catch (Exception e) { + e.printStackTrace(); + } + if (!isLoaded) { + logger.info("点击聚合"+timeOutInSeconds+"s后,聚合包列表仍未加载成功!"); + } + return isLoaded; + } + + /** + * 点击聚合包窗口的器械包列表全选按钮 + */ + public void click_checkbox_of_tousse_list(){ + packPage.get_checkbox_of_tousse_list().click(); + } + + /** + * 点击左上角的物品展开按钮 + * @param tousseName + */ + public void click_expand_btn_in_basket_tree_grid(String tousseName){ + packPage.get_expand_btn_in_basket_tree_grid(tousseName).click(); + } + + /** + * 点击丢失按钮 + */ + public void click_lost_btn(){ + packPage.get_lost_btn().click(); + } + + /** + * 点击报损按钮 + */ + public void click_damage_btn(){ + packPage.get_damage_btn().click(); + } + + /** + * 点击器械补充确认按钮 + */ + public void click_supplement_confirm_btn(){ + packPage.get_supplement_confirm_btn().click(); + } + + /** + * 点击补充打印按钮 + */ + public void click_supplement_and_print_btn(){ + packPage.get_supplement_and_print_btn().click(); + } + + /** + * 勾选需要补充的标识牌 + * @param IdCardNum + */ + public void click_id_card_to_supplement(String IdCardNum){ + packPage.get_id_card_to_supplement(IdCardNum).click(); + } + + /** + * 点击补充并打印按钮 + */ + public void click_supplement_and_print_btn_of_id_card(){ + packPage.get_supplement_and_print_btn_of_id_card().click(); + } + + /** + * 点击确认按钮 + */ + public void click_confirm_btn(){ + packPage.get_confirm_btn().click(); + } + + /** + * 点击取消按钮 + */ + public void click_cancle_btn(){ + packPage.get_cancle_btn().click(); + } } Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/pack/PackPage.java =================================================================== diff -u -r34328 -r34362 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/pack/PackPage.java (.../PackPage.java) (revision 34328) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/pack/PackPage.java (.../PackPage.java) (revision 34362) @@ -21,6 +21,18 @@ private By sterilingType = By.id("sterilingType-inputEl");//灭菌程序 private By packageType = By.id("packageType-inputEl");//包装类型 private By saveAndPrintBtn = By.id("save_print-btnIconEl");//装配并打印标签按钮 + private By tousseOrDepartSearchBar = By.id("tousseOrDepart-inputEl");//器械包或科室搜索框 + private By lostBtn = By.xpath("//input[@value='丢失']");//丢失按钮 + private By damageBtn = By.xpath("//input[@value='报损']");//报损按钮 + private By supplementConfirmBtn = By.id("saveBtn");//器械补充确认按钮 + private By supplementAndPrintBtn = By.xpath("//input[@value='补充打印']");//标识牌补充打印按钮 + private By supplementAndPrintBtnOfIdCard = By.xpath("//*[text()='补充并打印']/../../..");//补充并打印按钮 + private By confirmBtn = By.xpath("//*[text()='是']/../../..");//确认按钮 + private By cancleBtn = By.xpath("//span[text()='取消']/../../..");//取消按钮 + + /** + * 外来器械拆包窗口元素 + */ private By splitForeignTousseBtn = By.xpath("//input[@value='拆包']");//外来器械拆包按钮 private By packerBarcode2 = By.id("packerBarcode2-inputEl");//外来器械拆包窗口的配包人条码 private By reviewerBarcode2 = By.id("reviewerBarcode2-inputEl");//外来器械拆包窗口的审核人条码 @@ -29,10 +41,28 @@ private By moveMaterialBtn2 = By.xpath("//span[text()='>>>>']/../../..");//移动材料按钮2 private By splitBtn = By.xpath("//span[text()='拆分']/../../..");//拆分按钮 private By saveAndPrintBtnInSplitWin = By.xpath("//*[@id='foreignTousseWin-body']//span[text()='装配并打印标签']/../../..");//外来器械拆包窗口的装配并打印标签按钮 - private By tousseOrDepartSearchBar = By.id("tousseOrDepart-inputEl");//器械包或科室搜索框 /** + * 聚合包装配窗口元素 + */ + private By packingComboTousseBtn = By.id("packingComboTousseBtn");//装配聚合包按钮 + private By packerBarcode3 = By.id("packerBarcode3-inputEl");//聚合包装配窗口的配包人条码 + private By reviewerBarcode3 = By.id("reviewerBarcode3-inputEl");//聚合包装配窗口的审核人条码 + private By sterilingType3 = By.id("sterilingType3-inputEl");//聚合包装配窗口的灭菌程序 + private By comboToussePackingOrgUnit = By.id("comboToussePacking_orgUnit-inputEl");//聚合包装配窗口的科室 + private By comboTousseName = By.id("comboTousseName-inputEl");//聚合包名称 + private By oneClickAggregationBtn = By.xpath("//*[text()='一键聚合']/../..");//一键聚合按钮 + private By aggregationBtn = By.xpath("//*[text()='聚合']/../..");//聚合按钮 + private By saveAndPrintBtnInPackingComboTousseWin = By.xpath("//*[@id='comboTousseWin-innerCt']//span[text()='装配并打印标签']/../../..");//装配聚合包窗口的装配并打印标签按钮 + private By saveAndContinueBtn = By.xpath("//*[@id='comboTousseWin-innerCt']//span[text()='装配并继续']/../../..");//装配聚合包窗口的装配并继续按钮 + private By waitComboTousseGridTrs = By.xpath("//*[@id='waitComboTousseGrid-body']//tr");//聚合包装配窗口的器械包列表 + private By comboTousseDataGridTrs = By.xpath("//*[@id='comboTousseDataGrid-body']//tr");//聚合包装配窗口的聚合包列表 + private By checkboxOfTousseList = By.cssSelector("#comboTousseWin-innerCt .x4-column-header-first .x4-column-header-text");//器械包列表的全选按钮#comboTousseWin-innerCt .x4-column-header-checkbox div.x4-column-header-inner-empty + + + + /** * 获取篮筐条码输入框 * @return */ @@ -230,5 +260,204 @@ return get_element_until_visibility(checkboxInWaitPackingTreeGrid); } + /** + * 获取装配聚合包按钮 + * @return + */ + public WebElement get_packing_combo_tousse_btn(){ + return get_element_until_clickable(packingComboTousseBtn); + } + /** + * 获取聚合包装配窗口的配包人条码 + * @return + */ + public WebElement get_packer_barcodes3(){ + return get_element_until_visibility(packerBarcode3); + } + + + /** + * 获取聚合包装配窗口的审核人条码 + * @return + */ + public WebElement get_reviewer_barcode3(){ + return get_element_until_visibility(reviewerBarcode3); + } + + /** + * 获取聚合包装配窗口的灭菌程序 + * @return + */ + public WebElement get_steriling_type3(){ + return get_element_until_visibility(sterilingType3); + } + + /** + * 获取聚合包装配窗口的科室 + * @return + */ + public WebElement get_combo_tousse_packing_org_unit(){ + return get_element_until_visibility(comboToussePackingOrgUnit); + } + + /** + * 获取聚合包装配窗口的科室下拉框 + * @param orgUnit + * @return + */ + public WebElement get_combo_tousse_packing_org_unit_option(String orgUnit){ + return get_combo_option(orgUnit); + } + + /** + * 获取聚合包名称 + * @return + */ + public WebElement get_combo_tousse_name(){ + return get_element_until_visibility(comboTousseName); + } + + /** + * 获取聚合包名称下拉框 + * @param comboTousseName + * @return + */ + public WebElement get_combo_tousse_name_option(String comboTousseName){ + return get_combo_option(comboTousseName); + } + + + /** + * 获取一键聚合按钮 + * @return + */ + public WebElement get_one_click_aggregation_btn(){ + return get_element_until_clickable(oneClickAggregationBtn); + } + + + /** + * 获取聚合按钮 + * @return + */ + public WebElement get_aggregation_btn(){ + return get_element_until_clickable(aggregationBtn); + } + + /** + * 获取装配聚合包窗口的装配并打印标签按钮 + * @return + */ + public WebElement get_save_and_print_btn_in_packing_combo_tousse_win(){ + return get_element_until_clickable(saveAndPrintBtnInPackingComboTousseWin); + } + + /** + * 获取装配并继续按钮 + * @return + */ + public WebElement get_save_and_continue_btn(){ + return get_element_until_clickable(saveAndContinueBtn); + } + + /** + * 获取聚合包装配窗口的器械包列表 + * @return + */ + public List get_wait_combo_tousse_grid_trs(){ + return get_elements(waitComboTousseGridTrs); + } + + /** + * 获取聚合包装配窗口的聚合包列表 + * @return + */ + public List get_combo_tousse_data_grid_trs(){ + return get_elements(comboTousseDataGridTrs); + } + + /** + * 聚合包窗口的器械包列表全选按钮 + * @return + */ + public WebElement get_checkbox_of_tousse_list(){ + return get_element_until_visibility(checkboxOfTousseList); + } + + /** + * 左上角的物品展开按钮 + * @param tousseName + * @return + */ + public WebElement get_expand_btn_in_basket_tree_grid(String tousseName){ + By expeandBtn = By.xpath("//*[@id='basketTreeGrid-body']//*[text()='"+tousseName+"']/../../../img[1]"); + return get_element_until_clickable(expeandBtn); + } + + /** + * 获取丢失按钮 + * @return + */ + public WebElement get_lost_btn(){ + return get_element_until_clickable(lostBtn); + } + + /** + * 获取报损按钮 + * @return + */ + public WebElement get_damage_btn(){ + return get_element_until_clickable(damageBtn); + } + + /** + * 器械补充确认按钮 + * @return + */ + public WebElement get_supplement_confirm_btn(){ + return get_element_until_clickable(supplementConfirmBtn); + } + + /** + * 标识牌的补充打印按钮 + * @return + */ + public WebElement get_supplement_and_print_btn(){ + return get_element_until_clickable(supplementAndPrintBtn); + } + + /** + * 获取需要补充的标识牌 + * @param IdCardNum + * @return + */ + public WebElement get_id_card_to_supplement(String IdCardNum){ + By IdCard = By.xpath("//div[text()='"+IdCardNum+"']"); + return get_element_until_visibility(IdCard); + } + + /** + * 获取补充并打印按钮 + * @return + */ + public WebElement get_supplement_and_print_btn_of_id_card(){ + return get_element_until_clickable(supplementAndPrintBtnOfIdCard); + } + + /** + * 获取确认按钮 + * @return + */ + public WebElement get_confirm_btn(){ + return get_element_until_clickable(confirmBtn); + } + + /** + * 获取取消按钮 + * @return + */ + public WebElement get_cancle_btn(){ + return get_element_until_clickable(cancleBtn); + } } Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/pack/PackProxy.java =================================================================== diff -u -r34328 -r34362 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/pack/PackProxy.java (.../PackProxy.java) (revision 34328) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/pack/PackProxy.java (.../PackProxy.java) (revision 34362) @@ -1,6 +1,7 @@ package test.forgon.disinfectsystem.selenium3.page.pack; import test.forgon.disinfectsystem.selenium3.Utils; +import test.forgon.disinfectsystem.selenium3.page.personaldesktop.PersonalDesktopProxy; import io.qameta.allure.Step; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -14,6 +15,7 @@ public class PackProxy { //引入装配管理页面操作层 private PackHandle packHandle = new PackHandle(); + private PersonalDesktopProxy personalDesktopProxy = new PersonalDesktopProxy(); /** * 普通装配 @@ -109,4 +111,99 @@ packHandle.click_save_and_print_btn(); } + + /** + * 装配聚合包(先一键聚合,再聚合剩下所有的) + * @param packerBarcode + * @param reviewerBarcode + * @param sterilingType + * @param orgUnit + * @param comboTousseName + */ + @Step("装配聚合包") + public void packing_combo_tousse(String packerBarcode,String reviewerBarcode,String orgUnit, String comboTousseName){ + packHandle.click_packing_combo_tousse_btn(); + Utils.driver.switchTo().defaultContent(); + packHandle.input_packer_barcodes3(packerBarcode); + packHandle.input_reviewer_barcode3(reviewerBarcode); + packHandle.input_combo_tousse_packing_org_unit(orgUnit); + packHandle.click_combo_tousse_packing_org_unit_option(orgUnit); + //一键聚合 + packHandle.click_one_click_aggregation_btn(); + //装配并继续 + packHandle.click_save_and_continue_btn(); + + //聚合 + packHandle.input_combo_tousse_name(comboTousseName); + packHandle.click_combo_tousse_name_option(comboTousseName); + packHandle.click_checkbox_of_tousse_list(); + packHandle.click_aggregation_btn(); + //装配并打印 + packHandle.click_save_and_print_btn_in_packing_combo_tousse_win(); + } + + /** + * 补充丢失或报损的材料 + * @param packerBarcode + * @param reviewerBarcode + * @param basket + * @param tousseName + * @throws InterruptedException + */ + @Step("补充丢失或报损的材料") + public void supplement_material(String packerBarcode,String reviewerBarcode,String basket, String tousseName) throws InterruptedException{ + packHandle.scan_basket_barcode(basket); + packHandle.click_expand_btn_in_basket_tree_grid(tousseName); + + //补充丢失材料 + packHandle.click_lost_btn(); + Utils.driver.switchTo().defaultContent(); + packHandle.click_supplement_confirm_btn(); + + //补充完等待表格刷新 + Thread.sleep(1000); + + //补充报损材料 + personalDesktopProxy.switch_to_pack_frame(); + packHandle.click_damage_btn(); + Utils.driver.switchTo().defaultContent(); + packHandle.click_supplement_confirm_btn(); + + //补充完进行装配 + personalDesktopProxy.switch_to_pack_frame(); + packHandle.scan_operator_barcode(packerBarcode); + packHandle.scan_reviewer_barcode(reviewerBarcode); + //等待扫描结果出来再点击装配 + Thread.sleep(1000); + packHandle.click_save_and_print_btn(); + } + + /** + * 补充标识牌 + * @param packerBarcode + * @param reviewerBarcode + * @param basket + * @param tousseName + * @param IdCard + * @return + * @throws InterruptedException + */ + @Step("补充标识牌") + public String supplement_id_card(String packerBarcode,String reviewerBarcode,String basket,String tousseName,String IdCard) throws InterruptedException{ + packHandle.scan_basket_barcode(basket); + packHandle.click_expand_btn_in_basket_tree_grid(tousseName); + packHandle.click_lost_btn(); + Utils.driver.switchTo().defaultContent(); + //补充打印 + packHandle.click_supplement_and_print_btn(); + packHandle.click_id_card_to_supplement(IdCard); + //补充并打印 + packHandle.click_supplement_and_print_btn_of_id_card(); + packHandle.click_confirm_btn(); + Thread.sleep(1000); + packHandle.click_cancle_btn(); + packHandle.click_supplement_confirm_btn(); + Thread.sleep(1000); + return Utils.get_ext_tip_msg(); + } } Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/testscript/TestPack.java =================================================================== diff -u -r34328 -r34362 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/testscript/TestPack.java (.../TestPack.java) (revision 34328) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/testscript/TestPack.java (.../TestPack.java) (revision 34362) @@ -41,14 +41,21 @@ private static JSONObject splitPackingOfForeignTousseJsonObj;//外来器械拆包装配用例参数 private static JSONObject packingOfDressingPackageJsonObj;//敷料包装配用例参数 private static JSONObject packingIDCardPackageJsonObj;//敷料包装配用例参数 + private static JSONObject packingComboTousseJsonObj;//聚合包装配用例参数 + private static JSONObject materialSupplementJsonObj;//器械材料补充用例参数 + private static JSONObject IdCardSupplementJsonObj;//标识牌补充用例参数 + @BeforeClass public static void setUp_class(){ Utils.init(); nomalPackingJsonObj = Utils.testcaseData.getJSONObject("test_normal_packing"); splitPackingOfForeignTousseJsonObj = Utils.testcaseData.getJSONObject("test_split_packing_of_foreign_tousse"); packingOfDressingPackageJsonObj = Utils.testcaseData.getJSONObject("test_packing_of_dressing_package"); packingIDCardPackageJsonObj = Utils.testcaseData.getJSONObject("test_packing_ID_card"); + packingComboTousseJsonObj = Utils.testcaseData.getJSONObject("test_packing_combo_tousse"); + materialSupplementJsonObj = Utils.testcaseData.getJSONObject("test_material_supplement"); + IdCardSupplementJsonObj = Utils.testcaseData.getJSONObject("test_id_card_supplement"); } @Story("普通装配") @@ -133,6 +140,65 @@ Assert.assertTrue(result!=null && result.size()>0);//如果获取到装配条码则断言装配成功 } + @Story("聚合包装配") + @Test + public void test_packing_combo_tousse() throws InterruptedException { + JSONObject operator = packingComboTousseJsonObj.getJSONObject("operator");//操作人 + String taskGroup = packingComboTousseJsonObj.getString("task_group");//装配任务 + String comboTousseName = packingComboTousseJsonObj.getString("combo_tousse_name");//聚合包名称 + String orgUnit = packingComboTousseJsonObj.getString("org_unit");//装配任务 + + //用户登录 + loginProxy.go_login_by_btn(operator.getString("username"), operator.getString("password")); + //装配 + personalDesktopProxy.go_pack(taskGroup); + packProxy.packing_combo_tousse(operator.getString("barcode"), operator.getString("barcode"), orgUnit, comboTousseName); + + Thread.sleep(2000);//等待装配完成 + personalDesktopProxy.switch_to_pack_frame(); + List result = Utils.getToussesBarcodes();//获取装配条码 + logger.debug("本次装配产生的包实例条码:"+result); + Assert.assertTrue(result!=null && result.size()>0);//如果获取到装配条码则断言装配成功 + } + + @Story("器械材料补充") + @Test + public void test_material_supplement() throws InterruptedException { + JSONObject operator = materialSupplementJsonObj.getJSONObject("operator");//操作人 + String taskGroup = materialSupplementJsonObj.getString("task_group");//装配任务 + String basketBarcodes = materialSupplementJsonObj.getString("basket_barcode");//清洗篮筐条码 + String tousseName = materialSupplementJsonObj.getString("tousse_name");//需补充材料的器械包名称 + + //用户登录 + loginProxy.go_login_by_btn(operator.getString("username"), operator.getString("password")); + //补充器械材料并装配 + personalDesktopProxy.go_pack(taskGroup); + packProxy.supplement_material(operator.getString("barcode"), operator.getString("barcode"), basketBarcodes, tousseName); + + Thread.sleep(2000);//等待装配完成 + List result = Utils.getToussesBarcodes();//获取装配条码 + logger.debug("本次装配产生的包实例条码:"+result); + Assert.assertTrue(result!=null && result.size()>0);//如果获取到装配条码则断言装配成功 + } + + @Story("标识牌补充") + @Test + public void test_id_card_supplement() throws InterruptedException { + JSONObject operator = IdCardSupplementJsonObj.getJSONObject("operator");//操作人 + String taskGroup = IdCardSupplementJsonObj.getString("task_group");//装配任务 + String basketBarcodes = IdCardSupplementJsonObj.getString("basket_barcode");//清洗篮筐条码 + String tousseName = IdCardSupplementJsonObj.getString("tousse_name");//需补充标识的器械包名称 + String IdCard = IdCardSupplementJsonObj.getString("IdCard");//需补充的标识牌 + String expect = IdCardSupplementJsonObj.getString("expect");//预期结果 + + //用户登录 + loginProxy.go_login_by_btn(operator.getString("username"), operator.getString("password")); + //补充标识牌 + personalDesktopProxy.go_pack(taskGroup); + String result = packProxy.supplement_id_card(operator.getString("barcode"), operator.getString("barcode"), basketBarcodes, tousseName,IdCard); + Assert.assertTrue(result.contains(expect)); + } + @After public void tearDown() throws FileNotFoundException, WebDriverException, InterruptedException{ //用例执行完成后,添加截图到测试报告 Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/recycle/RecycleHandle.java =================================================================== diff -u -r34283 -r34362 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/recycle/RecycleHandle.java (.../RecycleHandle.java) (revision 34283) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium3/page/recycle/RecycleHandle.java (.../RecycleHandle.java) (revision 34362) @@ -27,13 +27,19 @@ * @param count 因为部分回收时不希望将所有物品入筐,所以通过该参数控制点击多少个入筐按钮,-1代表点击全部的入筐按钮 */ public void click_into_basket_btns(int count){ - List intoBasketBtnsList = recyclePage.get_into_basket_btns(); - if(count==-1){ - count = intoBasketBtnsList.size(); + //最长等待10s,篮筐加载成功才点击入筐 + if(is_baskets_loaded_success(10)){ + List intoBasketBtnsList = recyclePage.get_into_basket_btns(); + if(count==-1){ + count = intoBasketBtnsList.size(); + } + for(int i=0;i(){ + public Boolean apply(WebDriver driver) { + //如果篮筐加载成功则返回true,否则返回false + if(recyclePage.get_baskets().size()>0){ + logger.info("篮筐加载成功:true"); + return true; + }else{ + logger.info("篮筐加载成功:false"); + return false; + } + } + }); + } catch (Exception e) { + e.printStackTrace(); + } + if (!isLoaded) { + logger.info("扫描篮筐条码"+timeOutInSeconds+"s后,篮筐仍未加载成功!"); + } + return isLoaded; + } + + /** * 点击添加器械包按钮 */ public void click_add_tousse_btn(){