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.driver.findElement(By.id("j_username_display")).clear(); Utils.driver.findElement(By.id("j_username_display")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").getString("工号")); Utils.driver.findElement(By.id("j_password")).clear(); Utils.driver.findElement(By.id("j_password")).sendKeys("error"); Utils.driver.findElement(By.id("btn1")).click(); 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.driver.findElement(By.id("j_username_display")).clear(); Utils.driver.findElement(By.id("j_username_display")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").getString("工号")); // 清空密码输入框,避免IE记住密码后自动填写密码 Utils.driver.findElement(By.id("j_password")).clear(); Utils.driver.findElement(By.id("btn1")).click(); // 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.driver.findElement(By.id("j_username_display")).clear(); Utils.driver.findElement(By.id("j_username_display")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").getString("工号")); Utils.driver.findElement(By.id("j_password")).clear(); Utils.driver.findElement(By.id("j_password")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").getString("密码")); Utils.driver.findElement(By.id("btn1")).click(); Thread.sleep(3000); System.out.println("Page title is: " + Utils.driver.getTitle()); Utils.tryToCloseWarningWindow(); assertEquals(Utils.settings.get("服务器地址") + "/homepage/portalPage.jsp", Utils.driver.getCurrentUrl());} catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 供应室用户登陆成功 * */ @Test public void login_oneSupplyRoom() { try{ Utils.driver.findElement(By.id("j_username_display")).clear(); Utils.driver.findElement(By.id("j_username_display")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").get("工号").toString()); Utils.driver.findElement(By.id("j_password")).clear(); Utils.driver.findElement(By.id("j_password")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").get("密码").toString()); Utils.driver.findElement(By.id("btn1")).click(); Thread.sleep(1000); System.out.println("Page title is: " + Utils.driver.getTitle()); Thread.sleep(500); // Utils.tryToCloseWarningWindow(); assertEquals(Utils.settings.get("服务器地址") + "/homepage/portalPage.jsp", Utils.driver.getCurrentUrl()); } catch (Exception e) { e.printStackTrace(); AssertJUnit.fail(e.getMessage()); } } /** * 供应室用户登陆触摸屏清洗 * */ @Test public void login_touch() { try{ Utils.driver.findElement(By.id("j_username_display")).clear(); Utils.driver.findElement(By.id("j_username_display")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").get("工号").toString()); Utils.driver.findElement(By.id("j_password")).clear(); Utils.driver.findElement(By.id("j_password")).sendKeys( Utils.settings.getJSONObject("一级供应室用户").get("密码").toString()); Utils.driver.findElement(By.id("btn1")).click(); Thread.sleep(3000); System.out.println("Page title is: " + Utils.driver.getTitle()); Thread.sleep(500); 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.driver.findElement(By.id("j_username_display")).clear(); Utils.driver.findElement(By.id("j_username_display")).sendKeys( Utils.settings.getJSONObject("二级供应室用户").getString("工号")); Utils.driver.findElement(By.id("j_password")).clear(); Utils.driver.findElement(By.id("j_password")).sendKeys( Utils.settings.getJSONObject("二级供应室用户").getString("密码")); Utils.driver.findElement(By.id("btn1")).click(); Thread.sleep(3000); System.out.println("Page title is: " + Utils.driver.getTitle()); // Utils.tryToCloseWarningWindow(); 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.driver.findElement(By.id("j_username_display")).clear(); Utils.driver.findElement(By.id("j_username_display")).sendKeys( Utils.settings.getJSONObject("临床科室用户").get("工号").toString()); Utils.driver.findElement(By.id("j_password")).clear(); Utils.driver.findElement(By.id("j_password")).sendKeys( Utils.settings.getJSONObject("临床科室用户").get("密码").toString()); Utils.driver.findElement(By.id("btn1")).click(); // Utils.driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS); // Utils.driver.findElement(By.cssSelector("div#ext-gen132")).click(); // Utils.driver.findElement(By.cssSelector("div#ext-gen44")).click(); // System.out.println("Page title is: " + Utils.driver.getTitle()); // Utils.tryToCloseWarningWindow(); assertEquals(Utils.settings.get("服务器地址") + "/homepage/portalPage.jsp", Utils.driver.getCurrentUrl()); } /** * 临床用户登陆无提示框 * */ @Test public void login_clinicNoWarnig() { try{ Utils.driver.findElement(By.id("j_username_display")).clear(); Utils.driver.findElement(By.id("j_username_display")).sendKeys( Utils.settings.getJSONObject("临床科室用户").get("工号").toString()); Utils.driver.findElement(By.id("j_password")).clear(); Utils.driver.findElement(By.id("j_password")).sendKeys( Utils.settings.getJSONObject("临床科室用户").get("密码").toString()); Utils.driver.findElement(By.id("btn1")).click(); // Utils.driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS); // Utils.driver.findElement(By.cssSelector("div#ext-gen132")).click(); // Utils.driver.findElement(By.cssSelector("div#ext-gen44")).click(); Thread.sleep(3000); System.out.println("Page title is: " + Utils.driver.getTitle()); 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(); } }