package test_4_1; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertTrue; import org.testng.annotations.AfterMethod; import org.testng.annotations.Test; import org.testng.annotations.BeforeMethod; import org.testng.AssertJUnit; import org.openqa.selenium.Alert; import org.openqa.selenium.By; import org.openqa.selenium.NoAlertPresentException; import test_4_1.tools.Utils; /** * @author cherry 2016-07-18 */ public class Login { @BeforeMethod public void init() { Utils.init(); } /** * 输入错误的用户名密码 * */ @Test public void login_fail1() { Utils.retryingFind(By.id("j_username_display")).clear(); Utils.retryingFindAndSendKeys(By.id("j_username_display"), Utils.settings.getJSONObject("一级供应室用户").getString("工号")); Utils.retryingFind(By.id("j_password")).clear(); Utils.retryingFindAndSendKeys(By.id("j_password"), "error"); Utils.retryingFindAndClick(By.id("btn1")); Utils.waitUntilUrlChange(Utils.settings.get("服务器地址") + "/logon.jsp?login_error=1", 5); assertEquals(Utils.settings.get("服务器地址") + "/logon.jsp?login_error=1", Utils.driver.getCurrentUrl()); } public boolean isAlertPresent() { try { Utils.driver.switchTo().alert(); return true; } // try catch (NoAlertPresentException Ex) { return false; } // catch } /** * 输入用户名不输入密码 * */ @Test public void login_fail2() { Utils.retryingFind(By.id("j_username_display")).clear(); Utils.retryingFindAndSendKeys(By.id("j_username_display"), Utils.settings.getJSONObject("一级供应室用户").getString("工号")); // 清空密码输入框,避免IE记住密码后自动填写密码 Utils.retryingFind(By.id("j_password")).clear(); Utils.retryingFindAndClick(By.id("btn1")); // assertEquals("http://192.168.2.19:84/", driver.getCurrentUrl()); assertTrue(isAlertPresent()); Alert alertBox = Utils.driver.switchTo().alert(); assertEquals("请输入密码!", alertBox.getText()); alertBox.accept(); } /** * 登陆成功 * */ @Test public void login_success() { try { Utils.retryingFind(By.id("j_username_display")).clear(); Utils.retryingFindAndSendKeys(By.id("j_username_display"), Utils.settings.getJSONObject("一级供应室用户").getString("工号")); Utils.retryingFind(By.id("j_password")).clear(); Utils.retryingFindAndSendKeys(By.id("j_password"), Utils.settings.getJSONObject("一级供应室用户").getString("密码")); Utils.retryingFindAndClick(By.id("btn1")); isLoginSuccess(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 供应室用户登陆成功 * */ @Test public void login_oneSupplyRoom() { try { loginAction(); isLoginSuccess(); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } public void loginAction(){ Utils.retryingFind(By.id("j_username_display")).clear(); Utils.retryingFindAndSendKeys(By.id("j_username_display"), Utils.settings.getJSONObject("一级供应室用户").get("工号") .toString()); Utils.retryingFind(By.id("j_password")).clear(); Utils.retryingFindAndSendKeys(By.id("j_password"), Utils.settings.getJSONObject("一级供应室用户").get("密码") .toString()); Utils.retryingFindAndClick(By.id("btn1")); } /** * 判断登录是否成功 */ private void isLoginSuccess() { Utils.waitUntilUrlChange(Utils.settings.get("服务器地址") + "/homepage/portalPage.jsp", 5); System.out.println("Page title is: " + Utils.driver.getTitle()); Utils.tryToCloseWarningWindow(); Utils.waitPageLoaded(); assertEquals(Utils.settings.get("服务器地址") + "/homepage/portalPage.jsp", Utils.driver.getCurrentUrl()); } /** * 供应室用户登陆触摸屏清洗 * */ @Test public void login_touch() { try { Utils.retryingFind(By.id("j_username_display")).clear(); Utils.retryingFindAndSendKeys(By.id("j_username_display"), Utils.settings.getJSONObject("一级供应室用户").get("工号") .toString()); Utils.retryingFind(By.id("j_password")).clear(); Utils.retryingFindAndSendKeys(By.id("j_password"), Utils.settings.getJSONObject("一级供应室用户").get("密码") .toString()); Utils.retryingFindAndClick(By.id("btn1")); System.out.println("Page title is: " + Utils.driver.getTitle()); Utils.waitPageLoaded(); assertEquals( Utils.settings.get("服务器地址") + "/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washForTouchScreen.jsp?resolution=1980", Utils.driver.getCurrentUrl()); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 二级供应室用户登陆成功 * */ @Test public void login_secondSupplyRoom() { try { Utils.retryingFind(By.id("j_username_display")).clear(); Utils.retryingFindAndSendKeys(By.id("j_username_display"), Utils.settings.getJSONObject("二级供应室用户").getString("工号")); Utils.retryingFind(By.id("j_password")).clear(); Utils.retryingFindAndSendKeys(By.id("j_password"), Utils.settings.getJSONObject("二级供应室用户").getString("密码")); Utils.retryingFindAndClick(By.id("btn1")); System.out.println("Page title is: " + Utils.driver.getTitle()); Utils.tryToCloseWarningWindow(); Utils.waitPageLoaded(); // assertEquals(Utils.settings.get("服务器地址") // + "/homepage/portalPage.jsp", Utils.driver.getCurrentUrl()); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 临床用户登陆成功 * */ @Test public void login_clinic() { Utils.retryingFind(By.id("j_username_display")).clear(); Utils.retryingFindAndSendKeys(By.id("j_username_display"), Utils.settings.getJSONObject("临床科室用户").get("工号").toString()); Utils.retryingFind(By.id("j_password")).clear(); Utils.retryingFindAndSendKeys(By.id("j_password"), Utils.settings.getJSONObject("临床科室用户").get("密码").toString()); Utils.retryingFindAndClick(By.id("btn1")); // Utils.driver.manage().timeouts().implicitlyWait(15, // TimeUnit.SECONDS); // Utils.retryingFindAndClick(By.cssSelector("div#ext-gen132")); // Utils.retryingFindAndClick(By.cssSelector("div#ext-gen44")); // System.out.println("Page title is: " + Utils.driver.getTitle()); // Utils.tryToCloseWarningWindow(); Utils.waitPageLoaded(); assertEquals(Utils.settings.get("服务器地址") + "/homepage/portalPage.jsp", Utils.driver.getCurrentUrl()); } /** * 临床用户登陆无提示框 * */ @Test public void login_clinicNoWarnig() { try { Utils.retryingFind(By.id("j_username_display")).clear(); Utils.retryingFindAndSendKeys(By.id("j_username_display"), Utils.settings.getJSONObject("临床科室用户").get("工号") .toString()); Utils.retryingFind(By.id("j_password")).clear(); Utils.retryingFindAndSendKeys(By.id("j_password"), Utils.settings.getJSONObject("临床科室用户").get("密码") .toString()); Utils.retryingFindAndClick(By.id("btn1")); // Utils.driver.manage().timeouts().implicitlyWait(15, // TimeUnit.SECONDS); // Utils.retryingFindAndClick(By.cssSelector("div#ext-gen132")); // Utils.retryingFindAndClick(By.cssSelector("div#ext-gen44")); isLoginSuccess(); System.out.println("Page title is: " + Utils.driver.getTitle()); Utils.waitPageLoaded(); assertEquals(Utils.settings.get("服务器地址") + "/homepage/portalPage.jsp", Utils.driver.getCurrentUrl()); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } @AfterMethod public void after() { Utils.driver.quit(); } }