Index: ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Materials.java =================================================================== diff -u -r20225 -r20583 --- ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Materials.java (.../Materials.java) (revision 20225) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/selenium/Materials.java (.../Materials.java) (revision 20583) @@ -3,13 +3,16 @@ */ package test.forgon.disinfectsystem.selenium; +import java.util.function.Function; + 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.WebElement; import org.openqa.selenium.os.WindowsUtils; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.Wait; @@ -204,27 +207,50 @@ .xpath("//button[contains(text(), '添加')]")); String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); - Utils.retryingFindAndClick(By.id("wareHouseName")); - Utils.retryingFindAndSendKeys(By.id("wareHouseName"), Keys.DOWN); - JSWaiter.waitUntilJQueryReady(); - Utils.retryingFindAndSendKeys(By.id("wareHouseName"), "\n"); - Utils.retryingFindAndSendKeys(By.id("name1"), Utils.settings - .getJSONObject("一级供应室材料").getString("拼音码")); - JSWaiter.waitUntilJQueryReady(); - Utils.retryingFindAndSendKeys(By.id("name1"), "\n"); - Utils.retryingFindAndSendKeys(By.id("supplier1"), Keys.DOWN); - JSWaiter.waitUntilJQueryReady(); - Utils.retryingFindAndSendKeys(By.id("supplier1"), "\n"); - Wait wait = WaitFactory.createDefaultWait(); - wait.until(ExpectedConditions.attributeToBeNotEmpty( - Utils.driver.findElement(By.id("cost1")), - "value")); - Utils.retryingFindAndSendKeys(By.id("amount1"), "2"); - Utils.retryingFindAndClick(By - .xpath("//button[contains(text(), '添加')]")); - Utils.retryingFindAndClick(By - .xpath("//button[contains(text(), '保存')]")); - JSWaiter.waitUntilJQueryReady(); + if (Utils.isFind(Utils.retryingFind(By.id("godownEntryForm")))) { + Utils.retryingFindAndClick(By + .cssSelector("input[name='wareHouseName']")); + String name = Utils.settings.getJSONObject("一级供应室用户") + .getString("科室名称"); + Utils.retryingFindAndSendKeys( + By.cssSelector("input[name='wareHouseName']"), + Keys.DOWN); + Wait wait = WaitFactory.createDefaultWait(); + wait.until(new Function() { + public WebElement apply(WebDriver driver) { + if (Utils.isFind(Utils.retryingFind(By + .xpath("//div/div/div[contains(text(), '" + + name + "')]")))) { + return Utils.retryingFind(By + .xpath("//div/div/div[contains(text(), '" + + name + "')]")); + } else { + Utils.retryingFindAndSendKeys( + By.cssSelector("input[name='wareHouseName']"), + Keys.DOWN); + return Utils.retryingFind(By + .xpath("//div/div/div[contains(text(), '" + + name + "')]")); + } + } + }); + Utils.retryingFindAndSendKeys(By.id("wareHouseName"), "\n"); + Utils.retryingFindAndSendKeys(By.id("name1"), Utils.settings + .getJSONObject("一级供应室材料").getString("拼音码")); + JSWaiter.waitUntilJQueryReady(); + Utils.retryingFindAndSendKeys(By.id("name1"), "\n"); + Utils.retryingFindAndSendKeys(By.id("supplier1"), Keys.DOWN); + JSWaiter.waitUntilJQueryReady(); + Utils.retryingFindAndSendKeys(By.id("supplier1"), "\n"); + wait.until(ExpectedConditions.attributeToBeNotEmpty( + Utils.driver.findElement(By.id("cost1")), "value")); + Utils.retryingFindAndSendKeys(By.id("amount1"), "2"); + 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());