/** * */ package test_4_1; import org.testng.annotations.AfterMethod; import org.testng.annotations.Test; import org.testng.annotations.BeforeMethod; import org.testng.AssertJUnit; import java.text.SimpleDateFormat; import java.util.Date; import java.util.NoSuchElementException; import java.util.concurrent.TimeUnit; import java.util.function.Function; import org.openqa.selenium.Alert; import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.support.ui.FluentWait; import org.openqa.selenium.support.ui.Wait; import test_4_1.tools.Utils; /** * @author cherry 2016-03-02 * */ public class Disinfection { boolean displayed = false; @BeforeMethod public void init() { try { Utils.init(); Login login = new Login(); login.login_oneSupplyRoom(); /** * 调试用 * * login.login_secondSupplyRoom(); */ Actions moveover = new Actions(Utils.driver); moveover.moveToElement( Utils.retryingFind(By.id("sterilizationRecord"))).perform(); Utils.retryingFind( By.linkText(Utils.settings.getJSONObject("一级供应室灭菌炉") .getString("分类"))).click(); /** * 调试用 * * Utils.retryingFind( * By.linkText(Utils.settings.getJSONObject("二级供应室灭菌炉") * .getString("分类"))).click(); */ WebElement frame = Utils.retryingFind(By .id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); // Utils.retryingFind( // By.xpath("//button[contains(text(), '添加')]")).click(); // // Utils.driver.switchTo().defaultContent(); // String currentwindowhandle = Utils.driver.getWindowHandle(); // Utils.driver.switchTo().window(currentwindowhandle); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 灭菌失败 * */ @Test public void disinfection_fail() { Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); } /** * 灭菌装载 * */ @Test public void disinfection_loading() { try { Utils.driver.navigate().refresh(); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.tryToCloseWarningWindow(); Utils.retryingFind(By.id("sterilizationLoading")).click(); WebElement frame = Utils.retryingFind(By .id("iframe_sterilizationLoading")); Utils.driver.switchTo().frame(frame); String barcode = Utils.settings.getJSONObject("一级供应室灭菌篮筐1") .getString("条码"); Utils.retryingFind(By.id("barcode")).sendKeys(barcode + "\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '是')]")) .click(); Utils.retryingFind(By.cssSelector("img[onclick]")).click(); for (int i = 0; i < Utils.reBarcodes.size(); i++) { Utils.retryingFind(By.id("barcode")).sendKeys( Utils.reBarcodes.get(i) + "\n"); } } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 外部代理灭菌装载 * */ @Test public void disinfection_loading_outside() { try { Utils.driver.navigate().refresh(); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.tryToCloseWarningWindow(); Utils.retryingFind(By.id("sterilizationLoading")).click(); WebElement frame = Utils.retryingFind(By .id("iframe_sterilizationLoading")); Utils.driver.switchTo().frame(frame); String barcode = Utils.settings.getJSONObject("一级供应室灭菌篮筐2") .getString("条码"); Utils.retryingFind(By.id("barcode")).sendKeys(barcode + "\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '是')]")) .click(); Utils.retryingFind( By.cssSelector("div[class='x-grid3-hd-inner x-grid3-hd-checker']")) .click(); Utils.retryingFind(By.xpath("//button[contains(text(), '载入')]")) .click(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 第一炉灭菌 * */ @Test public void disinfection_frist() { try { Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌炉").getString("灭菌炉条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌炉") .getString("灭菌程序条码") + "\n"); Actions click = new Actions(Utils.driver); // Utils.retryingFind(By.id("sterilizationPurpose")).click(); // click.click(Utils.retryingFind(By.xpath("//div[contains(text(), '每天例行监测')]"))).perform(); click.click( Utils.retryingFind(By .xpath("//button[contains(text(), '保存')]"))) .perform(); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Alert alertBox = Utils.driver.switchTo().alert(); AssertJUnit.assertEquals("没有添加灭菌的物品,继续灭菌吗?", alertBox.getText()); alertBox.accept(); WebElement frame = Utils.retryingFind(By .id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.xpath("//p[contains(text(), '灭菌中')]")) .click(); Utils.retryingFind(By.xpath("//button[contains(text(), '完成灭菌')]")) .click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '是')]")) .click(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 灭菌中断后,灭菌成功 * */ @Test public void disinfection_stopAndSuccess() { try { Utils.retryingFind(By.id("sterilizationPurpose")).sendKeys( Keys.DOWN); Wait wait = new FluentWait(Utils.driver) .withTimeout(5000, TimeUnit.MILLISECONDS) .pollingEvery(100, TimeUnit.MILLISECONDS) .ignoring(NoSuchElementException.class); WebElement Purpose = wait .until(new Function() { public WebElement apply(WebDriver driver) { return driver.findElement(By .xpath("//div[contains(text(), '器械包灭菌')]")); } }); Purpose.click(); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌炉").getString("灭菌炉条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌炉") .getString("灭菌程序条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌篮筐2").getString("条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌篮筐3").getString("条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室敷料包").getString("固定条码") + "\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); WebElement frame = Utils.retryingFind(By .id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.xpath("//p[contains(text(), '灭菌中')]")) .click(); Utils.retryingFind(By.xpath("//button[contains(text(), '灭菌中断')]")) .click(); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '是')]")) .click(); /** 登记灭菌中断的质量监测 **/ currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.id("formName")).sendKeys(Keys.DOWN); Utils.retryingFind(By.xpath("//div[contains(text(), '灭菌器故障')]")) .click(); Utils.retryingFind(By.id("tousseName")).sendKeys(Keys.DOWN); Utils.retryingFind(By.id("configItemOption181")).sendKeys( "故障原因" + "\n"); Utils.retryingFind(By.id("tousseName")).sendKeys("\n"); Utils.retryingFind(By.id("saveBtn")).click(); /** 继续灭菌 **/ frame = Utils.retryingFind(By.id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.cssSelector("img[title='重新灭菌']")).click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '继续灭菌')]")) .click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '是')]")) .click(); frame = Utils.retryingFind(By.id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.xpath("//p[contains(text(), '灭菌中')]")) .click(); Utils.retryingFind(By.xpath("//button[contains(text(), '完成灭菌')]")) .click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '是')]")) .click(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 灭菌中断后,灭菌成功 * */ @Test public void disinfection_gdsy_stopAndSuccess1() { try { Utils.retryingFind(By.id("sterilizationPurpose")).sendKeys( Keys.DOWN); Wait wait = new FluentWait(Utils.driver) .withTimeout(5000, TimeUnit.MILLISECONDS) .pollingEvery(100, TimeUnit.MILLISECONDS) .ignoring(NoSuchElementException.class); WebElement Purpose = wait .until(new Function() { public WebElement apply(WebDriver driver) { return driver.findElement(By .xpath("//div[contains(text(), '器械包灭菌')]")); } }); Purpose.click(); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌炉").getString("灭菌炉条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌炉") .getString("灭菌程序条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").getString("条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌篮筐2").getString("条码") + "\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '一键入炉')]")) .click(); Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); WebElement frame = Utils.retryingFind(By .id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.xpath("//p[contains(text(), '灭菌中')]")) .click(); Utils.retryingFind(By.xpath("//button[contains(text(), '灭菌中断')]")) .click(); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '是')]")) .click(); /** 登记灭菌中断的质量监测 **/ currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.id("material")).sendKeys(Keys.DOWN); Utils.retryingFind(By.id("configItemOption27")).sendKeys(Keys.DOWN); Utils.retryingFind(By.id("configItemOption28")) .sendKeys("3" + "\n"); Utils.retryingFind(By.id("configItemOption30")).sendKeys( "P1" + "\n"); Utils.retryingFind(By.id("configItemOption23")).sendKeys(Keys.DOWN); Utils.retryingFind(By.id("configItemOption29")).sendKeys(Keys.DOWN); Utils.retryingFind(By.id("material")).sendKeys("\n"); Utils.retryingFind(By.id("configItemOption27")).sendKeys("\n"); Utils.retryingFind(By.id("configItemOption23")).sendKeys("\n"); Utils.retryingFind(By.id("configItemOption29")).sendKeys("\n"); Utils.retryingFind( By.cssSelector("input[name='cconfigItemOption24']")) .click(); Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); /** 继续灭菌 **/ frame = Utils.retryingFind(By.id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.cssSelector("img[title='重新灭菌']")).click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '继续灭菌')]")) .click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '是')]")) .click(); frame = Utils.retryingFind(By.id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.xpath("//p[contains(text(), '灭菌中')]")) .click(); Utils.retryingFind(By.xpath("//button[contains(text(), '完成灭菌')]")) .click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.id("completeUserBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").getString("条码") + "\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 灭菌中断后,灭菌成功 * */ @Test public void disinfection_gdsy_stopAndSuccess() { try { Utils.retryingFind(By.id("sterilizationPurpose")).sendKeys( Keys.DOWN); Wait wait = new FluentWait(Utils.driver) .withTimeout(5000, TimeUnit.MILLISECONDS) .pollingEvery(100, TimeUnit.MILLISECONDS) .ignoring(NoSuchElementException.class); WebElement Purpose = wait .until(new Function() { public WebElement apply(WebDriver driver) { return driver.findElement(By .xpath("//div[contains(text(), '器械包灭菌')]")); } }); Purpose.click(); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌炉").getString("灭菌炉条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌炉") .getString("灭菌程序条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").getString("条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌篮筐2").getString("条码") + "\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '一键入炉')]")) .click(); Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); WebElement frame = Utils.retryingFind(By .id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.xpath("//p[contains(text(), '灭菌中')]")) .click(); Utils.retryingFind(By.xpath("//button[contains(text(), '灭菌中断')]")) .click(); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '是')]")) .click(); /** 登记灭菌中断的质量监测 **/ currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); // Utils.retryingFind(By.id("material")).sendKeys(Keys.DOWN); // Utils.retryingFind(By.id("configItemOption27")).sendKeys( // Keys.DOWN); // Utils.retryingFind(By.id("configItemOption28")).sendKeys( // "3" + "\n"); // Utils.retryingFind(By.id("configItemOption30")).sendKeys( // "P1" + "\n"); // Utils.retryingFind(By.id("configItemOption23")).sendKeys( // Keys.DOWN); // Utils.retryingFind(By.id("configItemOption29")).sendKeys( // Keys.DOWN); // Utils.retryingFind(By.id("material")).sendKeys("\n"); // Utils.retryingFind(By.id("configItemOption27")) // .sendKeys("\n"); // Utils.retryingFind(By.id("configItemOption23")) // .sendKeys("\n"); // Utils.retryingFind(By.id("configItemOption29")) // .sendKeys("\n"); // Utils.retryingFind( // By.cssSelector("input[name='cconfigItemOption24']")) // .click(); Utils.retryingFind(By.id("scanBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室清洗篮筐1").getString("条码") + "\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); /** 继续灭菌 **/ frame = Utils.retryingFind(By.id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.cssSelector("img[title='重新灭菌']")).click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '继续灭菌')]")) .click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '是')]")) .click(); frame = Utils.retryingFind(By.id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.xpath("//p[contains(text(), '灭菌中')]")) .click(); Utils.retryingFind(By.xpath("//button[contains(text(), '完成灭菌')]")) .click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.id("completeUserBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").getString("条码") + "\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 灭菌失败后,重新灭菌成功 * */ @Test public void disinfection_failAndSuccess() { try { WebElement user = Utils.retryingFind(By.id("sterilizationUser")); String text = user.getText(); Utils.retryingFind(By.id("sterilizationPurpose")).sendKeys( Keys.DOWN); Utils.retryingFind(By.xpath("//div[contains(text(), '器械包灭菌')]")) .click(); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌炉").getString("灭菌炉条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌炉") .getString("灭菌程序条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌篮筐1").getString("条码") + "\n"); if (text.isEmpty()) { Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").getString("条码") + "\n"); } Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); WebElement frame = Utils.retryingFind(By .id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.xpath("//p[contains(text(), '灭菌中')]")) .click(); Utils.retryingFind(By.xpath("//button[contains(text(), '灭菌失败')]")) .click(); /** 登记灭菌失败的质量监测 **/ String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '是')]")) .click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.id("formName")).sendKeys(Keys.DOWN); Utils.retryingFind(By.xpath("//div[contains(text(), '灭菌失败事件')]")) .click(); Utils.retryingFind(By.id("tousseName")).sendKeys(Keys.DOWN); String x = (int) (Math.random() * 8 + 1) + ""; Utils.retryingFind(By.id("amount")).clear(); Utils.retryingFind(By.id("amount")).sendKeys(x + "\n"); // Utils.retryingFind(By.id("configItemOption102")).sendKeys( // Keys.DOWN); // Utils.retryingFind(By.id("configItemOption102")).sendKeys( // "\n"); // Utils.retryingFind(By.id("configItemOption103")).sendKeys( // "2" + "\n"); // Utils.retryingFind(By.id("configItemOption98")).sendKeys( // "失败过程描述" + "\n"); Utils.retryingFind(By.id("tousseName")).sendKeys("\n"); Utils.retryingFind(By.id("saveBtn")).click(); /** 重新灭菌 **/ frame = Utils.retryingFind(By.id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.cssSelector("img[title='重新灭菌']")).click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '重新灭菌')]")) .click(); frame = Utils.retryingFind(By.id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.xpath("//p[contains(text(), '灭菌中')]")) .click(); Utils.retryingFind(By.xpath("//button[contains(text(), '完成灭菌')]")) .click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); WebElement element = Utils.retryingFind(By .xpath("//button[contains(text(), '是')]")); if (element != null) { displayed = element.isDisplayed(); if (displayed) { Utils.retryingFind( By.xpath("//button[contains(text(), '是')]")) .click(); } else { Utils.retryingFind(By.id("completeUserBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").getString( "条码") + "\n"); Utils.retryingFind( By.xpath("//button[contains(text(), '保存')]")) .click(); } } frame = Utils.retryingFind(By.id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); element = Utils.retryingFind(By .xpath("//button[contains(text(), '灭菌确认')]")); displayed = false; if (element != null) { displayed = element.isDisplayed(); if (displayed) { confirm_One(); } } element = Utils.retryingFind(By .xpath("//button[contains(text(), '灭菌卸载')]")); displayed = false; if (element != null) { displayed = element.isDisplayed(); if (displayed) { confirm_One(); } } } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 省医灭菌失败后,重新灭菌成功 * */ @Test public void disinfection_gdsy_failAndSuccess1() { try { Utils.retryingFind(By.id("sterilizationPurpose")).sendKeys( Keys.DOWN); Utils.retryingFind(By.xpath("//div[contains(text(), '器械包灭菌')]")) .click(); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌炉").getString("灭菌炉条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌炉") .getString("灭菌程序条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌篮筐1").getString("条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").getString("条码") + "\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); WebElement frame = Utils.retryingFind(By .id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.xpath("//p[contains(text(), '灭菌中')]")) .click(); Utils.retryingFind(By.xpath("//button[contains(text(), '灭菌失败')]")) .click(); /** 登记灭菌失败的质量监测 **/ String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '是')]")) .click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.id("formName")).sendKeys(Keys.DOWN); Utils.retryingFind(By.xpath("//div[contains(text(), '湿包')]")) .click(); Utils.retryingFind(By.id("material")).sendKeys(Keys.DOWN); Utils.retryingFind(By.id("amount")).sendKeys("2" + "\n"); Utils.retryingFind(By.id("configItemOption34")).sendKeys(Keys.DOWN); Utils.retryingFind(By.id("configItemOption36")).sendKeys(Keys.DOWN); Utils.retryingFind(By.id("configItemOption35")) .sendKeys("2" + "\n"); Utils.retryingFind(By.id("configItemOption31")).sendKeys(Keys.DOWN); Utils.retryingFind(By.id("configItemOption33")).sendKeys(Keys.DOWN); Utils.retryingFind(By.id("configItemOption32")).sendKeys( "5cm" + "\n"); Utils.retryingFind(By.id("material")).sendKeys("\n"); Utils.retryingFind(By.id("configItemOption34")).sendKeys("\n"); Utils.retryingFind(By.id("configItemOption36")).sendKeys("\n"); Utils.retryingFind(By.id("configItemOption31")).sendKeys("\n"); Utils.retryingFind(By.id("configItemOption33")).sendKeys("\n"); Utils.retryingFind( By.cssSelector("input[name='cconfigItemOption37']")) .click(); Utils.retryingFind(By.id("configItemOption41")).sendKeys( "32" + "\n"); Utils.retryingFind(By.id("configItemOption42")).sendKeys( "23" + "\n"); Utils.retryingFind(By.id("configItemOption40")).sendKeys( "整改措施" + "\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); /** 重新灭菌 **/ frame = Utils.retryingFind(By.id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.cssSelector("img[title='重新灭菌']")).click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '重新灭菌')]")) .click(); frame = Utils.retryingFind(By.id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.xpath("//p[contains(text(), '灭菌中')]")) .click(); Utils.retryingFind(By.xpath("//button[contains(text(), '完成灭菌')]")) .click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.id("completeUserBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").getString("条码") + "\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 省医灭菌失败后,重新灭菌成功 * */ @Test public void disinfection_gdsy_failAndSuccess() { try { Utils.retryingFind(By.id("sterilizationPurpose")).sendKeys( Keys.DOWN); Utils.retryingFind(By.xpath("//div[contains(text(), '器械包灭菌')]")) .click(); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌炉").getString("灭菌炉条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌炉") .getString("灭菌程序条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌篮筐1").getString("条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").getString("条码") + "\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); WebElement frame = Utils.retryingFind(By .id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.xpath("//p[contains(text(), '灭菌中')]")) .click(); Utils.retryingFind(By.xpath("//button[contains(text(), '灭菌失败')]")) .click(); /** 登记灭菌失败的质量监测 **/ String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '是')]")) .click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); // Utils.retryingFind(By.id("formName")).sendKeys(Keys.DOWN); // // Utils.retryingFind(By.xpath("//div[contains(text(), '湿包')]")) // .click(); // Utils.retryingFind(By.id("material")).sendKeys(Keys.DOWN); // Utils.retryingFind(By.id("amount")).sendKeys("2" + "\n"); // Utils.retryingFind(By.id("configItemOption34")).sendKeys( // Keys.DOWN); // Utils.retryingFind(By.id("configItemOption36")).sendKeys( // Keys.DOWN); // Utils.retryingFind(By.id("configItemOption35")).sendKeys( // "2" + "\n"); // Utils.retryingFind(By.id("configItemOption31")).sendKeys( // Keys.DOWN); // Utils.retryingFind(By.id("configItemOption33")).sendKeys( // Keys.DOWN); // Utils.retryingFind(By.id("configItemOption32")).sendKeys( // "5cm" + "\n"); // Utils.retryingFind(By.id("material")).sendKeys("\n"); // Utils.retryingFind(By.id("configItemOption34")) // .sendKeys("\n"); // Utils.retryingFind(By.id("configItemOption36")) // .sendKeys("\n"); // Utils.retryingFind(By.id("configItemOption31")) // .sendKeys("\n"); // Utils.retryingFind(By.id("configItemOption33")) // .sendKeys("\n"); // Utils.retryingFind( // By.cssSelector("input[name='cconfigItemOption37']")) // .click(); // Utils.retryingFind(By.id("configItemOption41")).sendKeys( // "32" + "\n"); // Utils.retryingFind(By.id("configItemOption42")).sendKeys( // "23" + "\n"); // Utils.retryingFind(By.id("configItemOption40")).sendKeys( // "整改措施" + "\n"); Utils.retryingFind(By.id("scanBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室清洗篮筐1").getString("条码") + "\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); /** 重新灭菌 **/ frame = Utils.retryingFind(By.id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.cssSelector("img[title='重新灭菌']")).click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '重新灭菌')]")) .click(); frame = Utils.retryingFind(By.id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.xpath("//p[contains(text(), '灭菌中')]")) .click(); Utils.retryingFind(By.xpath("//button[contains(text(), '完成灭菌')]")) .click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.id("completeUserBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").getString("条码") + "\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 外部代理灭菌没有申请人 * */ @Test public void disinfection_agent_outside_noApply() { try { Utils.driver.navigate().refresh(); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.tryToCloseWarningWindow(); Utils.retryingFind(By.id("enterpriseView")).click(); WebElement frame = Utils.retryingFind(By .id("iframe_enterpriseView")); Utils.driver.switchTo().frame(frame); Utils.retryingFind( By.xpath("//div/a/span[contains(text(), '灭菌管理')]")).click(); Utils.retryingFind( By.xpath("//div/a/span[contains(text(), '外部代理灭菌管理')]")) .click(); frame = Utils.retryingFind(By.id("mainFrame")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.xpath("//button[contains(text(), '添加')]")) .click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.id("scanBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌篮筐2").getString("条码") + "\n"); Utils.retryingFind(By.id("depart")).sendKeys(Keys.DOWN); String name = Utils.settings.getJSONObject("临床科室").getString("名称"); Utils.retryingFind( By.xpath("//div/div/div[contains(text(), '" + name + "')]")) .click(); Utils.retryingFind(By.id("package1")).sendKeys(Keys.DOWN); name = Utils.settings.getJSONObject("一级供应室外部代理灭菌包1") .getString("名称"); Utils.retryingFind( By.xpath("//div/div/div[contains(text(), '" + name + "')]")) .click(); Date now = new Date(); SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd"); Utils.retryingFind(By.id("sterileStartDate1")).sendKeys( dateFormater.format(now)); Utils.retryingFind(By.id("count1")).sendKeys("2" + "\n"); Utils.retryingFind(By.id("package1")).sendKeys(Keys.DOWN); name = Utils.settings.getJSONObject("一级供应室外部代理灭菌包2") .getString("名称"); Utils.retryingFind( By.xpath("//div/div/div[contains(text(), '" + name + "')]")) .click(); Utils.retryingFind(By.id("count1")).sendKeys("3" + "\n"); Utils.retryingFind( By.xpath("//button[contains(text(), '装配并打印标签')]")).click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '是')]")) .click(); // /** 获取装配成功后的条码 **/ // Utils.barcodes = Utils.getToussesBarcodes(); // System.out.println(Utils.barcodes); // System.out.println(Utils.reBarcodes); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 外部代理灭菌没有申请人 * */ @Test public void disinfection_agent_outside() { try { Utils.driver.navigate().refresh(); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.tryToCloseWarningWindow(); Utils.retryingFind(By.id("enterpriseView")).click(); WebElement frame = Utils.retryingFind(By .id("iframe_enterpriseView")); Utils.driver.switchTo().frame(frame); Utils.retryingFind( By.xpath("//div/a/span[contains(text(), '灭菌管理')]")).click(); Utils.retryingFind( By.xpath("//div/a/span[contains(text(), '外部代理灭菌管理')]")) .click(); frame = Utils.retryingFind(By.id("mainFrame")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.xpath("//button[contains(text(), '添加')]")) .click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.id("scanBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌篮筐2").getString("条码") + "\n"); Utils.retryingFind(By.id("depart")).sendKeys(Keys.DOWN); String name = Utils.settings.getJSONObject("临床科室").getString("名称"); Utils.retryingFind( By.xpath("//div/div/div[contains(text(), '" + name + "')]")) .click(); name = Utils.settings.getJSONObject("一级供应室用户").getString("姓名"); Utils.retryingFind(By.id("applicant")).sendKeys(Keys.DOWN); Utils.retryingFind( By.xpath("//div/div/div[contains(text(), '" + name + "')]")) .click(); Utils.retryingFind(By.id("package1")).sendKeys(Keys.DOWN); name = Utils.settings.getJSONObject("一级供应室外部代理灭菌包1") .getString("名称"); Utils.retryingFind( By.xpath("//div/div/div[contains(text(), '" + name + "')]")) .click(); Date now = new Date(); SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd"); Utils.retryingFind(By.id("sterileStartDate1")).sendKeys( dateFormater.format(now)); Utils.retryingFind(By.id("count1")).sendKeys("2" + "\n"); Utils.retryingFind(By.id("package1")).sendKeys(Keys.DOWN); name = Utils.settings.getJSONObject("一级供应室外部代理灭菌包2") .getString("名称"); Utils.retryingFind( By.xpath("//div/div/div[contains(text(), '" + name + "')]")) .click(); Utils.retryingFind(By.id("count1")).sendKeys("3" + "\n"); Utils.retryingFind( By.xpath("//button[contains(text(), '装配并打印标签')]")).click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '是')]")) .click(); // /** 获取装配成功后的条码 **/ // Utils.barcodes = Utils.getToussesBarcodes(); // System.out.println(Utils.barcodes); // System.out.println(Utils.reBarcodes); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 省医外部代理灭菌 * */ @Test public void disinfection_gdsy_agent_outside() { try { Utils.driver.navigate().refresh(); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.tryToCloseWarningWindow(); Utils.retryingFind(By.id("enterpriseView")).click(); WebElement frame = Utils.retryingFind(By .id("iframe_enterpriseView")); Utils.driver.switchTo().frame(frame); Utils.retryingFind( By.xpath("//div/a/span[contains(text(), '灭菌管理')]")).click(); Utils.retryingFind( By.xpath("//div/a/span[contains(text(), '外部代理灭菌管理')]")) .click(); frame = Utils.retryingFind(By.id("mainFrame")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.xpath("//button[contains(text(), '添加')]")) .click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.id("depart")).sendKeys(Keys.DOWN); String name = Utils.settings.getJSONObject("临床科室").getString("名称"); Utils.retryingFind( By.xpath("//div/div/div[contains(text(), '" + name + "')]")) .click(); name = Utils.settings.getJSONObject("一级供应室用户").getString("姓名"); Utils.retryingFind(By.id("applicant")).sendKeys(Keys.DOWN); Utils.retryingFind( By.xpath("//div/div/div[contains(text(), '" + name + "')]")) .click(); Utils.retryingFind(By.id("package1")).sendKeys(Keys.DOWN); name = Utils.settings.getJSONObject("一级供应室外部代理灭菌包1") .getString("名称"); Utils.retryingFind( By.xpath("//div/div/div[contains(text(), '" + name + "')]")) .click(); Date now = new Date(); SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd"); Utils.retryingFind(By.id("sterileStartDate1")).sendKeys( dateFormater.format(now)); Utils.retryingFind(By.id("count1")).sendKeys("2" + "\n"); Utils.retryingFind(By.id("package1")).sendKeys(Keys.DOWN); name = Utils.settings.getJSONObject("一级供应室外部代理灭菌包2") .getString("名称"); Utils.retryingFind( By.xpath("//div/div/div[contains(text(), '" + name + "')]")) .click(); Utils.retryingFind(By.id("count1")).sendKeys("3" + "\n"); Utils.retryingFind(By.id("maker")).sendKeys( Utils.settings.getJSONObject("一级供应室配包人").getString("姓名")); Utils.retryingFind(By.id("maker")).sendKeys("\n"); Utils.retryingFind( By.xpath("//button[contains(text(), '装配并打印标签')]")).click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '是')]")) .click(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 代理灭菌 * */ @Test public void disinfection_agent() { try { Utils.retryingFind(By.id("enterpriseView")).click(); WebElement frame = Utils.retryingFind(By .id("iframe_enterpriseView")); Utils.driver.switchTo().frame(frame); Utils.retryingFind( By.xpath("//div/a/span[contains(text(), '灭菌管理')]")).click(); Utils.retryingFind( By.xpath("//div/a/span[contains(text(), '代理灭菌管理')]")) .click(); frame = Utils.retryingFind(By.id("mainFrame")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.xpath("//button[contains(text(), '添加')]")) .click(); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.id("package1")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌篮筐3").getString("条码") + "\n"); for (int i = 0; i < Utils.barcodes.size(); i++) { Utils.retryingFind(By.id("package1")).sendKeys( Utils.barcodes.get(i) + "\n"); } Utils.retryingFind(By.xpath("//button[contains(text(), '放入容器')]")) .click(); Utils.retryingFind(By.id("canResendout")).sendKeys(Keys.DOWN); Utils.retryingFind(By.xpath("//div/div/div[contains(text(), '是')]")) .click(); Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '是')]")) .click(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 二级供应室灭菌成功 * */ @Test public void disinfection_secondSupplyRoom() { try { Utils.retryingFind(By.id("sterilizationPurpose")).sendKeys( Keys.DOWN); Utils.retryingFind(By.id("sterilizationPurpose")).sendKeys("\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("二级供应室灭菌炉").getString("灭菌炉条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("二级供应室灭菌炉") .getString("灭菌程序条码") + "\n"); Utils.retryingFind(By.id("inputBarcode")).sendKeys( Utils.settings.getJSONObject("二级供应室灭菌篮筐1").getString("条码") + "\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); WebElement frame = Utils.retryingFind(By .id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind(By.xpath("//p[contains(text(), '灭菌中')]")) .click(); Utils.retryingFind(By.xpath("//button[contains(text(), '完成灭菌')]")) .click(); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.xpath("//button[contains(text(), '是')]")) .click(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } @AfterMethod public void after() { Utils.driver.quit(); } /** * 中大五院二级供应室灭菌完成后确认 */ public void confirm_Two() { try { WebElement frame = Utils.retryingFind(By .id("iframe_sterilizationRecord")); Utils.driver.switchTo().frame(frame); Utils.retryingFind( By.cssSelector("table[class='x-grid3-row-table']")).click(); Utils.retryingFind(By.xpath("//button[contains(text(), '灭菌确认')]")) .click(); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.id("completeUserBarcode1")).sendKeys( Utils.settings.getJSONObject("二级供应室审核人").getString("条码") + "\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '确认')]")) .click(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 中大五院一级供应室灭菌完成后确认 */ public void confirm_One() { try { // WebElement frame = Utils.retryingFind(By // .id("iframe_sterilizationRecord")); // Utils.driver.switchTo().frame(frame); Utils.retryingFind( By.cssSelector("table[class='x-grid3-row-table']")).click(); WebElement element = Utils.retryingFind(By .xpath("//button[contains(text(), '灭菌卸载')]")); displayed = false; if (element != null) { displayed = element.isDisplayed(); if (displayed) { Utils.retryingFind( By.xpath("//button[contains(text(), '灭菌卸载')]")) .click(); } } else { Utils.retryingFind( By.xpath("//button[contains(text(), '灭菌确认')]")).click(); } String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.id("completeUserBarcode1")).sendKeys( Utils.settings.getJSONObject("一级供应室审核人").getString("条码") + "\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '确认')]")) .click(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } }