package test_4_1; import org.testng.annotations.AfterMethod; import org.testng.annotations.Test; import org.testng.annotations.BeforeMethod; import org.testng.AssertJUnit; import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebElement; import test_4_1.tools.Utils; public class Delivery { @BeforeMethod public void init() { Utils.init(); Login login = new Login(); login.login_oneSupplyRoom(); Utils.retryingFind(By.id("invoicePlan")).click(); WebElement frame = Utils.retryingFind(By.id("iframe_invoicePlan")); Utils.driver.switchTo().frame(frame); String name = Utils.settings.getJSONObject("临床科室").getString("名称"); Utils.retryingFind(By.xpath("//a[contains(text(), '" + name + "')]")) .click(); Utils.driver.switchTo().defaultContent(); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); } @Test public void Delivery_fail() { Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); } /** * 一级供应室发货 * */ @Test public void Delivery_oneSupplyRoom() { try { Utils.retryingFind(By.id("senderBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").getString("条码") + "\n"); // // 整筐发货 // Utils.retryingFind(By.id("scanText")).sendKeys( // Utils.settings.getJSONObject("一级供应室灭菌篮筐2").getString("条码") // + "\n"); Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFind(By.id("scanText")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌篮筐1").getString("条码") + "\n"); // 消毒物品固定条码发货 Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFind(By.id("scanText")).sendKeys( Utils.settings.getJSONObject("一级供应室消毒物品").getString("固定条码") + "\n"); Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFind(By.id("scanText")).sendKeys( Utils.settings.getJSONObject("一级供应室消毒物品1") .getString("固定条码") + "\n"); // 一次性物品发货 Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFind(By.id("scanText")).sendKeys( Utils.settings.getJSONObject("一级供应室一次性物品").getString("条码1") + "\n"); Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFind(By.id("scanText")).sendKeys( Utils.settings.getJSONObject("一级供应室一次性物品").getString("条码2") + "\n"); Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFind(By.id("scanText")).sendKeys( Utils.settings.getJSONObject("一级供应室一次性物品").getString("条码3") + "\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 一级供应室发货及代理灭菌发货 * */ @Test public void Delivery_oneSupplyRoomAndAgent() { try { Utils.retryingFind(By.id("senderBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").getString("条码") + "\n"); // 整筐发货 Utils.retryingFind(By.id("scanText")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌篮筐2").getString("条码") + "\n"); Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFind(By.id("scanText")).sendKeys( Utils.settings.getJSONObject("一级供应室灭菌篮筐1").getString("条码") + "\n"); // 消毒物品固定条码发货 Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFind(By.id("scanText")).sendKeys( Utils.settings.getJSONObject("一级供应室消毒物品").getString("固定条码") + "\n"); // 敷料包固定条码发货 Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFind(By.id("scanText")).sendKeys( Utils.settings.getJSONObject("一级供应室敷料包").getString("固定条码") + "\n"); // 一次性物品发货 Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFind(By.id("scanText")).sendKeys( Utils.settings.getJSONObject("一级供应室一次性物品").getString("条码1") + "\n"); Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFind(By.id("scanText")).sendKeys( Utils.settings.getJSONObject("一级供应室一次性物品").getString("条码2") + "\n"); Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFind(By.id("scanText")).sendKeys( Utils.settings.getJSONObject("一级供应室一次性物品").getString("条码3") + "\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); Utils.driver.navigate().refresh(); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.tryToCloseWarningWindow(); Utils.retryingFind(By.id("invoicePlan")).click(); WebElement frame = Utils.retryingFind(By.id("iframe_invoicePlan")); Utils.driver.switchTo().frame(frame); String name = Utils.settings.getJSONObject("二级供应室用户").getString( "科室名称"); Utils.retryingFind( By.xpath("//a[contains(text(), '" + name + "')]")).click(); Utils.driver.switchTo().defaultContent(); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); // 代理灭菌发货 Utils.retryingFind(By.id("senderBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").getString("条码") + "\n"); for (int i = 0; i < Utils.resendout.size(); i++) { Utils.retryingFind(By.id("scanText")).sendKeys( Utils.resendout.get(i) + "\n"); } Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 二级供应室发货 * */ @Test public void Delivery_secondSupplyRoom() { try { Utils.retryingFind(By.id("senderBarcode")).sendKeys( Utils.settings.getJSONObject("二级供应室用户").getString("条码") + "\n"); // 整筐发货 Utils.retryingFind(By.id("scanText")).sendKeys( Utils.settings.getJSONObject("二级供应室灭菌篮筐1").getString("条码") + "\n"); // 消毒物品固定条码发货 Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFind(By.id("scanText")).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 Delivery_resendout() { try { Utils.retryingFind(By.id("senderBarcode")).sendKeys( Utils.settings.getJSONObject("二级供应室用户").getString("条码") + "\n"); for (int i = 0; i < Utils.resendout.size(); i++) { Utils.retryingFind(By.id("scanText")).sendKeys( Utils.resendout.get(i) + "\n"); } Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 退货后再次发货 * */ @Test public void Delivery_rejectsendout() { try { Utils.retryingFind(By.id("invoicePlan")).click(); WebElement frame = Utils.retryingFind(By.id("iframe_invoicePlan")); Utils.driver.switchTo().frame(frame); String name = Utils.settings.getJSONObject("临床科室").getString("名称"); Utils.retryingFind( By.xpath("//a[contains(text(), '" + name + "')]")).click(); Utils.driver.switchTo().defaultContent(); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.id("senderBarcode")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").getString("条码") + "\n"); for (int i = 0; i < Utils.reBarcodes.size(); i++) { int a = Integer.valueOf(Utils.reBarcodes.get(i)).intValue(); if (a % 2 == 0) { Utils.retryingFind(By.id("scanText")).sendKeys( Utils.reBarcodes.get(i) + "\n"); } } Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 材料发货 * */ @Test public void Delivery_materials() { 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("departSearch")).sendKeys(Keys.DOWN); String name = Utils.settings.getJSONObject("临床科室").getString("名称"); Utils.retryingFind( By.xpath("//div/div/div[contains(text(), '" + name + "')]")) .click(); Utils.retryingFind(By.id("name1")).sendKeys( Utils.settings.getJSONObject("一级供应室材料").getString("拼音码")); Utils.retryingFind(By.id("name1")).sendKeys("\n"); Utils.retryingFind(By.id("userecordName")).click(); for (String winHandle : Utils.driver.getWindowHandles()) { Utils.driver.switchTo().window(winHandle); } name = Utils.settings.getJSONObject("临床科室用户").getString("姓名"); Utils.retryingFind( By.xpath("//tbody/tr/td/div[contains(text(), '" + name + "')]")).click(); Utils.retryingFind(By.xpath("//button[contains(text(), '确定')]")) .click(); for (String winHandle : Utils.driver.getWindowHandles()) { Utils.driver.switchTo().window(winHandle); } Utils.retryingFind(By.id("amount1")).sendKeys("2" + "\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) .click(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } @AfterMethod public void after() { Utils.driver.quit(); } }