package test_4_1; import org.apache.commons.lang3.ObjectUtils; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import org.openqa.selenium.interactions.Actions; import org.testng.AssertJUnit; import org.testng.annotations.AfterTest; import org.testng.annotations.Test; import test.forgon.disinfectsystem.AbstractCSSDTest; import test_4_1.apply.service.ApplyComboService; import test_4_1.apply.service.ApplyComboServiceImpl; import test_4_1.apply.service.ApplyService; import test_4_1.apply.service.ApplyServiceImpl; import test_4_1.apply.service.GdsyApplyServiceImpl; import test_4_1.tools.Utils; /** * @author cherry 2017-02-06 * */ public class ALL extends AbstractCSSDTest { private ApplyService applyServiceImpl = new ApplyServiceImpl(); private ApplyComboService applyComboServiceImpl = new ApplyComboServiceImpl(); private ApplyService gdsyApplyServiceImpl = new GdsyApplyServiceImpl(); // @BeforeMethod public void before() { try { System.out.print("申请开始:"); Utils.DateTime(); Login login = new Login(); login.init(); login.login_clinicNoWarnig(); Apply apply = new Apply(); /** 省医流程 */ boolean displayed = false; WebElement element = Utils.retryingFind(By .id("recyclingApplicationVersion2")); if (element != null) { displayed = element.isDisplayed(); } if (displayed) { Utils.retryingFindAndClick(By.id("recyclingApplicationVersion2")); WebElement frame = Utils.retryingFindAndSwitchToFrame(By .id("iframe_recyclingApplicationVersion2")); Utils.retryingFindAndClick(By.id("tousseApplication")); /** 申请器械包、敷料包 */ // gdsyApplyServiceImpl.apply_set(); apply.apply_gdsy_sets(); Utils.driver.switchTo().frame(frame); /** 申请一次性物品 */ Utils.retryingFindAndClick(By.id("diposableGoodsApplication")); // gdsyApplyServiceImpl.apply_oneUse(); apply.apply_gdsy_oneuse(); Utils.driver.switchTo().defaultContent(); Utils.retryingFindAndSwitchToFrame(By .id("iframe_recyclingApplicationVersion2")); /** 申请消毒物品 */ Utils.retryingFindAndClick(By.id("disinfectGoodsApplication")); // gdsyApplyServiceImpl.apply_sterilize(); apply.apply_gdsy_sterilize(); Utils.driver.switchTo().defaultContent(); Utils.retryingFindAndClick(By.xpath("//span[contains(text(), '个人桌面')]")); Utils.retryingFindAndClick(By.id("borrowManager")); Utils.driver.switchTo().defaultContent(); frame = Utils.retryingFindAndSwitchToFrame(By.id("iframe_borrowManager")); Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '借物')]")); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); /** 申请借物 */ apply.apply_borrow(); Utils.driver.switchTo().defaultContent(); Utils.retryingFindAndClick(By.xpath("//span[contains(text(), '个人桌面')]")); Utils.retryingFindAndClick(By.id("foreignTousseApplication")); frame = Utils.retryingFindAndSwitchToFrame(By .id("iframe_foreignTousseApplication")); Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '添加')]")); /** 申请外来器械 */ apply.apply_foreignSetInformation(); frame = Utils.retryingFindAndSwitchToFrame(By .id("iframe_foreignTousseApplication")); Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '添加')]")); apply.apply_foreignSet(); apply.after(); } else { element = Utils.retryingFind(By.id("recyclingApplication")); if (element != null) { displayed = element.isDisplayed(); } if (displayed) { Utils.retryingFindAndClick(By.id("recyclingApplication")); WebElement frame = Utils.retryingFindAndSwitchToFrame(By .id("iframe_recyclingApplication")); element = Utils.retryingFind(By .xpath("//button[contains(text(), '申请消毒物品')]")); if (element != null) { displayed = element.isDisplayed(); } /** 其他医院流程_非通用申请单 */ if (displayed) { /** 申请消毒物品 */ // applyServiceImpl.apply_sterilize(); apply.apply_sterilize(); /** 申请器械包、敷料包 */ apply.apply_set(); // applyServiceImpl.apply_set(); /** 申请一次性物品 */ apply.apply_oneuse(); // applyServiceImpl.apply_oneUse(); } /** 其他医院流程_通用申请单 */ else { Utils.retryingFindAndClick( By.xpath("//button[contains(text(), '申请物品')]")); Utils.driver.switchTo().defaultContent(); String currentwindowhandle = Utils.driver .getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); /** 向二级供应室申请器械包、敷料包 */ apply.apply_secondSupplyRoom(); // applyComboServiceImpl.apply_secondSupplyRoom(); /** 向一级供应室申请器械包、敷料包、一次性物品 */ // applyComboServiceImpl.apply_oneSupplyRoom(); apply.apply_oneSupplyRoom(); } frame = Utils.retryingFindAndSwitchToFrame(By .id("iframe_recyclingApplication")); Utils.retryingFindAndClick( By.xpath("//button[contains(text(), '借物')]")); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); /** 申请借物 */ apply.apply_borrow(); /** * 暂时屏蔽申请申请自定义器械 */ /** 申请自定义器械 */ /** * apply.apply_custom(); * Utils.driver.switchTo().frame(frame); * */ /** 申请外来器械 */ Utils.retryingFindAndClick( By.xpath("//button[contains(text(), '申请外来器械')]")); apply.apply_foreignSetInformation(); Utils.driver.switchTo().frame(frame); Utils.retryingFindAndClick( By.xpath("//button[contains(text(), '申请外来器械')]")); apply.apply_foreignSet(); apply.after(); } } } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } @Test public void all() { try { initCSSDData(); before(); boolean displayed = false; System.out.print("回收开始:"); Utils.DateTime(); /** 回收 */ Recyle recyle = new Recyle(); recyle.init(); /** 一级供应室回收带标识牌的回收单 */ recyle.recyle_recyleSignboardAndDropAndScrap(); Thread.sleep(1000); /** 一级供应室回收单确认 */ recyle.recyle_confirm_new(); Thread.sleep(1000); /** 一级供应室回收申请单 */ recyle.recyle_oneSupplyRoomSignboard(); Thread.sleep(1000); /** 判断自定义器械包申请单是否存在 */ Utils.retryingFind(By.tagName("body")); WebElement element = Utils.retryingFindForthCellOfTable(By .id("awaitForRecycleTable")); if (element != null) { displayed = element.isDisplayed(); } if (displayed) { recyle.recyle_customSet(); } recyle.after(); recyle.init(); /** 一级供应室回收外来器械 */ recyle.recyle_Foreign_edit(); Thread.sleep(1000); recyle.recyle_Foreign(); Thread.sleep(1000); /** 判断消毒物品申请单是否存在 */ Utils.retryingFind(By.tagName("body")); element = Utils.retryingFindForthCellOfTable(By .id("awaitForRecycleTable")); if (element != null) { displayed = element.isDisplayed(); if (displayed) { recyle.recyle_customSet(); recyle.after(); } } else { recyle.after(); } /*** 一级供应室清洗 ***/ System.out.print("清洗开始:"); Utils.DateTime(); Wash wash = new Wash(); wash.init(); wash.wash_oneSupplyRoom(); Utils.driver.switchTo().defaultContent(); Utils.retryingFindAndClick(By.xpath("//span[contains(text(), '个人桌面')]")); /*** 材料入库报损丢失的材料 ***/ System.out.print("报损补充开始:"); Utils.DateTime(); Materials_Godown_Entry entry = new Materials_Godown_Entry(); entry.Materials_Godown_Entry_choice(); /*** 一级供应室装配外来器械***/ System.out.print("装配开始:"); Utils.DateTime(); Assemble assemble = new Assemble(); assemble.assemble_unpackForgein(); Utils.driver.switchTo().defaultContent(); WebElement frame = Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); assemble.assemble_forgeinSet(); /*** 一级供应室审核外来器械 ***/ System.out.print("审核开始:"); Utils.DateTime(); Utils.driver.switchTo().defaultContent(); Utils.retryingFindAndClick(By.xpath("//span[contains(text(), '个人桌面')]")); Actions moveover = new Actions(Utils.driver); moveover.moveToElement(Utils.retryingFind(By.id("reviewPacking"))) .perform(); Utils.retryingFindAndClick( By.linkText(Utils.settings.getJSONObject("一级供应室装配组") .getString("名称3"))); frame = Utils.retryingFindAndSwitchToFrame(By.id("iframe_reviewPacking")); Review review = new Review(); displayed = false; element = Utils.retryingFind(By .xpath("//button[contains(text(), '进入审核列表')]")); if (element != null) { displayed = element.isDisplayed(); if (displayed) { review.Review_batch(); } else { review.Review_single(); } } /*** 一级供应室装配消毒物品 ***/ Utils.driver.navigate().refresh(); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.tryToCloseWarningWindow(); moveover = new Actions(Utils.driver); moveover.moveToElement(Utils.retryingFind(By.id("packing"))) .perform(); Utils.retryingFindAndClick( By.linkText(Utils.settings.getJSONObject("一级供应室装配组") .getString("名称2"))); frame = Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); assemble.assemble_success1(); assemble.after(); /*** 一级供应室装配敷料包、器械包、自定义器械包 ***/ assemble.init(); assemble.assemble_Scrap(); Utils.driver.switchTo().defaultContent(); frame = Utils.retryingFindAndSwitchToFrame(By.id("iframe_packing")); /*** * 屏蔽暂时不需要的代码 * **/ /*** * assemble.assemble_success1(); * Utils.driver.switchTo().defaultContent(); displayed = false; * WebElement element = Utils.retryingFind(By * .xpath("//button[contains(text(), '确定')]")); if (element != null) * { displayed = element.isDisplayed(); if (displayed) { * element.click(); } } **/ assemble.assemble_SignboardAndDrop(); assemble.assemble_dressing(); assemble.assemble_CustomSet(); /*** 一级供应室自定义装配 ***/ assemble.assemble_custom(); Utils.driver.switchTo().defaultContent(); Utils.retryingFindAndClick(By.xpath("//span[contains(text(), '个人桌面')]")); /*** 一级供应室审核器械包、敷料包 ***/ moveover = new Actions(Utils.driver); moveover.moveToElement(Utils.retryingFind(By.id("reviewPacking"))) .perform(); Utils.retryingFindAndClick( By.linkText(Utils.settings.getJSONObject("一级供应室装配组") .getString("名称2"))); frame = Utils.retryingFindAndSwitchToFrame(By.id("iframe_reviewPacking")); displayed = false; element = Utils.retryingFind(By .xpath("//button[contains(text(), '进入审核列表')]")); if (element != null) { displayed = element.isDisplayed(); if (displayed) { review.Review_batch(); } else { review.Review_single(); } } /*** 一级供应室灭菌 ***/ System.out.print("灭菌开始:"); Utils.DateTime(); Utils.driver.switchTo().defaultContent(); Utils.retryingFindAndClick(By.xpath("//span[contains(text(), '个人桌面')]")); Disinfection disinfection = new Disinfection(); moveover = new Actions(Utils.driver); moveover.moveToElement( Utils.retryingFind(By.id("sterilizationRecord"))).perform(); Utils.retryingFindAndClick( By.linkText(Utils.settings.getJSONObject("一级供应室灭菌炉") .getString("分类"))); frame = Utils.retryingFindAndSwitchToFrame(By.id("iframe_sterilizationRecord")); Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '添加')]")); Utils.driver.switchTo().defaultContent(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); disinfection.disinfection_failAndSuccess(); disinfection.after(); /*** 一级供应室一次性物品 ***/ System.out.print("一次性物品开始:"); Utils.DateTime(); One_use one = new One_use(); one.init(); one.One_use_Entry_success(); /*** 一级供应室发货 ***/ System.out.print("发货开始:"); Utils.DateTime(); Utils.driver.navigate().refresh(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.tryToCloseWarningWindow(); Delivery delivery = new Delivery(); Utils.retryingFindAndClick(By.id("invoicePlan")); frame = Utils.retryingFindAndSwitchToFrame(By.id("iframe_invoicePlan")); String name = Utils.settings.getJSONObject("临床科室").getString("名称"); Utils.retryingFindAndClick( By.xpath("//a[contains(text(), '" + name + "')]")); Utils.driver.switchTo().defaultContent(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); delivery.Delivery_oneSupplyRoom(); delivery.after(); /*** 临床登记使用记录 ***/ System.out.print("登记使用记录开始:"); Utils.DateTime(); UserRecord userrecord = new UserRecord(); userrecord.init(); userrecord.UserRecord_success_ji(); /*** 临床归还借物 ***/ System.out.print("归还借物开始:"); Utils.DateTime(); Utils.retryingFindAndClick(By.xpath("//span[contains(text(), '个人桌面')]")); Apply apply = new Apply(); apply.apply_borrow_return(); apply.after(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } @AfterTest public void afterMethod() { Utils.driver.quit(); } }