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