简易博客系统自动化测试

作者@ Autumn60

欢迎关注:点赞收藏✍️留言

微语 :只有镜子和钱包,可以告诉你生活中,大部分的为什么和凭什么


文章目录

目录

文章目录

概述:

测试方法:

 简易博客测试用例:

 功能测试

登录页面

登录失败情况:

登录成功

查看全文功能

 博客列表页

 查看全文

编写博客功能

注销功能

 界面测试 

        登录页面 

        博客列表页     

        博客详情页

兼容性测试

PC

手机

浏览器

测试中出现的BUG


概述:

        本次测试旨在评估简易博客的核心的功能,包括登录界面、博客详情页、编写博客页面、注销等功能。测试环境为Windows 10操作系统,使用Google Chrome浏览器进行测试。


测试方法:

本次测试采用黑盒测试方法,即不考虑系统内部的实现细节,只关注用户在使用过程中是否能够顺利完成任务。测试人员通过模拟真实用户的操作,对聊天室的各项功能进行了测试。

 简易博客测试用例:

Xmind 下载地址 :点击跳转

简易博客系统自动化测试_第1张图片


 1.先创建一个用来初始化的类

 让测试用例来继承此接口

public class InitAndEnd {
    //用来被继承的接口
    static WebDriver webDriver;

    /**
     * BeforeAll第一个执行,用来初始化驱动
     */
    @BeforeAll
    static void SetUp() {
        webDriver = new ChromeDriver();
    }

    /**
     * 因为AfterAll是最后一个执行
     * 当所有测试用例跑完后,用它来执行关闭浏览器
     */
    @AfterAll
    static void TeraDown() {
        webDriver.quit();
    }
}

 功能测试

自动化测试用例:

简易博客系统自动化测试_第2张图片

登录页面
登录失败情况:
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)//设置优先级需要的
public class BlogCases extends InitAndEnd{
    @Order(1)
    @Test
    /**
     * 输入错误的账号和密码,进行登录
     */
    void LoginFailed() throws InterruptedException {
        //1.先打开页面
        webDriver.get("http://152.136.173.212:8080/java_blog_system/blog3.html");
        //2.通过css选择器获取账号和密码输入框并且输入,其次找到登录按钮
        webDriver.findElement(By.cssSelector("#username")).sendKeys("123");
        webDriver.findElement(By.cssSelector("#password")).sendKeys("456");
        webDriver.findElement(By.cssSelector("#submit")).click();
        //当输入错误的密码时会跳转且提示;校验是否跳转并且提示
        String cur_url = webDriver.getCurrentUrl();
        Assertions.assertEquals("http://152.136.173.212:8080/java_blog_system/login",cur_url);
        //查看提示是否正确
        String cur_Prompt= webDriver.findElement(By.cssSelector("body > h3")).getText();
        Assertions.assertEquals("登录失败,用户名或密码有误",cur_Prompt);
        sleep(2000);
    }
登录成功
    @Order(2)
    @Test
    /**
     * 输入正确的账号和密码,进行登录
     */
    void LoginSuccess() throws InterruptedException {
        //1.先打开页面,输入账号和密码:lisi,123
        webDriver.get("http://152.136.173.212:8080/java_blog_system/blog3.html");
        //2.通过css选择器获取账号和密码输入框并且输入,其次找到登录按钮
        webDriver.findElement(By.cssSelector("#username")).sendKeys("lisi");
        webDriver.findElement(By.cssSelector("#password")).sendKeys("123");
        webDriver.findElement(By.cssSelector("#submit")).click();
        //3.校验用户信息是否与登录用户相等;
        String admin = webDriver.findElement(By.cssSelector("body > div.container > div.container-left > div > h3")).getText();
        Assertions.assertEquals("lisi",admin);
        sleep(2000);
    }

测试结果:在测试登录功能中 测试了多项指标 整体体验效果较好;

图:简易博客系统自动化测试_第3张图片

查看全文功能
 博客列表页

简易博客系统自动化测试_第4张图片

/**
     * 博客列表页的验证
     */
    @Order(3)
    @Test
    void BLogList() throws InterruptedException {
        //  校验博客数量是否大于0
        int num = webDriver.findElements(By.cssSelector(".title")).size();
        Assertions.assertNotEquals(0,num);
        //  校验博客列表页url
        String cir_url = webDriver.getCurrentUrl();
        Assertions.assertNotEquals("http://152.136.173.212:8080/java_blog_system/blog1.html",cir_url);
        sleep(3000);
    }

 简易博客系统自动化测试_第5张图片

 查看全文
 /**
     * 查看全文按钮的校验
     */
    @Order(4)
    @Test
    void BlogList2() throws InterruptedException {
        //  校验-查看全文-按钮,是否跳转
        webDriver.findElement(By.cssSelector("body > div.container > div.container-right > div:nth-child(2) > a")).click();
        String blog_cur = webDriver.getCurrentUrl();
        Assertions.assertEquals("http://152.136.173.212:8080/java_blog_system/blog2.html?blogId=2",blog_cur);
        //  校验第一篇博客标题是否正确
        String blog_title = webDriver.findElement(By.cssSelector("body > div.container > div.container-right > h3")).getText();
        Assertions.assertEquals("我的第二篇博客",blog_title);
        sleep(2000);
    }

测试结果

编写博客功能

测试用例:

简易博客系统自动化测试_第6张图片

 /**
     * 编写博客功能的测试
     */
    @Order(5)
    @Test
    void EditBlog() {
        //1.找编写博客按钮
        webDriver.findElement(By.cssSelector("body > div.nav > a:nth-child(5)")).click();
        //  点击后校验跳转 url 是否正常
        String cur_url = webDriver.getCurrentUrl();
        Assertions.assertEquals("http://152.136.173.212:8080/java_blog_system/blog4.html",cur_url);
        webDriver.findElement(By.cssSelector("#title-input")).sendKeys("自动化-测试");
        webDriver.findElement(By.cssSelector("#editor > div.CodeMirror.cm-s-default.CodeMirror-wrap > div.CodeMirror-scroll")).sendKeys("自动化测试");
        webDriver.findElement(By.cssSelector("#submit")).click();
        //  提交博客成功后是否跳转正确
        String url = webDriver.getCurrentUrl();
        Assertions.assertEquals("http://152.136.173.212:8080/java_blog_system/blog1.html",url);

    }

    /**
     * 校验发布的博客标题和时间是否正确
     */
    @Order(6)
    @Test
    void BlogChess() throws InterruptedException {
        webDriver.get("http://152.136.173.212:8080/java_blog_system/blog1.html");
        //  获取博客发布标题    是否正确
        String first_blog_title = webDriver.findElement(By.cssSelector("body > div.container > div.container-right > div:nth-child(1) > div.title")).getText();
        //  获取博客发布时间    是否正确
        String first_blog_time = webDriver.findElement(By.xpath("/html/body/div[2]/div[2]/div[1]/div[2]")).getText();
        Assertions.assertEquals("自动化-测试",first_blog_title);
        if(first_blog_time.contains("2023-7-31")) {
            System.out.println("测试通过");
        } else {
            System.out.println("测试不通过");
        }
        sleep(7000);
    }

测试结果:        此功能正常 

注销功能

测试用例:

简易博客系统自动化测试_第7张图片  

@Order(7)
    @Test
    void Logout(){
        //  1.编写测试用例
        //  第一步先找元素,找到之后,点击
        webDriver.findElement(By.cssSelector("body > div.nav > a:nth-child(6)")).click();
        //  2.点击之后退出到登录页面,验证登录页面是否相等;
        //  既然是要验证,那么就先要获取
        String cur_url = webDriver.getCurrentUrl();
        Assertions.assertEquals("http://152.136.173.212:8080/java_blog_system/blog3.html",cur_url);
    }

 界面测试 

        登录页面 

测试结果:简易博客的用户登录界面设计简洁明了,易于操作,位置合理,目的明确 


        博客列表页     

测试结果:简易博客的用户登录界面设计简洁明了,易于操作,位置合理,目的明确


        博客详情页

 测试结果:简易博客的用户登录界面设计简洁明了,易于操作,位置合理,目的明确


        编写博客页

测试结果 :风格与其他几个页面统一 整体风格较为简洁,布局合理明确,内嵌MD编辑器,编辑器简单,容易上手


兼容性测试

PC

测试结果:在windows,Mac系统中使用网页访问效果一致 功能使用正常 兼容测试通过

手机

        测试结果:在安卓、IOS系统中对于页面布局无法正常展示 无法进行正常的使用 兼容测试不通过

浏览器

测试结果:在Chrom、EDGE内核中的浏览器使用正常 页面布局显示正确 功能使用正常 兼容性测试通过


测试中出现的BUG

       

简易博客系统自动化测试_第8张图片

简易博客系统自动化测试_第9张图片

上述的BUG,后续会修BUG,没有删除博客功能,后续也会更加完善此简易博客系统

你可能感兴趣的:(JAVA,java,功能测试)