Index: ssts-selenium-test/src/test/java/test_4_1/Apply.java =================================================================== diff -u -r17680 -r17694 --- ssts-selenium-test/src/test/java/test_4_1/Apply.java (.../Apply.java) (revision 17680) +++ ssts-selenium-test/src/test/java/test_4_1/Apply.java (.../Apply.java) (revision 17694) @@ -219,7 +219,8 @@ if (displayed) { // 定位到弹出对话框的按钮 Wait wait = new FluentWait( - Utils.driver).withTimeout(5000, TimeUnit.MILLISECONDS) + Utils.driver) + .withTimeout(5000, TimeUnit.MILLISECONDS) .pollingEvery(250, TimeUnit.MILLISECONDS) .ignoring(NoSuchElementException.class); WebElement yesbutton = wait @@ -311,13 +312,13 @@ Utils.retryingFind(By.id("package1-inputEl")).sendKeys( Utils.settings.getJSONObject("一级供应室消毒物品").getString("名称")); - Utils.retryingFind(By.id("count1-inputEl")).sendKeys("2" ); + Utils.retryingFind(By.id("count1-inputEl")).sendKeys("2"); Utils.retryingFind(By.id("package1-inputEl")).sendKeys("\n"); - - Utils.retryingFind(By.id("count1-inputEl")).sendKeys( "\n"); + + Utils.retryingFind(By.id("count1-inputEl")).sendKeys("\n"); Utils.retryingFind(By.id("package1-inputEl")).sendKeys( Utils.settings.getJSONObject("一级供应室消毒物品1").getString("名称")); - Utils.retryingFind(By.id("count1-inputEl")).sendKeys("2" ); + Utils.retryingFind(By.id("count1-inputEl")).sendKeys("2"); Utils.retryingFind(By.id("package1-inputEl")).sendKeys("\n"); Utils.retryingFind( By.xpath("//span/span/span[contains(text(), '提交')]")) @@ -460,17 +461,17 @@ Utils.retryingFind( By.xpath("//div/ul/li[contains(text(), '" + SupplyRoomName + "')]")).click(); - - /** - * 开发测试用例暂无模板,暂时屏蔽 - JavascriptExecutor js = (JavascriptExecutor) Utils.driver; - String enterEdit = "var leftTreeGrid = top.Ext4.getCmp('tousseTreeGrid');" - + "leftTreeGrid.cellEditing.startEditByPosition({row: 1,column: 2});"; - js.executeScript(enterEdit); - Actions action = new Actions(Utils.driver); - action.sendKeys("2" + "\n").perform(); - **/ + /** + * 开发测试用例暂无模板,暂时屏蔽 JavascriptExecutor js = (JavascriptExecutor) + * Utils.driver; String enterEdit = + * "var leftTreeGrid = top.Ext4.getCmp('tousseTreeGrid');" + + * "leftTreeGrid.cellEditing.startEditByPosition({row: 1,column: 2});" + * ; + * + * js.executeScript(enterEdit); Actions action = new + * Actions(Utils.driver); action.sendKeys("2" + "\n").perform(); + **/ Utils.retryingFind(By.cssSelector("input[name='package1']")) .sendKeys( Utils.settings.getJSONObject("一级供应室敷料包").getString( @@ -480,15 +481,15 @@ .sendKeys("\n"); Utils.retryingFind(By.cssSelector("input[name='count1']")) .sendKeys("2" + "\n"); - Utils.retryingFind(By.cssSelector("input[name='package1']")) - .sendKeys( - Utils.settings.getJSONObject("一级供应室器械包3").getString( - "名称")); - - Utils.retryingFind(By.cssSelector("input[name='package1']")) - .sendKeys("\n"); - Utils.retryingFind(By.cssSelector("input[name='count1']")) - .sendKeys("2" + "\n"); + Utils.retryingFind(By.cssSelector("input[name='package1']")) + .sendKeys( + Utils.settings.getJSONObject("一级供应室器械包3") + .getString("名称")); + + Utils.retryingFind(By.cssSelector("input[name='package1']")) + .sendKeys("\n"); + Utils.retryingFind(By.cssSelector("input[name='count1']")) + .sendKeys("2" + "\n"); Utils.retryingFind( By.xpath("//span/span/span[contains(text(), '提交')]")) .click(); @@ -500,7 +501,8 @@ if (displayed) { // 定位到弹出对话框的按钮 Wait wait = new FluentWait( - Utils.driver).withTimeout(5000, TimeUnit.MILLISECONDS) + Utils.driver) + .withTimeout(5000, TimeUnit.MILLISECONDS) .pollingEvery(250, TimeUnit.MILLISECONDS) .ignoring(NoSuchElementException.class); WebElement yesbutton = wait @@ -734,11 +736,11 @@ + SupplyRoomName + "')]")).click(); Utils.retryingFind(By.cssSelector("input[name='leaseTousseName']")) .sendKeys( - Utils.settings.getJSONObject("一级供应室器械包").getString( + Utils.settings.getJSONObject("一级供应室器械包2").getString( "名称")); - Utils.retryingFind(By.id("applicantAmount")).sendKeys("2" ); + Utils.retryingFind(By.id("applicantAmount")).sendKeys("2"); Utils.retryingFind(By.cssSelector("input[name='leaseTousseName']")) - .sendKeys("\n"); + .sendKeys("\n"); Utils.retryingFind(By.id("applicantAmount")).sendKeys("\n"); Utils.retryingFind(By.xpath("//button[contains(text(), '提交')]")) .click(); @@ -747,14 +749,12 @@ .withTimeout(5000, TimeUnit.MILLISECONDS) .pollingEvery(250, TimeUnit.MILLISECONDS) .ignoring(NoSuchElementException.class); - WebElement yesbutton = wait - .until(new Function() { - public WebElement apply(WebDriver driver) { - return driver.findElement(By - .xpath("//button[contains(text(), '是')]")); - } - }); - yesbutton.click(); + wait.until(new Function() { + public WebElement apply(WebDriver driver) { + return Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '是')]")); + } + }); } catch (Exception e) { e.printStackTrace(); Assert.fail(e.getMessage()); @@ -772,27 +772,36 @@ WebElement frame = Utils .retryingFind(By.id("iframe_borrowManager")); Utils.driver.switchTo().frame(frame); - Utils.retryingFind(By.cssSelector("input[value='归还物品']")).click(); + boolean displayed = false; + WebElement element = Utils.retryingFind(By + .cssSelector("input[value='归还物品']")); + if (element != null) { + displayed = element.isDisplayed(); + if (displayed) { + Utils.retryingFindAndClick(By + .cssSelector("input[value='归还物品']")); + String currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); - String currentwindowhandle = Utils.driver.getWindowHandle(); - Utils.driver.switchTo().window(currentwindowhandle); - - Utils.retryingFind(By.xpath("//button[contains(text(), '保存')]")) - .click(); - // 定位到弹出对话框的按钮 - Wait wait = new FluentWait(Utils.driver) - .withTimeout(5000, TimeUnit.MILLISECONDS) - .pollingEvery(250, TimeUnit.MILLISECONDS) - .ignoring(NoSuchElementException.class); - WebElement yesbutton = wait - .until(new Function() { - public WebElement apply(WebDriver driver) { - return driver.findElement(By - .xpath("//button[contains(text(), '是')]")); - } - }); - yesbutton.click(); - + Utils.retryingFind( + By.xpath("//button[contains(text(), '保存')]")) + .click(); + // 定位到弹出对话框的按钮 + Wait wait = new FluentWait( + Utils.driver) + .withTimeout(5000, TimeUnit.MILLISECONDS) + .pollingEvery(250, TimeUnit.MILLISECONDS) + .ignoring(NoSuchElementException.class); + WebElement yesbutton = wait + .until(new Function() { + public WebElement apply(WebDriver driver) { + return driver.findElement(By + .xpath("//button[contains(text(), '是')]")); + } + }); + yesbutton.click(); + } + } } catch (Exception e) { e.printStackTrace(); Assert.fail(e.getMessage()); Index: ssts-selenium-test/src/test/java/test_4_1/Assemble.java =================================================================== diff -u -r17686 -r17694 --- ssts-selenium-test/src/test/java/test_4_1/Assemble.java (.../Assemble.java) (revision 17686) +++ ssts-selenium-test/src/test/java/test_4_1/Assemble.java (.../Assemble.java) (revision 17694) @@ -504,9 +504,8 @@ currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); - Utils.retryingFind( - By.xpath("//button[contains(text(), '确定')]")) - .click(); + Utils.retryingFindAndClick(By + .xpath("//button[contains(text(), '确定')]")); // Utils.driver.navigate().refresh(); // currentwindowhandle = Utils.driver.getWindowHandle(); @@ -591,7 +590,8 @@ Utils.retryingFind( By.xpath("//div/ul/li[contains(text(), '" + name + "')]")).click(); - Wait wait = new FluentWait(Utils.driver) + Wait wait = new FluentWait( + Utils.driver) .withTimeout(5000, TimeUnit.MILLISECONDS) .pollingEvery(250, TimeUnit.MILLISECONDS) .ignoring(NoSuchElementException.class); @@ -909,7 +909,7 @@ Utils.driver.switchTo().window(currentwindowhandle); Utils.retryingFind(By.cssSelector("input[name='sterilingType']")) .click(); - String name = Utils.settings.getJSONObject("灭菌程序").getString("名称1"); + String name = Utils.settings.getJSONObject("灭菌程序").getString("名称2"); action.click( Utils.retryingFind(By .xpath("//div/div/ul/li[contains(text(), '" + name @@ -1165,7 +1165,7 @@ Utils.driver.switchTo().frame(frame); scan(); Utils.retryingFind(By.id("tousseName")).sendKeys(Keys.DOWN); - String name = Utils.settings.getJSONObject("一级供应室器械包").getString( + String name = Utils.settings.getJSONObject("一级供应室器械包2").getString( "名称"); Utils.retryingFind( Index: ssts-selenium-test/src/test/java/test_4_1/Disinfection.java =================================================================== diff -u -r17680 -r17694 --- ssts-selenium-test/src/test/java/test_4_1/Disinfection.java (.../Disinfection.java) (revision 17680) +++ ssts-selenium-test/src/test/java/test_4_1/Disinfection.java (.../Disinfection.java) (revision 17694) @@ -584,10 +584,12 @@ currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); + Utils.retryingFind(By.id("formName")).sendKeys(Keys.DOWN); Utils.retryingFind(By.xpath("//div[contains(text(), '灭菌失败事件')]")) .click(); + /**Utils.retryingFindAndSendKeys(By.id("scanBarcode"),Utils.settings.getJSONObject("一级供应室清洗篮筐1").getString("条码")+"\n");**/ Utils.retryingFind(By.id("tousseName")).sendKeys(Keys.DOWN); String x = (int) (Math.random() * 8 + 1) + ""; Utils.retryingFind(By.id("amount")).clear(); Index: ssts-selenium-test/src/test/java/test_4_1/ALL.java =================================================================== diff -u -r17686 -r17694 --- ssts-selenium-test/src/test/java/test_4_1/ALL.java (.../ALL.java) (revision 17686) +++ ssts-selenium-test/src/test/java/test_4_1/ALL.java (.../ALL.java) (revision 17694) @@ -347,18 +347,22 @@ /*** 一级供应室发货 ***/ System.out.print("发货开始:"); Utils.DateTime(); - Utils.driver.switchTo().defaultContent(); - - Utils.retryingFind(By.xpath("//span[contains(text(), '个人桌面')]")) - .click(); + Utils.driver.navigate().refresh(); + currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); + Utils.tryToCloseWarningWindow(); +// Utils.driver.switchTo().defaultContent(); +// Utils.retryingFindAndClick(By.xpath("//span[contains(text(), '个人桌面')]")); Delivery delivery = new Delivery(); - Utils.retryingFind(By.id("invoicePlan")).click(); + Utils.retryingFindAndClick(By.id("invoicePlan")); +// WebElement frame = Utils.retryingFind(By.id("iframe_invoicePlan")); Utils.driver.switchTo().frame(frame); String name = Utils.settings.getJSONObject("临床科室").getString("名称"); Utils.retryingFind( By.xpath("//a[contains(text(), '" + name + "')]")).click(); Utils.driver.switchTo().defaultContent(); +// String currentwindowhandle = Utils.driver.getWindowHandle(); Utils.driver.switchTo().window(currentwindowhandle); delivery.Delivery_oneSupplyRoom(); Index: ssts-selenium-test/src/test/resources/test_4_1/config/all/settings.json =================================================================== diff -u -r17686 -r17694 --- ssts-selenium-test/src/test/resources/test_4_1/config/all/settings.json (.../settings.json) (revision 17686) +++ ssts-selenium-test/src/test/resources/test_4_1/config/all/settings.json (.../settings.json) (revision 17694) @@ -5,18 +5,18 @@ "临床科室用户": {"工号": "neikeuser1","条码": "0100003001","姓名": "neikeuser1全名","密码": "1"}, "系统管理员": {"工号": "admin","条码": "0100001008","姓名": "admin全名","密码": "1"}, "临床科室": {"条码": "310000120","科室编码": "testNeike","名称": "测试内科"}, - "一级供应室器械包": {"固定条码": "","名称": "Test缝合包"}, + "一级供应室器械包": {"固定条码": "","名称": "Test穿刺包"}, "一级供应室器械包1": {"固定条码": "","标识牌条码1": "010316310","标识牌条码2": "010316320","标识牌条码2id":"1","标识牌条码3": "010316330","标识牌条码3id":"2","名称": "Test开颅包"}, "一级供应室器械包2": {"固定条码": "","名称": "Test开口包"}, "一级供应室器械包3": {"固定条码": "","名称": "Test开胸包"}, "一级供应室自定义器械包": {"名称": ""}, "一级供应室敷料包": {"固定条码": "","标识牌条码": "","名称": "Test治疗巾"}, "二级供应室器械包": {"固定条码": "","名称": ""}, "二级供应室敷料包": {"固定条码": "","名称": ""}, - "一级供应室消毒物品": {"固定条码": "010012000","名称": "Test雾化器"}, + "一级供应室消毒物品": {"固定条码": "010011072","名称": "Test雾化器"}, "一级供应室消毒物品1": {"固定条码": "","名称": "呼吸机"}, "二级供应室消毒物品": {"固定条码": "","名称": ""}, - "一级供应室一次性物品": {"条码1": "","条码2": "","条码3": "","名称": "动脉采血器"}, + "一级供应室一次性物品": {"条码1": "010011069","条码2": "010011070","条码3": "010011071","名称": "动脉采血器"}, "一级供应室外部代理灭菌包": {"固定条码": "","名称": "4#压力蒸汽灭菌包"}, "一级供应室材料": {"拼音码": "qz","名称": "Test钳子"}, "一级供应室外来器械": {"名称": "Test骨钩"},