Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java =================================================================== diff -u -r20225 -r20249 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java (.../ALL.java) (revision 20225) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/ALL.java (.../ALL.java) (revision 20249) @@ -59,6 +59,7 @@ private Sign sign = new Sign(); private Login login = new Login(); private Materials materials = new Materials(); + private Regular_Monitor regular_Monitor= new Regular_Monitor(); boolean displayed = false; // @BeforeMethod @@ -475,7 +476,12 @@ Utils.retryingFindAndClick(By .xpath("//div/a/span[contains(text(), '一次性物品管理')]")); one.One_use_check(); - one.after(); + /*** 供应室登记定期监测 ***/ + Utils.refresh(); + regular_Monitor.Regular_Monitor_Qualified(); + Utils.refresh(); + regular_Monitor.Regular_Monitor_Unqualified(); + regular_Monitor.after(); } catch (Exception e) { logger.error(e, e); e.printStackTrace(); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Regular_Monitor.java =================================================================== diff -u --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Regular_Monitor.java (revision 0) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Regular_Monitor.java (revision 20249) @@ -0,0 +1,135 @@ +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.WebDriver; +import org.openqa.selenium.os.WindowsUtils; +import org.openqa.selenium.support.ui.ExpectedConditions; +import org.openqa.selenium.support.ui.Wait; + +import test.forgon.disinfectsystem.selenium.factory.WaitFactory; +import test.forgon.disinfectsystem.selenium.tools.JSWaiter; +import test.forgon.disinfectsystem.selenium.tools.Utils; + +/** + * @author cherry 2017-10-10 + * + */ + +public class Regular_Monitor { + @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 Regular_Monitor_Qualified() { + try { + 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.retryingFindAndSwitchToFrame(By.id("mainFrame")); + 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 Regular_Monitor_Unqualified() { + try { + 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.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '添加')]")); + String currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); + Utils.retryingFindAndClick(By.cssSelector("input[value='不合格']")); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '添加质量监测')]")); + currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); + if (Utils.isFind(Utils.retryingFind(By.id("qualityMonitoringWin")))) { + Utils.retryingFindAndClick(By.id("qualityMonitoringWin")); + Wait wait = WaitFactory.createDefaultWait(); + wait.until(ExpectedConditions.attributeToBeNotEmpty( + Utils.driver.findElement(By.id("formName2")), "value")); + Utils.retryingFindAndClick(By.id("material2")); + Utils.retryingFindAndSendKeys(By.id("material2"), Keys.DOWN); + JSWaiter.waitUntilJQueryReady(); + Utils.retryingFindAndSendKeys(By.id("material2"), "\n"); + Utils.retryingFindAndClick(By.id("remark2")); + Utils.retryingFindAndSendKeys(By.id("remark2"), "定期监测不合格登记质量监测"); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '保存')]")); + JSWaiter.waitUntilJQueryReady(); + if (Utils.isFind(Utils.retryingFind(By + .id("qualityMonitoringWin")))) { + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '保存')]")); + } + currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); + JSWaiter.waitUntilJQueryReady(); + Utils.retryingFindAndSwitchToFrame(By + .id("iframe_enterpriseView")); + Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + Utils.retryingFindAndClick(By + .xpath("//div[contains(text(), '未审核')]")); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '审核')]")); + 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/Delivery.java =================================================================== diff -u -r20225 -r20249 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Delivery.java (.../Delivery.java) (revision 20225) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Delivery.java (.../Delivery.java) (revision 20249) @@ -9,9 +9,13 @@ import org.apache.commons.collections4.CollectionUtils; import org.openqa.selenium.By; import org.openqa.selenium.Keys; +import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.os.WindowsUtils; +import org.openqa.selenium.support.ui.ExpectedConditions; +import org.openqa.selenium.support.ui.Wait; +import test.forgon.disinfectsystem.selenium.factory.WaitFactory; import test.forgon.disinfectsystem.selenium.tools.JSWaiter; import test.forgon.disinfectsystem.selenium.tools.Utils; @@ -421,39 +425,43 @@ .xpath("//button[contains(text(), '添加')]")); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); - Utils.retryingFindAndSendKeys(By.id("departSearch"), Keys.DOWN); - String name = Utils.settings.getJSONObject("临床科室").getString("名称"); - Utils.retryingFindAndClick(By - .xpath("//div/div/div[contains(text(), '" + name + "')]")); - Utils.retryingFindAndSendKeys(By.id("name1"), Utils.settings - .getJSONObject("一级供应室材料").getString("拼音码")); + if (Utils.isFind(Utils.retryingFind(By.id("departSearch")))) { + Utils.retryingFindAndSendKeys(By.id("departSearch"), Keys.DOWN); + String name = Utils.settings.getJSONObject("临床科室").getString( + "名称"); + Utils.retryingFindAndClick(By + .xpath("//div/div/div[contains(text(), '" + name + + "')]")); + Wait wait = WaitFactory.createDefaultWait(); + wait.until(ExpectedConditions.attributeToBeNotEmpty( + Utils.driver.findElement(By.id("departSearch")), "value")); + 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); + Utils.retryingFindAndSendKeys(By.id("name1"), "\n"); + /** + * 暂时屏蔽 Utils.retryingFindAndClick(By.id("userecordName")); for + * (String winHandle : Utils.driver.getWindowHandles()) { + * Utils.driver.switchTo().window(winHandle); } + * Utils.retryingFindAndClick(By.id("materialInvoiceForm")); + * + * Utils.waitUntilUrlChange(Utils.settings.get("服务器地址").toString + * () + "disinfectsystem/invoice/selectUserecordWindowView.jsp", + * 15); name = + * Utils.settings.getJSONObject("临床科室用户").getString("姓名"); + * Utils.retryingFindAndClick(By + * .xpath("//tbody/tr/td/div[contains(text(), '" + name + + * "')]")); 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(), '保存')]")); + JSWaiter.waitUntilJQueryReady(); } - Utils.retryingFindAndClick(By.id("materialInvoiceForm")); - - Utils.waitUntilUrlChange(Utils.settings.get("服务器地址").toString() - + "disinfectsystem/invoice/selectUserecordWindowView.jsp", - 15); - name = Utils.settings.getJSONObject("临床科室用户").getString("姓名"); - Utils.retryingFindAndClick(By - .xpath("//tbody/tr/td/div[contains(text(), '" + name - + "')]")); - 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(), '保存')]")); - JSWaiter.waitUntilJQueryReady(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage());