Index: ssts-selenium-test/src/test/java/test_4_1/PackingHistory.java =================================================================== diff -u --- ssts-selenium-test/src/test/java/test_4_1/PackingHistory.java (revision 0) +++ ssts-selenium-test/src/test/java/test_4_1/PackingHistory.java (revision 17912) @@ -0,0 +1,153 @@ +package test_4_1; + +import org.openqa.selenium.By; +import org.openqa.selenium.JavascriptExecutor; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.interactions.Actions; +import org.testng.AssertJUnit; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +import test_4_1.tools.Utils; + +/** + * @author cherry 2016-03-02 + * + */ +public class PackingHistory { + boolean displayed = false; + + @BeforeMethod + public void init() { + try { + Utils.init(); + Login login = new Login(); + login.login_oneSupplyRoom(); + // login.login_secondSupplyRoom(); + + Utils.retryingFindAndClick(By.id("enterpriseView")); + WebElement frame = Utils.retryingFindAndSwitchToFrame(By + .id("iframe_enterpriseView")); + + Utils.retryingFindAndClick(By + .xpath("//div/a/span[contains(text(), '装配管理')]")); + + Utils.retryingFindAndClick(By + .xpath("//div/a/span[contains(text(), '历史装配记录')]")); + frame = Utils.retryingFindAndSwitchToFrame(By.id("mainFrame")); + // 点击第一条记录 + Utils.retryingFindAndClick(By + .xpath("//table/tbody/tr/td/div[contains(@class, 'x-grid3-col-0')]")); + // 选中第一个包 + String currentwindowhandle = Utils.driver.getWindowHandle(); + Utils.driver.switchTo().window(currentwindowhandle); + Utils.retryingFindAndClick(By + .xpath("//table/tbody/tr/td/div/div[contains(@class, 'x-grid3-row-checker')]")); + // 点击修改按钮 + Utils.retryingFindAndClick(By + .xpath("//table/tbody/tr/td/em/button[text()='修改']")); + + // Utils.retryingFindAndClick(By.linkText(Utils.settings.getJSONObject("二级供应室装配组").getString("名称1"))); +// WebElement frame = Utils.retryingFindAndSwitchToFrame(By +// .id("iframe_packing")); + + } catch (Exception e) { + e.printStackTrace(); + AssertJUnit.fail(e.getMessage()); + } + } + + /** + * 装配后修改灭菌程序,包装类型等 + ***/ + @Test + public void assemble_modifyTousse() { + // 点击高级视图 + try { + // 修改灭菌程序 + WebElement element = Utils.retryingFind(By.id("sterilingType2")); + String name = Utils.settings.getJSONObject("灭菌程序").getString("名称2"); + if (element != null) { + displayed = element.isDisplayed(); + if (displayed) { + element.click(); + Utils.retryingFindAndClick(By + .xpath("//div/div/div[contains(text(), '" + name + + "')]")); + + } + } + // 修改包装类型 + Utils.retryingFindAndClick(By.id("packageType2")); + + name = Utils.settings.getJSONObject("包装类型").getString("名称2"); + Utils.retryingFindAndClick(By + .xpath("//div/div/div[contains(text(), '" + name + "')]")); + // 点击确定 + Utils.retryingFindAndClick(By + .xpath("//table/tbody/tr/td/em/button[text()='确定']")); + Thread.sleep(10*1000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + @AfterMethod + public void after() { + Utils.driver.quit(); + } + + /** + * 编辑树形表格的单元格,行、列的值均从0开始计算。 装配界面左下角的grid名称为waitPackingTreeGrid, + * 左上角的grid名称为basketTreeGrid + * + * @param treeGridName + * 表格的名字 + * @param row + * 单元格所在的行 + * @param column + * 单元格所在的列 + */ + private void editTreeGridCell(String treeGridName, int row, int column) { + JavascriptExecutor js = (JavascriptExecutor) Utils.driver; + String enterEdit = "var grid = Ext4.getCmp('" + treeGridName + "');" + + "grid.getSelectionModel().select(" + row + ");" + + "grid.cellEditing.startEditByPosition({row: " + row + + ",column: " + column + "});"; + js.executeScript(enterEdit); + } + + /** + * 省医装配扫描配包人和审核人 + */ + public void scan() { + try { + + boolean displayed = false; + WebElement element = Utils.retryingFind(By + .cssSelector("input[name='reviewerBarcode']")); + String text = Utils.retryingFind( + By.cssSelector("input[name='operator']")).getText(); + if (text.isEmpty()) { + Utils.retryingFindAndSendKeys( + By.cssSelector("input[name='operatorBarcode']"), + Utils.settings.getJSONObject("一级供应室配包人") + .getString("条码") + "\n"); + if (element != null) { + displayed = element.isDisplayed(); + if (displayed) { + Utils.retryingFindAndSendKeys( + By.cssSelector("input[name='reviewerBarcode']"), + Utils.settings.getJSONObject("一级供应室审核人") + .getString("条码") + "\n"); + } + } + } + } catch (Exception e) { + e.printStackTrace(); + AssertJUnit.fail(e.getMessage()); + } + } +}