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

网站上的链接怎么做的网站seo服务公司

网站上的链接怎么做的,网站seo服务公司,网站子目录,怎么建网站app功能测试 测试相关用例 开发者社区功能背景 在当今数字化时代,编程已经成为一项核心技能,越来越多的人开始学习编程,以适应快速变化的科技 环境。基于这一需求,我设计开发了一个类似博客的论坛系统,专注于方便程序员…

功能测试

测试相关用例

开发者社区功能背景

在当今数字化时代,编程已经成为一项核心技能,越来越多的人开始学习编程,以适应快速变化的科技 环境。基于这一需求,我设计开发了一个类似博客的论坛系统,专注于方便程序员与学习编程者之间的交流和 学习,旨在创建一个开放、友好且充满活力的社区。

测试用例思维导图

测试页面

以下是要测试的页面:

页面排版渲染与需求一致,同时按钮能够进行正确点击

登录页面

注册页面

主界面

用户个人信息

帖子详情

短信页面

测试用例

设置了部分基础的测试用例,尽可能的全覆盖,这里只展示部分用例(篇幅有限)

登录界面

  • 正确输入用户名和密码

  • 输入密码为空

注册页面

  • 正确注册

  • 用户名为空

  • 用户已存在

  • 密码为空

个人页面

  • 邮箱修改失败

  • 电话号码失败

  • 密码修改失败

帖子页面

  • 创建帖子失败

  • 回复帖子失败

站内信页面

回复失败

代码编写

基础配置

先进行驱动配置以及截图配置

public class InitUtils {public static WebDriver webDriver ;public static WebDriver createDriver(){if(webDriver==null){System.setProperty("webdriver.chrome.driver", "C:\\学习使我快乐\\测试\\demo\\chromedriver-win64\\chromedriver.exe");ChromeOptions options = new ChromeOptions();options.addArguments("--remote-allow-origins=*");webDriver=new ChromeDriver(options);webDriver.manage().timeouts().implicitlyWait(Duration.ofMillis(5));}return webDriver;}public InitUtils(String url){webDriver = createDriver();webDriver.get(url);}//截图public static void getImage(String str) throws IOException {SimpleDateFormat sim1 = new SimpleDateFormat("yyyy-MM-dd");SimpleDateFormat sim2 = new SimpleDateFormat("HH_mm_ss_SSS");String dirTime = sim1.format(System.currentTimeMillis());String pngTime = sim2.format(System.currentTimeMillis());//名字String fileName = "./src/test/image/"+dirTime+"/"+str+"_"+pngTime+".png";File file = ((TakesScreenshot)webDriver).getScreenshotAs(OutputType.FILE);FileUtils.copyFile(file,new File(fileName));}
}

登录页面

public class LoginPageTest extends InitUtils {public static String url = "http://127.0.0.1:58080/sign-in.html";public LoginPageTest() {super(url);}//登录成功public void LoginSuc() throws InterruptedException, IOException {String str = Thread.currentThread().getStackTrace()[1].getMethodName();//先找到输入框,输入正确的用户名和密码getImage(str);//用方法名进行命名Thread.sleep(2000);webDriver.findElement(By.cssSelector("#username")).sendKeys("小明");webDriver.findElement(By.cssSelector("#password")).sendKeys("123123");webDriver.findElement(By.cssSelector("#submit")).click();Thread.sleep(2000);getImage(str);//webDriver.quit();}//退出登录public void logout() throws IOException {String str = Thread.currentThread().getStackTrace()[1].getMethodName();getImage(str);webDriver.findElement(By.cssSelector("#index_nav_avatar")).click();getImage(str);webDriver.findElement(By.cssSelector("#index_user_logout")).click();getImage(str);//webDriver.quit();}//登录失败public void LoginFail() throws IOException, InterruptedException {String str = Thread.currentThread().getStackTrace()[1].getMethodName();//先找到输入框,输入错误的用户名和密码getImage(str);
//        webDriver.findElement(By.cssSelector("#username")).sendKeys("小明");
//        webDriver.findElement(By.cssSelector("#password")).sendKeys("123456111");webDriver.findElement(By.cssSelector("#username")).sendKeys("");webDriver.findElement(By.cssSelector("#password")).sendKeys("");webDriver.findElement(By.cssSelector("#submit")).click();Thread.sleep(2000);getImage(str);//webDriver.quit();}
}

注册页面

public class RegisterTest extends InitUtils {public static String url = "http://127.0.0.1:58080/sign-up.html";public RegisterTest() {super(url);}//注册成功public void registerSuc() throws IOException, InterruptedException {String str = Thread.currentThread().getStackTrace()[1].getMethodName();getImage(str);Thread.sleep(2000);webDriver.findElement(By.cssSelector("#username")).sendKeys("小喜");webDriver.findElement(By.cssSelector("#nickname")).sendKeys("happiness");webDriver.findElement(By.cssSelector("#password")).sendKeys("123456");webDriver.findElement(By.cssSelector("#passwordRepeat")).sendKeys("123456");webDriver.findElement(By.cssSelector("#policy")).click();Thread.sleep(2000);getImage(str);webDriver.findElement(By.cssSelector("#submit")).click();Thread.sleep(2000);getImage(str);//webDriver.quit();}//注册失败public void fail() throws IOException, InterruptedException {String str = Thread.currentThread().getStackTrace()[1].getMethodName();getImage(str);//webDriver.findElement(By.cssSelector("#username")).sendKeys("");//用户名为空//webDriver.findElement(By.cssSelector("#username")).sendKeys("小明");//用户名重复webDriver.findElement(By.cssSelector("#username")).sendKeys("明明");webDriver.findElement(By.cssSelector("#nickname")).sendKeys("mingming");//webDriver.findElement(By.cssSelector("#password")).sendKeys("");//密码为空//webDriver.findElement(By.cssSelector("#password")).sendKeys("123");//密码小于6位webDriver.findElement(By.cssSelector("#password")).sendKeys("123456");//webDriver.findElement(By.cssSelector("#passwordRepeat")).sendKeys("123");//两次密码输入不一样webDriver.findElement(By.cssSelector("#passwordRepeat")).sendKeys("123456");//不点击同意信息//webDriver.findElement(By.cssSelector("#policy")).click();Thread.sleep(2000);getImage(str);webDriver.findElement(By.cssSelector("#submit")).click();Thread.sleep(2000);getImage(str);}
}

帖子页面

public class ListPageTest extends InitUtils {public static String url = "http://127.0.0.1:58080/index.html";public ListPageTest() {super(url);}//点击帖子public void listDetail() throws IOException {String str = Thread.currentThread().getStackTrace()[1].getMethodName();getImage(str);webDriver.findElement(By.cssSelector("#artical-items-body > div:nth-child(1) > div > div.col > div.text-truncate > a > strong")).click();//因为是外部的文件 MD输入,所以一般是找不到的webDriver.findElement(By.cssSelector("#article_details_reply > div.CodeMirror.cm-s-default.CodeMirror-wrap.CodeMirror-empty > div.CodeMirror-scroll")).sendKeys("这是自动化测试内容");getImage(str);webDriver.findElement(By.cssSelector("#details_btn_article_reply")).click();getImage(str);//webDriver.quit();}//点击板块public void listBoard() throws IOException, InterruptedException {String str = Thread.currentThread().getStackTrace()[1].getMethodName();getImage(str);webDriver.findElement(By.cssSelector("#topBoardList > li:nth-child(5) > a > span.nav-link-title")).click();Thread.sleep(2000);getImage(str);webDriver.findElement(By.cssSelector("#topBoardList > li:nth-child(8) > a > span.nav-link-title")).click();Thread.sleep(2000);getImage(str);webDriver.quit();}//发布新帖子public void createNewText() throws IOException, InterruptedException{String str = Thread.currentThread().getStackTrace()[1].getMethodName();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();getImage(str);webDriver.findElement(By.cssSelector("#article_post_borad > option:nth-child(6)")).click();//选择板块webDriver.findElement(By.cssSelector("#article_post_title")).sendKeys("自动化测试");Thread.sleep(2000);webDriver.findElement(By.cssSelector("#edit-article > div.CodeMirror.cm-s-default.CodeMirror-wrap.CodeMirror-empty > div.CodeMirror-scroll")).sendKeys("自动化测试内容");Thread.sleep(2000);getImage(str);webDriver.findElement(By.cssSelector("#article_post_submit")).click();Thread.sleep(2000);getImage(str);webDriver.quit();}
}

用户页面

public class UserTest extends InitUtils {//用户有两个页面,所以需要进行跳转public static String url="http://127.0.0.1:58080/index.html";public UserTest() {super(url);}//获取当前用户帖子public void myText() throws InterruptedException, IOException {String str = Thread.currentThread().getStackTrace()[1].getMethodName();getImage(str);Thread.sleep(2000);webDriver.findElement(By.cssSelector("#index_nav_avatar")).click();webDriver.findElement(By.cssSelector("#index_user_profile")).click();Thread.sleep(2000);getImage(str);//点击帖子webDriver.findElement(By.cssSelector("#profile_article_body > li > div.card.timeline-event-card > div > div > div > div > div.text-truncate > a > strong")).click();getImage(str);webDriver.quit();}//修改个人信息成功public void updateInfoSuc() throws IOException, InterruptedException {String str = Thread.currentThread().getStackTrace()[1].getMethodName();getImage(str);Thread.sleep(2000);webDriver.findElement(By.cssSelector("#index_nav_avatar")).click();webDriver.findElement(By.cssSelector("#index_user_settings")).click();Thread.sleep(2000);//修改个人信息//修改之前要先清空//修改头像webDriver.findElement(By.cssSelector("#bit-forum-content > div.page-body > div > div > div > div.col.d-flex.flex-column > div > div.row.align-items-center > div:nth-child(2) > a")).sendKeys("C:\\Users\\asus\\Desktop\\证件照压缩版.jpg");//修改昵称
//        webDriver.findElement(By.cssSelector("#setting_input_nickname")).clear();
//        webDriver.findElement(By.cssSelector("#setting_input_nickname")).sendKeys("NickName");
//        Thread.sleep(2000);
//        webDriver.findElement(By.cssSelector("#setting_submit_nickname")).click();
//
//        //修改邮箱
//        webDriver.findElement(By.cssSelector("#setting_input_email")).clear();
//        webDriver.findElement(By.cssSelector("#setting_input_email")).sendKeys("qweqwe123@qq.com");
//        Thread.sleep(2000);
//        webDriver.findElement(By.cssSelector("#setting_submit_email")).click();
//
//        //修改电话号码
//        webDriver.findElement(By.cssSelector("#setting_input_phoneNum")).clear();
//        webDriver.findElement(By.cssSelector("#setting_input_phoneNum")).sendKeys("15136698733");
//        Thread.sleep(2000);
//        webDriver.findElement(By.cssSelector("#setting_submit_phoneNum")).click();
//
//        //修改密码
//        webDriver.findElement(By.cssSelector("#settings_input_oldPassword")).sendKeys("123123");
//        webDriver.findElement(By.cssSelector("#settings_input_newPassword")).sendKeys("1123456");
//        webDriver.findElement(By.cssSelector("#settings_input_passwordRepeat")).sendKeys("123456");
//        webDriver.findElement(By.cssSelector("#settings_submit_password")).click();
//
//        //修改个人简介
//        webDriver.findElement(By.cssSelector("#settings_textarea_remark")).clear();
//        webDriver.findElement(By.cssSelector("#settings_textarea_remark")).sendKeys("这是自动化测试");
//        Thread.sleep(2000);
//        webDriver.findElement(By.cssSelector("#settings_submit_remark")).click();Thread.sleep(2000);getImage(str);Thread.sleep(2000);webDriver.quit();}//修改个人信息失败public void updateInfoFail()throws IOException, InterruptedException{String str = Thread.currentThread().getStackTrace()[1].getMethodName();getImage(str);Thread.sleep(2000);webDriver.findElement(By.cssSelector("#index_nav_avatar")).click();webDriver.findElement(By.cssSelector("#index_user_settings")).click();Thread.sleep(2000);//修改个人信息//修改邮箱
//        webDriver.findElement(By.cssSelector("#setting_input_email")).clear();
//        webDriver.findElement(By.cssSelector("#setting_input_email")).sendKeys("qweqwe123");
//        Thread.sleep(2000);
//        webDriver.findElement(By.cssSelector("#setting_submit_email")).click();
//        getImage(str);//        //修改电话号码
//        webDriver.findElement(By.cssSelector("#setting_input_phoneNum")).clear();
//        webDriver.findElement(By.cssSelector("#setting_input_phoneNum")).sendKeys("15136698");
//        Thread.sleep(2000);
//        webDriver.findElement(By.cssSelector("#setting_submit_phoneNum")).click();
//        getImage(str);//修改密码
//        webDriver.findElement(By.cssSelector("#settings_input_oldPassword")).sendKeys("123123");
//        webDriver.findElement(By.cssSelector("#settings_input_newPassword")).sendKeys("1123456");//前后密码不一致
//        webDriver.findElement(By.cssSelector("#settings_input_passwordRepeat")).sendKeys("123456");
//        webDriver.findElement(By.cssSelector("#settings_input_oldPassword")).sendKeys("");//没有输入旧密码
//        webDriver.findElement(By.cssSelector("#settings_input_newPassword")).sendKeys("123456");
//        webDriver.findElement(By.cssSelector("#settings_input_passwordRepeat")).sendKeys("123456");webDriver.findElement(By.cssSelector("#settings_input_oldPassword")).sendKeys("123123");webDriver.findElement(By.cssSelector("#settings_input_newPassword")).sendKeys("123456");webDriver.findElement(By.cssSelector("#settings_input_passwordRepeat")).sendKeys("");//没有输入确认密码Thread.sleep(2000);webDriver.findElement(By.cssSelector("#settings_submit_password")).click();Thread.sleep(1000);getImage(str);webDriver.quit();}
}

短信页面

public class MessageTest extends InitUtils {public static String url = "http://127.0.0.1:58080/index.html";public MessageTest() {super(url);}//打开站内信板块,点击站内信public void getMessage() throws InterruptedException, IOException {String str = Thread.currentThread().getStackTrace()[1].getMethodName();webDriver.findElement(By.cssSelector("body > div.page > header.navbar.navbar-expand-md.navbar-light.d-print-none > div > div > div:nth-child(2) > div > a > svg")).click();Thread.sleep(2000);getImage(str);webDriver.findElement(By.cssSelector("#index_div_message_list > div:nth-child(1) > div > div.col.text-truncate > a > span:nth-child(2)")).click();Thread.sleep(2000);getImage(str);//webDriver.quit();}//回复站内信public void responseMsg()throws InterruptedException, IOException{String str = Thread.currentThread().getStackTrace()[1].getMethodName();webDriver.findElement(By.cssSelector("#btn_index_message_reply")).click();Thread.sleep(2000);getImage(str);webDriver.findElement(By.cssSelector("#index_message_reply_receive_content")).sendKeys("用来测试一下");Thread.sleep(2000);getImage(str);webDriver.findElement(By.cssSelector("#btn_index_send_message_reply")).click();Thread.sleep(2000);getImage(str);webDriver.quit();}
}

性能测试

对部分接口进行了性能测试,设置了600个线程

总结

  • 总体性能

    • 总请求数为6000,所有请求均成功执行,错误率为0.00%。

    • 平均响应时间为5.20毫秒,最小响应时间为0毫秒,最大响应时间为133毫秒。

    • 网络吞吐量为512.30 KiB/s,接收数据量为4521.95 KiB,发送数据量为113.35 KiB。

  • 各请求类型的性能

    • 发起帖子:平均响应时间为10.06毫秒,最大响应时间为32毫秒。

    • 点赞帖子:平均响应时间为5.10毫秒,最大响应时间为13毫秒。

    • 登出:平均响应时间为1.06毫秒,是所有请求中最快的。

    • 登录:平均响应时间为2.83毫秒,最大响应时间为36毫秒。

    • 获取帖子内容:平均响应时间为32.46毫秒,是所有请求中最慢的,最大响应时间为63毫秒。

    • 获取帖子详情:平均响应时间为5.24毫秒,最大响应时间为31毫秒。

    • 获取板块:平均响应时间为2.47毫秒,最大响应时间为8毫秒。

    • 获取用户帖子:平均响应时间为16.25毫秒,最大响应时间为44毫秒。

    • 获取用户详情:平均响应时间为1.17毫秒,最大响应时间为6毫秒。

    • 获取短信内容获取站内信列表:平均响应时间均为4.44毫秒,最大响应时间为133毫秒。

    • 获取站内:平均响应时间为3.39毫秒,最大响应时间为14毫秒。

  • APDEX指数

    • 所有请求的APDEX指数均为1.000,表示所有请求的响应时间都在用户可接受的范围内(容忍阈值500毫秒,沮丧阈值1.5秒)。

  • 网络使用情况

    • 接收数据量最大的是“获取帖子内容”和“获取用户帖子”,分别为4450.46 KiB和4290.84 KiB。

    • 发送数据量最大的是“发起帖子”和“登录”,分别为21.53 KiB和15.27 KiB。

  • 结论

    • 系统整体性能良好,所有请求的响应时间都在可接受范围内,且没有错误发生。

    • “获取帖子内容”和“获取用户帖子”是系统中响应时间较长的操作,可能需要进一步优化。

    • 网络吞吐量和数据传输量在合理范围内,没有明显的瓶颈。

http://www.dtcms.com/wzjs/251696.html

相关文章:

  • wordpress文章存档插件seo黑帽技术有哪些
  • 制作一个网页要多少钱石家庄百度seo
  • 什么操作系统做网站营销新闻
  • 新建网站站点的鸿科经纬教网店运营推广
  • 免费加速器永久免费版不用登录seo排名赚app多久了
  • 网站架构分类西安自动seo
  • 凡客网站规划与建设pptseo查询是什么
  • 建设网站时间推进表黑河seo
  • 装修公司网站怎么做谷歌搜索广告
  • sns有哪些著名的网站网站seo优化报告
  • 淘宝网站小视频怎么做网站软件下载
  • wordpress wp_page_menu搜索引擎优化需要多少钱
  • 用dw做的网页怎么上传到网站重庆seo全网营销
  • 天津建设发展集团有限公司重庆百度推广排名优化
  • 网站是哪个公司做的好八大营销模式有哪几种
  • 丹阳市建设局网站游戏加盟
  • 做网站做什么类型 比较赚钱百度助手
  • 前程无忧做网站多少钱网址百度刷排名
  • 分销平台搭建seo技巧是什么意思
  • 辽 icp 大连 网站建设seo服务顾问
  • 专业旅游网站开发系统百度推广方法
  • 阿城区建设小学网站西安seo排名
  • 个人注册域名网站怎么做网络营销包括哪些
  • 网站建设后期维护方案优化网站打开速度
  • 网站的seo怎么做定向推广
  • wordpress批量拿站seo优化策略
  • php网站开发文档鹤壁网站推广公司
  • 设计一个网站需要多久软文媒体
  • 跨境电商网站制作seo推广方式是什么呢
  • 医院门户网站建设方案抖音seo推荐算法