Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Intervene.java =================================================================== diff -u --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Intervene.java (revision 0) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Intervene.java (revision 20573) @@ -0,0 +1,140 @@ +package test.forgon.disinfectsystem.selenium; + +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 org.openqa.selenium.os.WindowsUtils; + +import test.forgon.disinfectsystem.selenium.tools.JSWaiter; +import test.forgon.disinfectsystem.selenium.tools.Utils; + +/** + * @author cherry 2017-10-31 + * + */ + +public class Intervene { + @BeforeMethod + public void init() { + try { + Utils.init(); + Login login = new Login(); + login.login_oneSupplyRoom(); + } catch (Exception e) { + e.printStackTrace(); + AssertJUnit.fail(e.getMessage()); + } + } + + /** + * 干预一次性物品(普通物品转换成高值耗材) + * */ + @Test + public void Intervene_One_Use() { + try { + Utils.refresh(); + Utils.retryingFindAndClick(By.id("enterpriseView")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_enterpriseView")); + Utils.retryingFindAndClick(By + .xpath("//div/span[contains(text(), '后台监控管理')]")); + Utils.retryingFindAndClick(By + .xpath("//div/a/span[contains(text(), '干预管理')]")); + Utils.retryingFindAndClick(By + .xpath("//div/a/span[contains(text(), '一次性物品干预管理')]")); + Utils.retryingFindAndClick(By + .cssSelector("a[target='mainFrame'][class='x-tree-node-anchor']")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + String name = Utils.settings.getJSONObject("一级供应室一次性物品2") + .getString("名称"); + Utils.retryingFindAndHover(By.xpath("//div/a[contains(text(), '" + + name + "')]")); + WebElement a = Utils.retryingFindAndSendKeys( + By.xpath("//div/a[contains(text(), '" + name + "')]"), + Keys.ARROW_LEFT); + a.click(); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '转换为高值耗材')]")); + String currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '是')]")); + JSWaiter.waitUntilJQueryReady(); + } catch (Exception e) { + e.printStackTrace(); + AssertJUnit.fail(e.getMessage()); + } + } + + /** + * 干预一次性物品入库单(增加高值耗材入库) + * */ + @Test + public void Intervene_One_Use_Entry() { + try { + Utils.refresh(); + Utils.retryingFindAndClick(By.id("enterpriseView")); + Utils.retryingFindAndSwitchToFrame(By.id("iframe_enterpriseView")); + Utils.retryingFindAndClick(By + .xpath("//div/span[contains(text(), '后台监控管理')]")); + Utils.retryingFindAndClick(By + .xpath("//div/a/span[contains(text(), '干预管理')]")); + Utils.retryingFindAndClick(By + .xpath("//div/a/span[contains(text(), '一次性物品干预管理')]")); + Utils.retryingFindAndClick(By + .xpath("//div/a/span[contains(text(), '一次性物品入库单干预管理')]")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + if (Utils.isFind(Utils.retryingFind(By + .cssSelector("div[class='x-grid3-row-checker']")))) { + Utils.retryingFindAndClick(By + .cssSelector("div[class='x-grid3-row-checker']")); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '修改')]")); + String currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); + Utils.retryingFind(By + .cssSelector("div[class='x-grid3-viewport']")); + String name = Utils.settings.getJSONObject("一级供应室一次性物品2") + .getString("名称"); + Utils.retryingFindAndClick(By.id("name1")); + Utils.retryingFindAndSendKeys(By.id("name1"), name); + Utils.retryingFind(By + .cssSelector("div[class='x-combo-list-item x-combo-selected']")); + Utils.retryingFindAndSendKeys(By.id("name1"), "\n"); + String x = (int) (Math.random() * 8 + 3) + ""; + Utils.retryingFindAndSendKeys(By.id("amount1"), x + "\n"); + Utils.retryingFindAndSendKeys(By.id("batchNumber1"), "2017100" + + x + "\n"); + Utils.retryingFindAndSendKeys(By.id("expDate1"), "2020100" + x + + "\n"); + Utils.retryingFindAndSendKeys(By.id("cost1"), x + "." + x + + "\n"); + Utils.retryingFindAndSendKeys(By.id("supplier1"), Keys.DOWN); + Utils.retryingFind(By + .cssSelector("div[class='x-combo-list-item x-combo-selected']")); + Utils.retryingFindAndSendKeys(By.id("supplier1"), "\n"); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '添加')]")); + JSWaiter.waitUntilJQueryReady(); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '更新')]")); + } + JSWaiter.waitUntilJQueryReady(); + } catch (Exception e) { + e.printStackTrace(); + AssertJUnit.fail(e.getMessage()); + } + } + + @AfterMethod + public void after() { + Utils.driver.quit(); + WindowsUtils.killByName("IEDriverServer.exe"); + WindowsUtils.killByName("iexplore.exe"); + WindowsUtils.killByName("iexplore.exe *32"); + } + +} Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java =================================================================== diff -u -r20551 -r20573 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java (.../ALL.java) (revision 20551) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java (.../ALL.java) (revision 20573) @@ -61,6 +61,7 @@ private Materials materials = new Materials(); private Regular_Monitor regular_Monitor= new Regular_Monitor(); private Recall recall = new Recall(); + private Intervene intervene=new Intervene(); boolean displayed = false; // @BeforeMethod @@ -555,7 +556,14 @@ recall.Recall_One_use(); Utils.refresh(); recall.Recall_Set(); - recall.after(); + /*** 供应室干预一次性物品***/ + System.out.print("干预开始:"); + Utils.driver.switchTo().defaultContent(); + Utils.retryingFindAndClick(By + .xpath("//span[contains(text(), '个人桌面')]")); + intervene.Intervene_One_Use(); + intervene.Intervene_One_Use_Entry(); + intervene.after(); } catch (Exception e) { logger.error(e, e); e.printStackTrace();