当前位置: 首页 > news >正文

博客系统-项目测试

在这里插入图片描述

自动化博客项目

  • 用户注册
  • 登录验证
    • 效验个人博客列表页博客数量不为 0
  • 博客系统主页
    • 写博客
  • 我的博客列表页
    • 效验 刚发布的博客的标题和时间
    • 查看 文章详情页
    • 删除文章
      • 效验第一篇博客 不是 "自动化测试"
    • 注销
      • 退出到登录页面,用户名密码为空

用户注册

在这里插入图片描述

 @Order(1)@ParameterizedTest@CsvFileSource(resources = "regmes.csv")void Reg(String username , String password , String password2) throws InterruptedException {webDriver.get("http://211.159.172.237:8080/reg.html");webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);//输入注册名webDriver.findElement(By.cssSelector("#username")).sendKeys(username);webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);//输入密码webDriver.findElement(By.cssSelector("#password")).sendKeys(password);webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);//输入确认密码webDriver.findElement(By.cssSelector("#password2")).sendKeys(password2);webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);sleep(2000);//点击注册webDriver.findElement(By.cssSelector("#submit")).click();webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);sleep(2000);webDriver.switchTo().alert().accept();

在这里插入图片描述

登录验证

在这里插入图片描述

 @Order(2)@ParameterizedTest@CsvFileSource(resources = "LoginSuccess.csv")void LoginSuccess(String username , String password , String blog_list_url) throws InterruptedException {//打开登录页webDriver.get("http://211.159.172.237:8080/login.html");webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);//输入账号webDriver.findElement(By.cssSelector("#username")).sendKeys(username);webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);webDriver.findElement(By.cssSelector("#password")).sendKeys(password);webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);sleep(3000);webDriver.findElement(By.cssSelector("#submit")).click();webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);sleep(1000);//验证urlString cur_url = webDriver.getCurrentUrl();Assertions.assertEquals(blog_list_url, cur_url);}

在这里插入图片描述

效验个人博客列表页博客数量不为 0

在这里插入图片描述

@Order(3)@Test//效验 个人博客列表页博客数量不为 0void MyBlogList() throws InterruptedException {webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);sleep(3000);int title_num = webDriver.findElements(By.cssSelector(".title")).size();Assertions.assertNotEquals(0,title_num);}

博客系统主页

在这里插入图片描述

写博客

在这里插入图片描述

 @Order(4)@Testvoid AddBlog() throws InterruptedException {//到系统主页看看webDriver.findElement(By.cssSelector("body > div.nav > a:nth-child(4)")).click();webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);sleep(3000);//写博客webDriver.findElement(By.cssSelector("body > div.nav > a:nth-child(5)")).click();webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);//通过js输入((JavascriptExecutor)webDriver).executeScript("document.getElementById(\"title\").value=\"自动化测试\"");sleep(1500);//点击发布webDriver.findElement(By.cssSelector("body > div.blog-edit-container > div.title > button")).click();sleep(1500);webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);//弹窗点击取消webDriver.switchTo().alert().dismiss();String cur_url = webDriver.getCurrentUrl();Assertions.assertEquals("http://211.159.172.237:8080/myblog_list.html",cur_url);sleep(1500);//        webDriver.switchTo().alert().accept();}

我的博客列表页

在这里插入图片描述

效验 刚发布的博客的标题和时间

    @Order(5)@Test//效验已发布博客的标题和时间void BlogInfoChecked() throws InterruptedException {webDriver.get("http://211.159.172.237:8080/myblog_list.html");String first_blog_title = webDriver.findElement(By.cssSelector("#artListDiv > div:nth-child(1) > div.title")).getText();String first_blog_time = webDriver.findElement(By.xpath("//*[@id=\"artListDiv\"]/div[1]/div[2]")).getText();Assertions.assertEquals("自动化测试",first_blog_title);sleep(3000);if(first_blog_time.contains("2023-10-28")) {System.out.println("时间正确");}else {System.out.println("当前时间是 :" + first_blog_time);System.out.println("时间错误");}}

查看 文章详情页

在这里插入图片描述

@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class BlogCases extends InitAndEnd{public static Stream<Arguments> Generator() {return Stream.of(Arguments.arguments("http://211.159.172.237:8080/blog_content.html","博客正文","自动化测试"));}@Order(6)@ParameterizedTest@MethodSource("Generator")//博客详情页void BlogContent(String expected_url , String expected_title , String expected_blog_title) throws InterruptedException {webDriver.findElement(By.xpath("//*[@id=\"artListDiv\"]/div[1]/a[1]")).click();sleep(3000);//获取当前页面的url , http://211.159.172.237:8080/blog_content.html?aid=15String cur_url = webDriver.getCurrentUrl();webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);//获取当前页面的标题 , 博客正文String cur_title = webDriver.getTitle();webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);//获取当前博客的标题 , 自动化测试String blog_title = webDriver.findElement(By.cssSelector("#title")).getText();webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);//        Assertions.assertEquals(expected_url , cur_url);Assertions.assertEquals(expected_title , cur_title);Assertions.assertEquals(expected_blog_title , blog_title);if(cur_url.contains(expected_url)) {System.out.println("博客详情正确");} else {System.out.println(cur_url);System.out.println("博客详情失败");}sleep(1500);}

删除文章

在这里插入图片描述

效验第一篇博客 不是 “自动化测试”

 @Order(7)@Test//删除刚刚发布的博客void DeleteBlog() throws InterruptedException {webDriver.get("http://211.159.172.237:8080/myblog_list.html");webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);webDriver.findElement(By.cssSelector("#artListDiv > div:nth-child(1) > a:nth-child(6)")).click();webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);sleep(3000);webDriver.switchTo().alert().accept();//效验第一篇博客不是 "自动化测试"String first_blog_title = webDriver.findElement(By.cssSelector("#artListDiv > div:nth-child(1) > div.title")).getText();webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);Assertions.assertNotEquals("自动化测试",first_blog_title);sleep(3000);}

注销

在这里插入图片描述

@Order(8)@Test//注销void Logout() throws InterruptedException {webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
//        webDriver.findElement(By.cssSelector("body > div.nav > a:nth-child(6)"));webDriver.findElement(By.xpath("/html/body/div[1]/a[3]")).click();webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);webDriver.switchTo().alert().accept();sleep(3000);String cur_url = webDriver.getCurrentUrl();Assertions.assertEquals("http://211.159.172.237:8080/login.html",cur_url);}

退出到登录页面,用户名密码为空

在这里插入图片描述

http://www.lryc.cn/news/213288.html

相关文章:

  • Inspeckage,动态分析安卓 APP 的 Xposed 模块
  • Windows详细安装和彻底删除RabbitMQ图文流程
  • 自定义表单规则
  • Spring 中 Bean 的作用域有哪些?Spring 中有哪些方式可以把 Bean 注入到 IOC 容器?
  • 【01低功耗蓝牙开发】
  • 【Java 进阶篇】Java BeanUtils 使用详解
  • YugaByteDB -- 全新的 “PostgreSQL“ 存储层
  • 众佰诚:抖音上做生意卖什么好
  • 【Redis】环境配置
  • 设计交换机原理图前应先理清的框图
  • Bellman-ford 贝尔曼-福特算法
  • Docker数据目录迁移解决方案
  • 公共字段自动填充、菜品管理
  • 前端面试 面试多起来了
  • Qt常见类名关系整理
  • YOLO8实战:yolov8实现行人跟踪计数
  • shell脚本学习-2
  • web3:智能合约浏览器版本的 IDE - remix 使用教程
  • 信号类型(通信)——QPSK、OQPSK、IJF_OQPSK调制信号
  • 常用压缩文件操作函数总结
  • leetcode_274 H指数
  • 微服务框架Consul--新手入门
  • docker运行syslog-ng,搭建日志服务器
  • Redis代替session实现用户验证
  • Ubuntu 内核降级到指定版本
  • uniapp开发app,在ios真机上出现的css样式问题
  • uniapp 页面间传参方法
  • 【年终特惠】基于最新导则下生态环评报告编制技术暨报告篇、制图篇、指数篇、综合应用篇系统性实践技能提升
  • 驱动开发7 基于GPIO子系统编写LED驱动,编写应用程序进行测试设置定时器,5秒钟打印一次hello world
  • 亚马逊云科技为奇点云打造全面、安全、可扩展的数据分析解决方案