Index: ssts-selenium-test/src/test/java/test_4_1/Recyle.java =================================================================== diff -u -r17876 -r17888 --- ssts-selenium-test/src/test/java/test_4_1/Recyle.java (.../Recyle.java) (revision 17876) +++ ssts-selenium-test/src/test/java/test_4_1/Recyle.java (.../Recyle.java) (revision 17888) @@ -473,22 +473,29 @@ @Test public void recyle_recyleSignboardAndDropAndScrap() { try { - Utils.retryingFindAndClick(By.linkText("添加")); - Thread.sleep(2000); + // 点击添加按钮 + Utils.retryingFindAndClick(By.id("addRecycleRecordBtn")); +// Thread.sleep(2000); WebElement recycleForm = scanRecycleUserBarcode(); // 扫描科室条码 - recycleForm.sendKeys(Utils.settings.getJSONObject("临床科室") + + Utils.retryingFindAndSendKeys(By.id("tousseItemTable"), Utils.settings.getJSONObject("临床科室") .getString("条码") + "\n"); + + // 断言临床科室的填写成功 + Utils.wait.until(ExpectedConditions.attributeContains(Utils + .retryingFind(By.id("depart")), "value", Utils.settings.getJSONObject("临床科室") + .getString("名称"))); + boolean displayed = false; - Thread.sleep(1000); - String a = Utils.settings.getJSONObject("一级供应室清洗篮筐2").getString( - "条码"); - - recycleForm.sendKeys(a + "\n"); - +// Thread.sleep(1000); + + Utils.retryingFindAndSendKeys(By.id("tousseItemTable"), Utils.settings.getJSONObject("一级供应室清洗篮筐2").getString( + "条码") + "\n"); + dialogWindowClose(); // 扫描标识牌条码回收入筐 - recycleForm.sendKeys(Utils.settings.getJSONObject("一级供应室器械包1") + Utils.retryingFindAndSendKeys(By.id("tousseItemTable"), Utils.settings.getJSONObject("一级供应室器械包1") .getString("标识牌条码2") + "\n"); // 增加丢失、报损 @@ -534,7 +541,7 @@ public void recyle_changeBasket() { try { Utils.retryingFindAndClick(By.linkText("添加")); - Thread.sleep(2000); +// Thread.sleep(2000); WebElement recycleForm = scanRecycleUserBarcode(); // 扫描科室条码 recycleForm.sendKeys(Utils.settings.getJSONObject("临床科室") @@ -680,10 +687,9 @@ Utils.retryingFindAndClick(By.id("amount1")); - WebElement amountFrame = Utils.fluentWaitUntilFind(By + Utils.retryingFindAndSwitchToFrame(By .id("xubox_iframe")); - Utils.driver.switchTo().frame(amountFrame); a = (int) (Math.random() * 8 + 1) + ""; Thread.sleep(500); Utils.retryingFindAndClick(By.id("button" + a)); @@ -738,7 +744,8 @@ Utils.retryingFindClickFirstCellOfTable(By .id("awaitForRecycleTable")); WebElement tousseItemTable = scanRecycleUserBarcode(); - tousseItemTable.sendKeys(Utils.settings.getJSONObject("一级供应室清洗篮筐4") + + Utils.retryingFindAndSendKeys(By.id("tousseItemTable"), Utils.settings.getJSONObject("一级供应室清洗篮筐4") .getString("条码") + "\n"); dialogWindowClose(); @@ -1018,6 +1025,21 @@ String name = Utils.settings.getJSONObject("回收人").getString("条码"); table = Utils.retryingFindAndSendKeys(By.id("tousseItemTable"), name + "\n"); + + // 断言回收人的姓名填写成功 + Wait wait = new FluentWait(Utils.driver) + .withTimeout(5000, TimeUnit.MILLISECONDS) + .pollingEvery(250, TimeUnit.MILLISECONDS) + .ignoring(NoSuchElementException.class) + .ignoring(StaleElementReferenceException.class); + + wait.until(ExpectedConditions.attributeContains(Utils + .retryingFind(By.id("recyclingUser")), "value", Utils.settings + .getJSONObject("回收人").getString("姓名"))); + +// AssertJUnit.assertEquals(Utils.settings.getJSONObject("回收人").getString("姓名") , +// Utils.retryingFind(By.id("recyclingUser")).getAttribute("value")); + // for (String winHandle : Utils.driver.getWindowHandles()) { // Utils.driver.switchTo().window(winHandle); @@ -1028,12 +1050,23 @@ name = Utils.settings.getJSONObject("清点人").getString("条码"); - Thread.sleep(1000); +// Thread.sleep(1000); // Utils.retryingFind(By.cssSelector("input[value='清点人员']")) // .click(); // 扫描清点人条码 - table.sendKeys(name + "\n"); + // 继续通过retryFind方式查找table,然后点击,提高可靠性 + table = Utils.retryingFindAndSendKeys(By.id("tousseItemTable"), name + "\n"); + + // 断言清点人的姓名填写成功 + wait.until(ExpectedConditions.attributeContains(Utils + .retryingFind(By.id("operator")), "value", Utils.settings + .getJSONObject("清点人").getString("姓名"))); + + +// AssertJUnit.assertEquals(Utils.settings.getJSONObject("清点人").getString("姓名") , +// Utils.retryingFind(By.id("operator")).getAttribute("value")); + // for (String winHandle : Utils.driver.getWindowHandles()) { // Utils.driver.switchTo().window(winHandle); // }