Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Consume.java =================================================================== diff -u -r20068 -r20206 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Consume.java (.../Consume.java) (revision 20068) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Consume.java (.../Consume.java) (revision 20206) @@ -6,8 +6,15 @@ 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 com.sun.media.jfxmedia.logging.Logger; + +import test.forgon.disinfectsystem.selenium.factory.WaitFactory; +import test.forgon.disinfectsystem.selenium.tools.JSWaiter; import test.forgon.disinfectsystem.selenium.tools.Utils; /** @@ -23,16 +30,15 @@ Login login = new Login(); login.login_oneSupplyRoom(); Utils.retryingFindAndClick(By.id("enterpriseView")); - Utils.retryingFindAndSwitchToFrame(By - .id("iframe_enterpriseView")); - Utils.retryingFindAndClick( - By.xpath("//div/span[contains(text(), '后台监控管理')]")); + 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("//ul/li/div/a/span[contains(text(), '消毒供应中心物品领用')]")); + Utils.retryingFindAndClick(By + .xpath("//ul/li/div/a/span[contains(text(), '消毒供应中心物品领用')]")); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); @@ -46,30 +52,57 @@ public void Consume_success() { try { Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); - Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '添加')]")); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '添加')]")); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); - Utils.retryingFindAndSendKeys(By.id("cssdWareHouse"),Keys.DOWN); + if (Utils.isFind(Utils.retryingFind(By + .id("godownOutToSupplyRoomWin")))) { + Utils.retryingFindAndClick(By.id("godownOutToSupplyRoomWin")); + Wait wait = WaitFactory.createDefaultWait(); + wait.until(ExpectedConditions.attributeToBeNotEmpty( + Utils.driver.findElement(By.id("time")), "value")); + wait.until(ExpectedConditions.elementToBeClickable(By + .id("cssdWareHouse"))); + if (Utils.isFind(Utils.retryingFind(By.id("cssdWareHouse")))) { + Utils.retryingFindAndClick(By.id("cssdWareHouse")); + JSWaiter.waitUntilJQueryReady(); + Utils.retryingFindAndSendKeys(By.id("cssdWareHouse"), + Keys.DOWN); + JSWaiter.waitUntilJQueryReady(); + Utils.retryingFindAndSendKeys(By.id("cssdWareHouse"), "\n"); + wait.until(ExpectedConditions.attributeToBeNotEmpty( + Utils.driver.findElement(By.id("cssdWareHouse")), + "value")); + String name = Utils.settings.getJSONObject("一级供应室一次性物品") + .getString("名称"); + Utils.retryingFindAndSendKeys(By.id("diposableGoodsName"), + name); - Utils.retryingFindAndSendKeys(By.id("cssdWareHouse"), "\n"); - String name = Utils.settings.getJSONObject("一级供应室一次性物品").getString( - "名称"); - Utils.retryingFindAndSendKeys(By.id("diposableGoodsName"),name); + Utils.retryingFindAndSendKeys(By.id("diposableGoodsName"), + "\n"); + Utils.retryingFindAndSendKeys(By.id("batchNumber1"), + Keys.DOWN); + Utils.retryingFindAndClick(By + .xpath("//div/div[contains(text(), '20170308')]")); + Utils.retryingFindAndSendKeys( + By.id("diposableGoodsAmount"), "1" + "\n"); + Utils.retryingFindAndSendKeys( + By.id("materialCombo"), + Utils.settings.getJSONObject("一级供应室材料").getString( + "拼音码")); - Utils.retryingFindAndSendKeys(By.id("diposableGoodsName"), "\n"); - Utils.retryingFindAndSendKeys(By.id("batchNumber1"),Keys.DOWN); - Utils.retryingFindAndClick( - By.xpath("//div/div[contains(text(), '20170308')]")); - Utils.retryingFindAndSendKeys(By.id("diposableGoodsAmount"), - "1" + "\n"); - Utils.retryingFindAndSendKeys(By.id("materialCombo"), - Utils.settings.getJSONObject("一级供应室材料").getString("拼音码")); + Utils.retryingFindAndSendKeys(By.id("materialAmount"), "2"); - Utils.retryingFindAndSendKeys(By.id("materialAmount"), "2"); - - Utils.retryingFindAndSendKeys(By.id("materialCombo"), "\n"); - Utils.retryingFindAndSendKeys(By.id("materialAmount"), "\n"); - Utils.retryingFindAndClick(By.xpath("//button[contains(text(), '保存')]")); + Utils.retryingFindAndSendKeys(By.id("materialCombo"), "\n"); + Utils.retryingFindAndSendKeys(By.id("materialAmount"), "\n"); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '保存')]")); + JSWaiter.waitUntilJQueryReady(); + } else { + System.out.print("领用仓库不可点击"); + } + } } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage());