package org.springside.examples.miniweb.functional.account; import static org.junit.Assert.*; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import org.springside.examples.miniweb.functional.BaseFunctionalTestCase; import org.springside.examples.miniweb.functional.Gui; import org.springside.examples.miniweb.functional.Gui.UserColumn; import org.springside.modules.test.groups.Groups; import org.springside.modules.test.utils.SeleniumUtils; /** * 系统安全控制的功能测试, 测试主要用户故事. * * @author calvin */ public class SecurityTest extends BaseFunctionalTestCase { /** * 测试匿名用户访问系统时的行为. */ @Test @Groups(BaseFunctionalTestCase.DAILY) public void checkAnonymous() { //访问退出登录页面,退出之前的登录 driver.get(BASE_URL + "/j_spring_security_logout"); assertEquals("Mini-Web 登录页", driver.getTitle()); //访问任意页面会跳转到登录界面 driver.get(BASE_URL + "/account/user.action"); assertEquals("Mini-Web 登录页", driver.getTitle()); } /** * 只有用户角色的操作员访问系统时的受限行为. */ @Test @Groups(BaseFunctionalTestCase.DAILY) public void checkUserRole() { //访问退出登录页面,退出之前的登录 driver.get(BASE_URL + "/j_spring_security_logout"); assertEquals("Mini-Web 登录页", driver.getTitle()); //登录普通用户 driver.findElement(By.name("j_username")).sendKeys("user"); driver.findElement(By.name("j_password")).sendKeys("user"); driver.findElement(By.xpath(Gui.BUTTON_LOGIN)).click(); //校验用户角色的操作单元格为空 driver.findElement(By.linkText(Gui.MENU_USER)).click(); WebElement table = driver.findElement(By.xpath("//table[@id='contentTable']")); assertEquals("查看", SeleniumUtils.getTable(table, 1, UserColumn.OPERATIONS.ordinal())); } }