Little云盘实现了用户的注册、登录,上传文件,下载文件,预览文件(支持视频预览),删除文件,创建文件夹,分享文件链接等功能。管理员可管理用户存储空间、用户信息及文件消息。以下是该项目的部分测试用例及代码示例。
一、登录页测试
测试用例:
部分代码示例:
public class TestCaseLogin01 extends TestCaseOpen{/**** 输入正确的账号,正确的密码,错误的验证码*/@ParameterizedTest@CsvFileSource(resources = "LoginSuccess.csv")void LoginSuccess(String email, String password, String code) {// 打开打开主界面webDriver.get("http://localhost/login");webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));// 输入账号admin@qq.comwebDriver.findElement(By.cssSelector("#el-id-2008-26")).sendKeys(email);webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));// 账号密码:adminwebDriver.findElement(By.cssSelector("#el-id-2008-27")).sendKeys(password);webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));// 验证码:webDriver.findElement(By.cssSelector("#el-id-2008-28")).sendKeys(code);webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));// 点击提交按钮webDriver.findElement(By.cssSelector("#app > div > div.login-panel > form > div:nth-child(6) > div > button > span > span")).click();webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));// 跳转到列表页// 获取到当前页面urlString cur_url = webDriver.getCurrentUrl();webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));// 如果url=http://119.29.253.81:1024/login,测试通过,否则测试不通过Assertions.assertEquals("http://119.29.253.81:1024/login", cur_url);}
}
二、上传文件
测试用例:
部分代码示例:
public class TestCaseUpload extends TestCaseOpen{@Testvoid TestCaseUpload001() {// 打开主界面webDriver.get("http://localhost/main/all");// 上传文件webDriver.findElement(By.cssSelector(".el-button el-button--primary")).sendKeys("D:\\PycharmProjects\\test\\upload.txt\n");// 查看文件是否上传成功String title = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/div[2]/div[2]/div/div[2]/div/div[1]/div[1]/div[3]/div/div[1]/div/table/tbody/tr[2]/td[2]/div/div/span[2]")).getAttribute("title");Assertions.assertEquals("upload.txt", title);}
}
三、文件操作测试
测试用例:
部分代码示例:
public class TestCaseFile extends TestCaseOpen{@Testvoid TestCaseFile001() throws InterruptedException {// 打开主界面webDriver.get("http://localhost/main/all");// 找到要预览的文件,点击webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/div[2]/div[2]/div/div[2]/div/div[1]/div[1]/div[3]/div/div[1]/div/table/tbody/tr[2]/td[2]/div/div/span[2]")).click();// 校验是否生成预览画面By cssSelector = By.cssSelector("#app > div > div.body > div.body-content > div > div.window > div.window-content > div.title");Assertions.assertNotNull(cssSelector);Thread.sleep(300000);}
}
四、文件夹操作测试
测试用例:
部分代码示例:
public class TestCaseFolder extends TestCaseOpen{@Testvoid TestCaseFolder001() throws InterruptedException {// 打开主界面webDriver.get("http://localhost/main/all");// 点击新建文件夹webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/div[2]/div[2]/div/div[1]/div[1]/button[1]/span")).click();// 输入名称webDriver.findElement(By.xpath("//*[@id=\"el-id-2008-162\"]")).sendKeys("a");// 点击确认webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/div[2]/div[2]/div/div[2]/div/div[1]/div[1]/div[3]/div/div[1]/div/table/tbody/tr[1]/td[2]/div/div/div/span[1]")).click();// 校验是否已创建String text = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/div[2]/div[2]/div/div[2]/div/div[1]/div[1]/div[3]/div/div[1]/div/table/tbody/tr[1]/td[2]/div/div/span[2]/span")).getText();Assertions.assertEquals("a", text);}
}
五、文件列表测试
测试用例:
部分代码示例:
public class TestCaseList extends TestCaseOpen{@Testvoid TestCaseList001() {// 打开主界面webDriver.get("http://localhost/main/all");// 获取页面上所有文件对应的元素webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));int file_num = webDriver.findElements(By.cssSelector(".el-table__row")).size();// 如果元素数量不为0,测试通过Assertions.assertNotEquals(0 ,file_num);}}