建设网站前的需求分析备案 网站建设计划书
- 作者: 五速梦信息网
- 时间: 2026年03月21日 10:42
当前位置: 首页 > news >正文
建设网站前的需求分析,备案 网站建设计划书,简单的网站设计模板下载,域名解析在线查询⭐️前言⭐️ 本篇文章是博主基于学海记录的个人项目所做的测试报告#xff0c;用于总结运用自动化测试技术#xff0c;应用于自己的项目。 #x1f349;欢迎点赞 #x1f44d; 收藏 ⭐留言评论 #x1f4dd;私信必回哟#x1f601; #x1f349;博主将持续更新学习记录… ⭐️前言⭐️ 本篇文章是博主基于学海记录的个人项目所做的测试报告用于总结运用自动化测试技术应用于自己的项目。 欢迎点赞 收藏 ⭐留言评论 私信必回哟 博主将持续更新学习记录收获友友们有任何问题可以在评论区留言 博客中涉及源码及博主日常练习代码均已上传GitHub 内容导读1.UI自动化测试用例2.selenium4JUnit5实现Web自动化测试2.1 测试工具类2.2 博客登录页测试2.3 博客列表页测试2.4 博客详情页测试2.5 博客编辑页测试2.6 驱动释放2.7 测试套件2.8 测试结果展示1.UI自动化测试用例 2.selenium4JUnit5实现Web自动化测试 针对上图中的UI自动化测试用例挑选部分用例通过selenium4JUnit5实现Web自动化测试如下是具体实现 2.1 测试工具类 因为每一步的测试都需要获取驱动对象所以将获取驱动对象的方法抽象出来单独成类用于其他类的使用 便于检查测试结果还需要在公共类中实现屏幕截图的方法以下是测试工具类的具体代码 public class Utils {public static ChromeDriver driver;// 创建驱动对象public static ChromeDriver createDriver() {// 设置无头模式ChromeOptions optionsnew ChromeOptions();options.addArguments(-headless);// 驱动对象已经创建好了/没有创建if(drivernull) {drivernew ChromeDriver(options);// 创建隐式等待(防止因页面加载过慢而导致错误)driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));}return driver;}public static ListString getTime() {// 文件按照天的维度按文件夹进行保存SimpleDateFormat sim1new SimpleDateFormat(yyyyMMdd-HHmmssSS);SimpleDateFormat sim2new SimpleDateFormat(yyyyMMdd);String fileNamesim1.format(System.currentTimeMillis());String dirNamesim2.format(System.currentTimeMillis());ListString listnew ArrayList();list.add(dirName);list.add(fileName);return list;}/*** 获取屏幕截图把所有的用例执行结果保存下来*/public static void getScreenShot(String str) throws IOException {ListString listgetTime();String fileName./src/test/java/screenshot/list.get(0)/str_list.get(1).png;File srcFiledriver.getScreenshotAs(OutputType.FILE);// 把屏幕截图生成的文件放到指定的路径FileUtils.copyFile(srcFile,new File(fileName));} }2.2 博客登录页测试 首先先获取到驱动对象然后通过Before注解方法访问到登录页面的URL。 public static ChromeDriver driver Utils.createDriver();// 如果要测试登录页面以下所有的用例都有一个共同的步骤// 1、要有浏览器对象 2、访问登录页面的URLBeforeAllstatic void baseControl() {driver.get(http://162.14.74.192:8081/login.html);}通过检查跳转后的博客列表页的元素是否存在检查登录页面打开是否正确。 /检查登录页面打开是否正确检查点公共主页 注册元素是否存在/TestOrder(1)void loginLoad() throws IOException {driver.findElement(By.cssSelector(body div.nav a:nth-child(4)));driver.findElement(By.cssSelector(body div.nav a:nth-child(5)));Utils.getScreenShot(getClass().getName());}多参数实现正常登录的测试 /检查正常登录情况/ParameterizedTestCsvSource({admin,admin,zhangsan,123})Order(2)void loginSuccess(String name,String password) throws IOException, InterruptedException {driver.findElement(By.cssSelector(#username)).clear();driver.findElement(By.cssSelector(#password)).clear();driver.findElement(By.cssSelector(#username)).sendKeys(name);driver.findElement(By.cssSelector(#password)).sendKeys(password);driver.findElement(By.cssSelector(#submit)).click();Thread.sleep(500);// 对登陆结果进行检测Alert alertdriver.switchTo().alert();String expect登录成功;Assertions.assertEquals(expect,alert.getText());alert.accept();Utils.getScreenShot(getClass().getName());driver.navigate().back();}检验异常登录的情况 /检查异常登录情况/ParameterizedTestCsvSource({admin,123})Order(3)void loginFail(String name,String password) throws InterruptedException, IOException {driver.findElement(By.cssSelector(#username)).clear();driver.findElement(By.cssSelector(#password)).clear();driver.findElement(By.cssSelector(#username)).sendKeys(name);driver.findElement(By.cssSelector(#password)).sendKeys(password);driver.findElement(By.cssSelector(#submit)).click();Thread.sleep(500);// 对异常登录结果进行检测Alert alertdriver.switchTo().alert();String expect抱歉用户名或密码错误请重新输入;Assertions.assertEquals(expect,alert.getText());alert.accept();Utils.getScreenShot(getClass().getName());}注意以上的测试用例需要按指定顺序来执行必须得先检验完成登录页面能正常打开才能进行下一步正常登录、异常登录的测试。 以下是登录页面自动化测试用例的总代码。 TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class BlogLoginTest {public static ChromeDriver driver Utils.createDriver();// 如果要测试登录页面以下所有的用例都有一个共同的步骤// 1、要有浏览器对象 2、访问登录页面的URLBeforeAllstatic void baseControl() {driver.get(http://162.14.74.192:8081/login.html);}/*检查登录页面打开是否正确检查点公共主页 注册元素是否存在*/TestOrder(1)void loginLoad() throws IOException {driver.findElement(By.cssSelector(body div.nav a:nth-child(4)));driver.findElement(By.cssSelector(body div.nav a:nth-child(5)));Utils.getScreenShot(getClass().getName());}/检查正常登录情况/ParameterizedTestCsvSource({admin,admin,zhangsan,123})Order(2)void loginSuccess(String name,String password) throws IOException, InterruptedException {driver.findElement(By.cssSelector(#username)).clear();driver.findElement(By.cssSelector(#password)).clear();driver.findElement(By.cssSelector(#username)).sendKeys(name);driver.findElement(By.cssSelector(#password)).sendKeys(password);driver.findElement(By.cssSelector(#submit)).click();Thread.sleep(500);// 对登陆结果进行检测Alert alertdriver.switchTo().alert();String expect登录成功;Assertions.assertEquals(expect,alert.getText());alert.accept();Utils.getScreenShot(getClass().getName());driver.navigate().back();}/检查异常登录情况/ParameterizedTestCsvSource({admin,123})Order(3)void loginFail(String name,String password) throws InterruptedException, IOException {driver.findElement(By.cssSelector(#username)).clear();driver.findElement(By.cssSelector(#password)).clear();driver.findElement(By.cssSelector(#username)).sendKeys(name);driver.findElement(By.cssSelector(#password)).sendKeys(password);driver.findElement(By.cssSelector(#submit)).click();Thread.sleep(500);// 对异常登录结果进行检测Alert alertdriver.switchTo().alert();String expect抱歉用户名或密码错误请重新输入;Assertions.assertEquals(expect,alert.getText());alert.accept();Utils.getScreenShot(getClass().getName());} } 2.3 博客列表页测试 首先先访问到博客列表页对博客列表页中的元素检查是否存在来检验博客列表页的加载。 public class BlogListTest {public static ChromeDriver driver Utils.createDriver();BeforeAllstatic void baseControl() {driver.get(http://162.14.74.192:8081/myblog_list.html);}/*** 博客列表页可以正常显示/Testvoid listPageLoadTest() throws IOException {driver.findElement(By.cssSelector(body div.nav a:nth-child(5)));driver.findElement(By.cssSelector(body div.nav a:nth-child(6)));Utils.getScreenShot(getClass().getName());} }2.4 博客详情页测试 首先先访问到博客详情页对博客详情页中的元素检查是否存在来检验博客详情页的加载。 public class BlogDetailTest {public static ChromeDriver driver Utils.createDriver();BeforeAllstatic void baseControl() {driver.get(http://162.14.74.192:8081/blog_content.html?blogId1);}Testvoid blogDetailLoadTest() throws IOException {driver.findElement(By.xpath(//[id\title]));Utils.getScreenShot(getClass().getName());} }2.5 博客编辑页测试 首先先访问到博客编辑页对博客编辑页中的元素检查是否存在来检验博客编辑页的加载。 public static ChromeDriver driver Utils.createDriver();BeforeAllstatic void baseControl() {driver.get(http://162.14.74.192:8081/blog_edit.html);}/*检查博客编辑页是否可以正常打开*/TestOrder(1)void editPageLoadTest() throws IOException {driver.findElement(By.cssSelector(#title));driver.findElement(By.cssSelector(body div.blog-edit-container div.title button));Utils.getScreenShot(getClass().getName());}在博客编辑页的测试中还需要对是否能够正常编辑并发布文章进行测试。 /检查能不能正常编辑并发布文章/TestOrder(2)void editAndSubmitBlogTest() throws IOException, InterruptedException {String title测试文章;driver.findElement(By.cssSelector(#title)).sendKeys(title);// 因博客系统使用到的编辑器是第三方库所以不能直接使用sendKeys向编辑模块发送文本driver.findElement(By.cssSelector(#editorDiv div.editormd-toolbar div ul li:nth-child(20) a i)).click();driver.findElement(By.cssSelector(#editorDiv div.editormd-toolbar div ul li:nth-child(21) a i)).click();driver.findElement(By.cssSelector(body div.blog-edit-container div.title button)).click();Thread.sleep(500);// 对异常登录结果进行检测Alert alertdriver.switchTo().alert();String expect恭喜发布成功;Assertions.assertEquals(expect,alert.getText());alert.accept();Utils.getScreenShot(getClass().getName());}总代码 TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class BlogEditTest {public static ChromeDriver driver Utils.createDriver();BeforeAllstatic void baseControl() {driver.get(http://162.14.74.192:8081/blog_edit.html);}/*检查博客编辑页是否可以正常打开*/TestOrder(1)void editPageLoadTest() throws IOException {driver.findElement(By.cssSelector(#title));driver.findElement(By.cssSelector(body div.blog-edit-container div.title button));Utils.getScreenShot(getClass().getName());}/检查能不能正常编辑并发布文章/TestOrder(2)void editAndSubmitBlogTest() throws IOException, InterruptedException {String title测试文章;driver.findElement(By.cssSelector(#title)).sendKeys(title);// 因博客系统使用到的编辑器是第三方库所以不能直接使用sendKeys向编辑模块发送文本driver.findElement(By.cssSelector(#editorDiv div.editormd-toolbar div ul li:nth-child(20) a i)).click();driver.findElement(By.cssSelector(#editorDiv div.editormd-toolbar div ul li:nth-child(21) a i)).click();driver.findElement(By.cssSelector(body div.blog-edit-container div.title button)).click();Thread.sleep(500);// 对异常登录结果进行检测Alert alertdriver.switchTo().alert();String expect恭喜发布成功;Assertions.assertEquals(expect,alert.getText());alert.accept();Utils.getScreenShot(getClass().getName());} }2.6 驱动释放 当完成上述所有的测试后需要对驱动进行释放 public class DriverQuitTest {public static ChromeDriver driver Utils.createDriver();// 最后需要关闭driverTestvoid driverQuit() {driver.quit();} }2.7 测试套件 通过测试套件指定按顺序的类中的所有测试用例开始执行 Suite SelectClasses({BlogLoginTest.class,BlogListTest.class,BlogDetailTest.class,BlogEditTest.class,DriverQuitTest.class}) public class RunSuite { }2.8 测试结果展示 测试结果如下图 ⭐️最后的话⭐️ 总结不易希望uu们不要吝啬你们的哟()ノ~如有问题欢迎评论区批评指正
- 上一篇: 建设网站企业网上银行登录入口官方网络科技公司网站
- 下一篇: 建设网站前的需求分析深圳20网络推广
相关文章
-
建设网站企业网上银行登录入口官方网络科技公司网站
建设网站企业网上银行登录入口官方网络科技公司网站
- 技术栈
- 2026年03月21日
-
建设网站能赚钱吗seo搜索排名
建设网站能赚钱吗seo搜索排名
- 技术栈
- 2026年03月21日
-
建设网站能挣钱吗什么是网络营销?网络营销与电商营销有什么区别?
建设网站能挣钱吗什么是网络营销?网络营销与电商营销有什么区别?
- 技术栈
- 2026年03月21日
-
建设网站前的需求分析深圳20网络推广
建设网站前的需求分析深圳20网络推广
- 技术栈
- 2026年03月21日
-
建设网站前需考虑哪些问题产品宣传方案
建设网站前需考虑哪些问题产品宣传方案
- 技术栈
- 2026年03月21日
-
建设网站前需考虑哪些问题手机版怎么做微电影网站
建设网站前需考虑哪些问题手机版怎么做微电影网站
- 技术栈
- 2026年03月21日
