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

上海网站 备案查询苏州网站建站

上海网站 备案查询,苏州网站建站,低调与华丽wordpress下载,杭州ui设计公司目录 1. 登录测试 2. 测试首页的帖子列表数不为0 3. 帖子详情页校验 4. 发布帖子 5. 退出登录 自动化项目实施的基本流程如下图所示: 手工测试用例、自动化测试用例。 1. 登录测试 校验登录后主页显示的用户名称和登录时输入的用户名是否相等。 public class…

目录

1. 登录测试

2. 测试首页的帖子列表数不为0

3. 帖子详情页校验

4. 发布帖子

5. 退出登录


自动化项目实施的基本流程如下图所示:

手工测试用例、自动化测试用例。

1. 登录测试

校验登录后主页显示的用户名称和登录时输入的用户名是否相等。

public class ForumCases extends InitAndEnd{/*** 登录测试*/@Testvoid login(){// 打开要进行登录的页面webDriver.get("http://150.158.82.121:58080/sign-in.html");// 输入用户名webDriver.findElement(By.cssSelector("#username")).sendKeys("明玉");// 输入密码webDriver.findElement(By.cssSelector("#password")).sendKeys("123");// 点击登录webDriver.findElement(By.cssSelector("#submit")).click();// 校验用户是否登录成功,即当前用户是否为登录的用户,如果是则测试通过,否则测试不通过String user_name = webDriver.findElement(By.cssSelector("#username")).getAttribute("value");// 断言相等Assertions.assertEquals("明玉",user_name);}
}

测试成功: 

我们还可以通过参数化对于以上代码进行优化:

public class ForumCases extends InitAndEnd{/*** 登录测试*/@ParameterizedTest@CsvSource(value = "明玉,123")void login(String username,String password){// 打开要进行登录的页面webDriver.get("http://150.158.82.121:58080/sign-in.html");// 输入用户名webDriver.findElement(By.cssSelector("#username")).sendKeys(username);// 输入密码webDriver.findElement(By.cssSelector("#password")).sendKeys(password);// 点击登录webDriver.findElement(By.cssSelector("#submit")).click();// 校验用户是否登录成功,即当前用户是否为登录的用户,如果是则测试通过,否则测试不通过String user_name = webDriver.findElement(By.cssSelector("#username")).getAttribute("value");// 断言相等Assertions.assertEquals(username,user_name);}
}

 测试成功:

2. 测试首页的帖子列表数不为0

@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class ForumCases extends InitAndEnd{/*** 登录测试* 账号正确,密码正确,登录成功*/@Order(1)@ParameterizedTest@CsvSource(value = "明玉,123")void login(String username,String password){// 打开要进行登录的页面webDriver.get("http://150.158.82.121:58080/sign-in.html");// 输入用户名webDriver.findElement(By.cssSelector("#username")).sendKeys(username);// 输入密码webDriver.findElement(By.cssSelector("#password")).sendKeys(password);// 点击登录webDriver.findElement(By.cssSelector("#submit")).click();// 校验用户是否登录成功,即当前用户是否为登录的用户,如果是则测试通过,否则测试不通过String user_name = webDriver.findElement(By.cssSelector("#username")).getAttribute("value");// 断言相等Assertions.assertEquals(username,user_name);}/*** 帖子列表*/@Order(2)@Testvoid articleList(){webDriver.get("http://150.158.82.121:58080/index.html");// 智能等待3秒webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);// 统计首页的帖子数目int article_num = webDriver.findElements(By.cssSelector("#nav_board_index > a")).size();// 断言帖子数目不为0Assertions.assertNotEquals(0,article_num);}
}

测试成功:

3. 帖子详情页校验

首先,我们点击帖子标题查看详情时,帖子的详情页中帖子标题不能为空

@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class ForumCases extends InitAndEnd{/*** 登录测试* 账号正确,密码正确,登录成功*/@Order(1)@ParameterizedTest@CsvSource(value = "明玉,123")void login(String username,String password){// 打开要进行登录的页面webDriver.get("http://150.158.82.121:58080/sign-in.html");// 输入用户名webDriver.findElement(By.cssSelector("#username")).sendKeys(username);// 输入密码webDriver.findElement(By.cssSelector("#password")).sendKeys(password);// 点击登录webDriver.findElement(By.cssSelector("#submit")).click();// 校验用户是否登录成功,即当前用户是否为登录的用户,如果是则测试通过,否则测试不通过String user_name = webDriver.findElement(By.cssSelector("#username")).getAttribute("value");// 断言相等Assertions.assertEquals(username,user_name);}/*** 帖子列表*/@Order(2)@Testvoid articleList(){webDriver.get("http://150.158.82.121:58080/index.html");// 智能等待3秒webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);// 统计首页的帖子数目int article_num = webDriver.findElements(By.cssSelector("#nav_board_index > a")).size();// 断言帖子数目不为0Assertions.assertNotEquals(0,article_num);}/*** 帖子详情页检验* 校验帖子的标题不为空*/@Order(3)@Testvoid articleDetail(){// 打开列表页webDriver.get("http://150.158.82.121:58080/index.html");// 找到需要查看的帖子标题并点击webDriver.findElement(By.cssSelector("#artical-items-body > div:nth-child(1) > div > div.col > div.text-truncate > a > strong")).click();// 获取博客的标题String article_title = webDriver.findElement(By.cssSelector("#details_article_content_title")).getText();// 断言标题不为空Assertions.assertNotNull(article_title);}
}

测试成功:

其次,我们点击帖子标题查看详情时,帖子的详情页中帖子内容不能为空

@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class ForumCases extends InitAndEnd{/*** 登录测试* 账号正确,密码正确,登录成功*/@Order(1)@ParameterizedTest@CsvSource(value = "明玉,123")void login(String username,String password){// 打开要进行登录的页面webDriver.get("http://150.158.82.121:58080/sign-in.html");// 输入用户名webDriver.findElement(By.cssSelector("#username")).sendKeys(username);// 输入密码webDriver.findElement(By.cssSelector("#password")).sendKeys(password);// 点击登录webDriver.findElement(By.cssSelector("#submit")).click();// 校验用户是否登录成功,即当前用户是否为登录的用户,如果是则测试通过,否则测试不通过String user_name = webDriver.findElement(By.cssSelector("#username")).getAttribute("value");// 断言相等Assertions.assertEquals(username,user_name);}/*** 帖子列表*/@Order(2)@Testvoid articleList(){webDriver.get("http://150.158.82.121:58080/index.html");// 智能等待3秒webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);// 统计首页的帖子数目int article_num = webDriver.findElements(By.cssSelector("#nav_board_index > a")).size();// 断言帖子数目不为0Assertions.assertNotEquals(0,article_num);}/*** 帖子详情页检验* 校验帖子的标题不为空* 校验帖子的内容不为空*/@Order(3)@Testvoid articleDetail(){// 打开列表页webDriver.get("http://150.158.82.121:58080/index.html");// 找到需要查看的帖子标题并点击webDriver.findElement(By.cssSelector("#artical-items-body > div:nth-child(1) > div > div.col > div.text-truncate > a > strong")).click();// 获取帖子的标题String article_title = webDriver.findElement(By.cssSelector("#details_article_content_title")).getText();// 断言帖子的标题不为空Assertions.assertNotNull(article_title);// 获取帖子的内容String article_content = webDriver.findElement(By.cssSelector("#details_article_content > p")).getText();// 断言帖子的内容不为空Assertions.assertNotNull(article_content);}
}

测试成功:

4. 发布帖子

我们可以直接在控制台上进行输入:

我们可以直接复制以上的 JS 脚本:document.querySelector("#article_post_title").value="测试"

5. 退出登录

package forumTest;import net.bytebuddy.build.ToStringPlugin;
import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
import org.junit.jupiter.params.provider.ValueSource;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;import java.util.concurrent.TimeUnit;import static java.lang.Thread.sleep;@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class ForumCases extends InitAndEnd{/*** 登录测试* 账号正确,密码正确,登录成功*/@Order(1)@ParameterizedTest@CsvSource(value = "明玉,123")void login(String username,String password){// 打开要进行登录的页面webDriver.get("http://150.158.82.121:58080/sign-in.html");// 输入用户名webDriver.findElement(By.cssSelector("#username")).sendKeys(username);// 输入密码webDriver.findElement(By.cssSelector("#password")).sendKeys(password);// 智能等待5秒webDriver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);// 点击登录webDriver.findElement(By.cssSelector("#submit")).click();// 校验用户是否登录成功,即当前用户是否为登录的用户,如果是则测试通过,否则测试不通过String user_name = webDriver.findElement(By.cssSelector("#username")).getAttribute("value");// 断言相等Assertions.assertEquals(username,user_name);}/*** 帖子列表*/@Order(2)@Testvoid articleList(){webDriver.get("http://150.158.82.121:58080/index.html");// 智能等待3秒webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);// 统计首页的帖子数目int article_num = webDriver.findElements(By.cssSelector("#nav_board_index > a")).size();// 断言帖子数目不为0Assertions.assertNotEquals(0,article_num);}/*** 帖子详情页检验* 校验帖子的标题不为空* 校验帖子的内容不为空*/
//    @Order(3)
//    @Test
//    void articleDetail(){
//        // 打开列表页
//        webDriver.get("http://150.158.82.121:58080/index.html");
//        // 找到需要查看的帖子标题并点击
//        webDriver.findElement(By.cssSelector("#artical-items-body > div:nth-child(1) > div > div.col > div.text-truncate > a > strong")).click();
//        // 获取帖子的标题
//        String article_title = webDriver.findElement(By.cssSelector("#details_article_content_title")).getText();
//        // 断言帖子的标题不为空
//        Assertions.assertNotNull(article_title);
//        // 获取帖子的内容
//        String article_content = webDriver.findElement(By.cssSelector("#details_article_content > p")).getText();
//        // 断言帖子的内容不为空
//        Assertions.assertNotNull(article_content);
//    }/*** 发布帖子*/
//    @Order(4)
//    @Test
//    void publish_article() throws InterruptedException {
//        // 找到发布帖子的按钮
//        webDriver.findElement(By.cssSelector("#bit-forum-content > div.page-header.d-print-none > div > div > div.col-auto.ms-auto.d-print-none > div > a.btn.btn-primary.d-none.d-sm-inline-block.article_post")).click();
//        sleep(2000);
//        // 执行 js(选中标题输入框,输入标题)
//        ((JavascriptExecutor)webDriver).executeScript("document.querySelector(\"#article_post_title\").value=\"测试\"");
//        // 智能等待5秒
//        webDriver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
//        // 执行 js(选中内容输入框,输入内容)
//        ((JavascriptExecutor)webDriver).executeScript("document.querySelector(\"#edit-article > div.CodeMirror.cm-s-default.CodeMirror-wrap > div.CodeMirror-scroll > div.CodeMirror-sizer > div > div > div > div.CodeMirror-code > div > pre > span > span\").innerText=\"自动化测试\"");
//        sleep(5000);
//        // 点击发布按钮webDriver.findElement(By.cssSelector("#article_post_submit")).click();
//
//        WebElement element = webDriver.findElement(By.cssSelector("#article_post_submit"));
//        ((JavascriptExecutor) webDriver).executeScript("arguments[0].click();", element);
//        // 校验页面跳转到首页
//        String currentUrl = webDriver.getCurrentUrl();
//        Assertions.assertEquals("http://150.158.82.121:58080/index.html",currentUrl);
//        // 校验第一条帖子的标题是不是我们刚才发布的标题
//        String firstTitle = webDriver.findElement(By.cssSelector("#artical-items-body > div:nth-child(1) > div > div.col > div.text-truncate > a > strong")).getText();
//        Assertions.assertEquals("测试",firstTitle);
//    }/*** 退出登录校验*/@Order(5)@Testvoid logOut() throws InterruptedException {webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);// 找到退出按钮并点击webDriver.findElement(By.cssSelector("#index_nav_avatar")).click();sleep(3000);webDriver.findElement(By.cssSelector("#index_user_logout")).click();sleep(3000);webDriver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);// 校验是否退回登录页String currentUrl = webDriver.getCurrentUrl();webDriver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);Assertions.assertEquals("http://150.158.82.121:58080/sign-in.html",currentUrl);}
}

测试成功:

先进行基础功能的自动化测试~

其他详细的测试将不断在本篇文章中进行迭代。 

http://www.yayakq.cn/news/757425/

相关文章:

  • 网页游戏网站在线玩常熟网站建设公司
  • 彩票网站模板源码翻译网站建设
  • 网站大全正能量免费2020公司公众号怎么制作
  • 可以做企业网站深圳网站建设q双赢世讯
  • 云南网站做的好的公司哪家好颜色广告
  • 如何用子域名做网站网片加工厂家
  • 提高网站知名度深圳房产 网站建设
  • 做任务赚话费的网站wordpress 默认图片路径
  • 网站开发有哪些课程做网站需要多钱
  • 麟游做网站个人接广告的平台
  • 流媒体视频网站建设wordpress评论框表情
  • 网站页面footer的copy域名cn和com有什么区别
  • 艺术品拍卖网站源码php虹口建设机械网站
  • 酒店预订网站模板西安网站建设排名
  • 江门网站制作 华企立方电动汽车排名前十名
  • 网站开发与app差距电子商务网站建设论文总结
  • 厦门物流网站建设滨江建设工程网站
  • 嘉兴电子商务网站建设企业建设网站需注意哪些事项
  • 网站建设php教程视频湖南地税局官网站水利建设基金
  • 加密的网站使用jmeter做压测在线h5免费制作网站
  • 美丽寮步网站建设价钱做系统用什么网站
  • 网站关键词密度潍坊城市建设官方网站
  • 做网站的企业广州如何制作一个软件界面
  • 可以登录国外网站吗怎么做一个小程序商城
  • 开发商城网站有域名就可以做网站么
  • 网站宣传推广的目的网站建设中敬请期待 图片
  • 那些网站做调查能赚钱中国建筑网建设通进行查询证件查询
  • 网站建设收费明细表网站建设填空题
  • 城关区建设局网站手机棋牌网站大全
  • 网站app制作平台网站全屏宽度是多少合适