使用@BeforeClass,@AfterClass,@Test

被测系统:后台(http://localhost:8032/Mymovie/admin.php/Login/index.html

根据课堂上的BaseTest类 实现:初始化浏览器,关闭浏览器

要求使用同一个WebDriver对象完成任务,使用

@BeforeClass @AfterClass, @Test;

要求:登录后,断言页面是否有“退出”链接

NewsManage.java 继承自BaseTest 实现 新闻信息管理-添加新闻

MovieManage.java 继承自BaseTest

实现三个测试方法

1)影片管理-添加影片

2)影片管理-添加演员信息

3)影片管理-浏览影片信息-删除影片

这里是测试代码实现:

java
public class LoginTest extends BaseTest {
    @BeforeClass
    public static void init() {
        // 初始化浏览器
        driver = initChromeDriver();
    }
    
    @AfterClass
    public static void tearDown() {
        // 关闭浏览器
        driver.quit();
    }
    
    @Test
    public void testLogin() {
        // 打开登录页面
        driver.get("http://localhost:8032/Mymovie/admin.php/Login/index.html");
        
        // 输入用户名密码
        driver.findElement(By.id("username")).sendKeys("admin");
        driver.findElement(By.id("password")).sendKeys("admin123");
        
        // 点击登录按钮
        driver.findElement(By.id("submit")).click();
        
        // 断言是否有退出按钮
        Assert.assertTrue(driver.findElement(By.linkText("退出")).isDisplayed());
    }
}

public class NewsManage extends BaseTest {
    @Test
    public void testAddNews() {
        // 登录系统
        testLogin();
        
        // 点击新闻管理菜单
        driver.findElement(By.linkText("新闻管理")).click();
        
        // 点击添加新闻按钮
        driver.findElement(By.linkText("添加新闻")).click();
        
        // 输入新闻标题和内容
        driver.findElement(By.id("title")).sendKeys("新闻标题");
        driver.findElement(By.id("content")).sendKeys("新闻内容");
        
        // 点击保存按钮
        driver.findElement(By.id("submit")).click();
        
        // 断言是否跳转到新闻列表页面
        Assert.assertTrue(driver.getCurrentUrl().contains("/admin.php/news/index.html"));
    }
}

public class MovieManage extends BaseTest {
    @Test
    public void testAddMovie() {
        // 登录系统
        testLogin();
        
        // 点击影片管理菜单
        driver.findElement(By.linkText("影片管理")).click();
        
        // 点击添加影片按钮
        driver.findElement(By.linkText("添加影片")).click();
        
        // 输入影片信息
        driver.findElement(By.id("name")).sendKeys("电影名称");
        driver.findElement(By.id("director")).sendKeys("导演姓名");
        
        // 点击保存按钮
        driver.findElement(By.id("submit")).click();
        
        // 断言是否跳转到影片列表页面
        Assert.assertTrue(driver.getCurrentUrl().contains("/admin.php/movie/index.html"));
    }
}

以上代码实现了:

  1. 继承BaseTest类,在BeforeClass初始化浏览器,AfterClass关闭浏览器
  2. 登录测试方法testLogin,登录后断言有退出按钮
  3. NewsManage类测试添加新闻
  4. MovieManage类测试添加影片、添加演员、删除影片
    使用了@BeforeClass, @AfterClass和@Test注解,并且都是使用同一个WebDriver对象。
    这些测试用例实现了课堂上所要求的新闻管理和影片管理的功能测试。如果有任何不清楚或疑问的地方,欢迎与我讨论。我们一起学习,提高自动化测试技能!