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.retryingFindAndClick(By.id("invoicePlan")); WebElement frame = Utils.retryingFindAndSwitchToFrame(By.id("iframe_invoicePlan")); 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.retryingFindAndSendKeys(By.id("senderBarcode"), Utils.settings.getJSONObject("一级供应室用户").getString("条码") + "\n"); // // 整筐发货 // Utils.retryingFindAndSendKeys(By.id("scanText"), // Utils.settings.getJSONObject("一级供应室灭菌篮筐2").getString("条码") // + "\n"); Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFindAndSendKeys(By.id("scanText"), Utils.settings.getJSONObject("一级供应室灭菌篮筐1").getString("条码") + "\n"); // 消毒物品固定条码发货 Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFindAndSendKeys(By.id("scanText"), Utils.settings.getJSONObject("一级供应室消毒物品").getString("固定条码") + "\n"); Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFindAndSendKeys(By.id("scanText"), Utils.settings.getJSONObject("一级供应室消毒物品1") .getString("固定条码") + "\n"); // 一次性物品发货 Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFindAndSendKeys(By.id("scanText"), Utils.settings.getJSONObject("一级供应室一次性物品").getString("条码1") + "\n"); Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFindAndSendKeys(By.id("scanText"), Utils.settings.getJSONObject("一级供应室一次性物品").getString("条码2") + "\n"); Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFindAndSendKeys(By.id("scanText"), Utils.settings.getJSONObject("一级供应室一次性物品").getString("条码3") + "\n"); Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '保存')]")); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 一级供应室发货及代理灭菌发货 * */ @Test public void Delivery_oneSupplyRoomAndAgent() { try { Utils.retryingFindAndSendKeys(By.id("senderBarcode"), Utils.settings.getJSONObject("一级供应室用户").getString("条码") + "\n"); // 整筐发货 Utils.retryingFindAndSendKeys(By.id("scanText"), Utils.settings.getJSONObject("一级供应室灭菌篮筐2").getString("条码") + "\n"); Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFindAndSendKeys(By.id("scanText"), Utils.settings.getJSONObject("一级供应室灭菌篮筐1").getString("条码") + "\n"); // 消毒物品固定条码发货 Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFindAndSendKeys(By.id("scanText"), Utils.settings.getJSONObject("一级供应室消毒物品").getString("固定条码") + "\n"); // 敷料包固定条码发货 Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFindAndSendKeys(By.id("scanText"), Utils.settings.getJSONObject("一级供应室敷料包").getString("固定条码") + "\n"); // 一次性物品发货 Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFindAndSendKeys(By.id("scanText"), Utils.settings.getJSONObject("一级供应室一次性物品").getString("条码1") + "\n"); Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFindAndSendKeys(By.id("scanText"), Utils.settings.getJSONObject("一级供应室一次性物品").getString("条码2") + "\n"); Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFindAndSendKeys(By.id("scanText"), Utils.settings.getJSONObject("一级供应室一次性物品").getString("条码3") + "\n"); Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '保存')]")); Utils.driver.navigate().refresh(); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.tryToCloseWarningWindow(); Utils.retryingFindAndClick(By.id("invoicePlan")); 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.retryingFindAndSendKeys(By.id("senderBarcode"), Utils.settings.getJSONObject("一级供应室用户").getString("条码") + "\n"); for (int i = 0; i < Utils.resendout.size(); i++) { Utils.retryingFindAndSendKeys(By.id("scanText"), Utils.resendout.get(i) + "\n"); } Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '保存')]")); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 二级供应室发货 * */ @Test public void Delivery_secondSupplyRoom() { try { Utils.retryingFindAndSendKeys(By.id("senderBarcode"), Utils.settings.getJSONObject("二级供应室用户").getString("条码") + "\n"); // 整筐发货 Utils.retryingFindAndSendKeys(By.id("scanText"), Utils.settings.getJSONObject("二级供应室灭菌篮筐1").getString("条码") + "\n"); // 消毒物品固定条码发货 Utils.retryingFind(By.id("scanText")).clear(); Utils.retryingFindAndSendKeys(By.id("scanText"), Utils.settings.getJSONObject("二级供应室消毒物品").getString("固定条码") + "\n"); Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '保存')]")); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 代理灭菌二次发货 * */ @Test public void Delivery_resendout() { try { Utils.retryingFindAndSendKeys(By.id("senderBarcode"), Utils.settings.getJSONObject("二级供应室用户").getString("条码") + "\n"); for (int i = 0; i < Utils.resendout.size(); i++) { Utils.retryingFindAndSendKeys(By.id("scanText"), Utils.resendout.get(i) + "\n"); } Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '保存')]")); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 退货后再次发货 * */ @Test public void Delivery_rejectsendout() { try { Utils.retryingFindAndClick(By.id("invoicePlan")); 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.retryingFindAndSendKeys(By.id("senderBarcode"), 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.retryingFindAndSendKeys(By.id("scanText"), Utils.reBarcodes.get(i) + "\n"); } } Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '保存')]")); } 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.retryingFindAndClick(By.id("enterpriseView")); 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.retryingFindAndClick(By.xpath("//button[contains(text(), '添加')]")); currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFindAndSendKeys(By.id("departSearch"),Keys.DOWN); String name = Utils.settings.getJSONObject("临床科室").getString("名称"); Utils.retryingFind( By.xpath("//div/div/div[contains(text(), '" + name + "')]")) .click(); Utils.retryingFindAndSendKeys(By.id("name1"), Utils.settings.getJSONObject("一级供应室材料").getString("拼音码")); Utils.retryingFindAndSendKeys(By.id("name1"), "\n"); Utils.retryingFindAndClick(By.id("userecordName")); 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.retryingFindAndClick(By.xpath("//button[contains(text(), '确定')]")); for (String winHandle : Utils.driver.getWindowHandles()) { Utils.driver.switchTo().window(winHandle); } Utils.retryingFindAndSendKeys(By.id("amount1"), "2" + "\n"); Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '保存')]")); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } @AfterMethod public void after() { Utils.driver.quit(); } }