Little云盘测试用例

        Little云盘实现了用户的注册、登录,上传文件,下载文件,预览文件(支持视频预览),删除文件,创建文件夹,分享文件链接等功能。管理员可管理用户存储空间、用户信息及文件消息。以下是该项目的部分测试用例及代码示例。

一、登录页测试

测试用例:

部分代码示例:

public class TestCaseLogin01 extends TestCaseOpen{/**** 输入正确的账号,正确的密码,错误的验证码*/@ParameterizedTest@CsvFileSource(resources = "LoginSuccess.csv")void LoginSuccess(String email, String password, String code) {// 打开打开主界面webDriver.get("http://localhost/login");webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));// 输入账号admin@qq.comwebDriver.findElement(By.cssSelector("#el-id-2008-26")).sendKeys(email);webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));// 账号密码:adminwebDriver.findElement(By.cssSelector("#el-id-2008-27")).sendKeys(password);webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));// 验证码:webDriver.findElement(By.cssSelector("#el-id-2008-28")).sendKeys(code);webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));// 点击提交按钮webDriver.findElement(By.cssSelector("#app > div > div.login-panel > form > div:nth-child(6) > div > button > span > span")).click();webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));// 跳转到列表页// 获取到当前页面urlString cur_url = webDriver.getCurrentUrl();webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));// 如果url=http://119.29.253.81:1024/login,测试通过,否则测试不通过Assertions.assertEquals("http://119.29.253.81:1024/login", cur_url);}
}

二、上传文件

测试用例:

部分代码示例:

public class TestCaseUpload extends TestCaseOpen{@Testvoid TestCaseUpload001() {// 打开主界面webDriver.get("http://localhost/main/all");// 上传文件webDriver.findElement(By.cssSelector(".el-button el-button--primary")).sendKeys("D:\\PycharmProjects\\test\\upload.txt\n");// 查看文件是否上传成功String title = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/div[2]/div[2]/div/div[2]/div/div[1]/div[1]/div[3]/div/div[1]/div/table/tbody/tr[2]/td[2]/div/div/span[2]")).getAttribute("title");Assertions.assertEquals("upload.txt", title);}
}

三、文件操作测试

测试用例:

部分代码示例:

public class TestCaseFile extends TestCaseOpen{@Testvoid TestCaseFile001() throws InterruptedException {// 打开主界面webDriver.get("http://localhost/main/all");// 找到要预览的文件,点击webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/div[2]/div[2]/div/div[2]/div/div[1]/div[1]/div[3]/div/div[1]/div/table/tbody/tr[2]/td[2]/div/div/span[2]")).click();// 校验是否生成预览画面By cssSelector = By.cssSelector("#app > div > div.body > div.body-content > div > div.window > div.window-content > div.title");Assertions.assertNotNull(cssSelector);Thread.sleep(300000);}
}

四、文件夹操作测试

测试用例:

部分代码示例:

public class TestCaseFolder extends TestCaseOpen{@Testvoid TestCaseFolder001() throws InterruptedException {// 打开主界面webDriver.get("http://localhost/main/all");// 点击新建文件夹webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/div[2]/div[2]/div/div[1]/div[1]/button[1]/span")).click();// 输入名称webDriver.findElement(By.xpath("//*[@id=\"el-id-2008-162\"]")).sendKeys("a");// 点击确认webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/div[2]/div[2]/div/div[2]/div/div[1]/div[1]/div[3]/div/div[1]/div/table/tbody/tr[1]/td[2]/div/div/div/span[1]")).click();// 校验是否已创建String text = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/div[2]/div[2]/div/div[2]/div/div[1]/div[1]/div[3]/div/div[1]/div/table/tbody/tr[1]/td[2]/div/div/span[2]/span")).getText();Assertions.assertEquals("a", text);}
}

五、文件列表测试

测试用例:

部分代码示例:

public class TestCaseList extends TestCaseOpen{@Testvoid TestCaseList001() {// 打开主界面webDriver.get("http://localhost/main/all");// 获取页面上所有文件对应的元素webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));int file_num = webDriver.findElements(By.cssSelector(".el-table__row")).size();// 如果元素数量不为0,测试通过Assertions.assertNotEquals(0 ,file_num);}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/657835.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序之下拉刷新事件、上拉触底事件和案例

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…

趣学Python算法100例-1.1 抓交通肇事犯

1.问题描述 一辆卡车违反交通规则,撞人后逃跑。现场有三人目击该事件,但都没有记住车号,只记下了车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但…

vue核心知识点

一、Vue基础知识点总结 开发vue项目的模式有两种: 基于vue.js,在html中引入vue.js,让vue.js管理div#app元素。基于脚手架环境:通过vue脚手架环境可以方便的创建一个通用的vue项目框架的模板,在此基础之上开发vue项目…

leetcode-top100数组专题下

第一题:48.旋转图像 题目链接 48. 旋转图像 - 力扣(LeetCode) 解题思路 辅助数组 首先我们分析位置关系 matrix_new[j][n - i - 1] matrix[i][j] 如果我们使用一个辅助数组 class Solution:def rotate(self, matrix: List[List[int]…

Python面向对象编程:探索代码的结构之美

文章目录 一、引言二、为什么学习面向对象编程2.1 提高代码的可维护性:通过封装、继承和多态实现模块化设计2.2 提升代码的复用性:通过类和对象的创建实现代码的重用 三、类和对象的基本概念3.1 类和对象的定义和关系:类是对象的模板&#xf…

【劳德巴赫 Trace32 高阶系列 3 -- trace32 svf 文件操作命令】

请阅读【嵌入式开发学习必备专栏 之 Trace32 系列 】 文章目录 Trace32 SVF 文件操作命令JTAG.PROGRAM.autoJTAG.PROGRAM.SVF命令参数介绍IRPREIRPOSTDRPREDRPOSTInitStateIgnoreTDOVerbose使用示例Trace32 SVF 文件操作命令 JTAG.PROGRAM.auto Format: JTAG.PROGRAM.</

elk之安装和简单配置

写在前面 本文看下elk的安装和简单配置&#xff0c;安装我们会尝试通过不同的方式来完成&#xff0c;也会介绍如何使用docker&#xff0c;docker-compose安装。 1&#xff1a;安装es 1.1&#xff1a;安装单实例 下载es安装包 在这里 下载&#xff0c;下载后解压到某个目录…

通过Nacos权重配置,实现微服务金丝雀发布效果(不停机部署)

在微服务项目迭代的过程中&#xff0c;不可避免需要上线&#xff1b;上线对应着部署&#xff0c;或者升级部署&#xff1b;部署对应着修改,修改则意味着风险。 传统的部署都需要先停止旧系统&#xff0c;然后部署新系统&#xff0c;之后需要对新系统进行全面的功能测试&#xf…

IMEI、IMSI、ICCID是什么?意义和区别?通信模组或手机的唯一识别码

IMEI&#xff1a;国际移动设备识别码 &#xff08;International Mobile Equipment Identity&#xff09;。 由15位数字组成&#xff0c;全球唯一ID&#xff0c;用来区别每一部移动通信设备。与手机是绑定关系。 第一部分 TAC&#xff0c;Type Allocation Code&#xff0c;类型…

用STM32手搓一个体温计

前言 市面上大多额温计、测温计精度偏差太大。 而水银温度计&#xff0c;等待时间又太久。 因此就产生了用STM32自己做一个——精度高、便宜、测速快 的产品级 温度仪/体温计的想法。 01 这个温度仪的亮点&#xff1f; ”1精度高&#xff0c;误差小于0.1度 2带有显示屏&a…

【buuctf Reverse】[GXYCTF2019]luck_guy wp

[GXYCTF2019]luck_guy https://buuoj.cn/challenges#[GXYCTF2019]luck_guy 只有一个可执行文件&#xff0c;IDA 64位直接干 进main函数&#xff0c;F5反编译&#xff0c;看主要处理函数&#xff0c;跳转进去 在这里看到。flag是由f1和f2拼出来的&#xff0c;f1在汇编中有…

STM32读取MPU6050数据并通过角度值控制舵机运动(STM32、GY-521 MPU6050、SG90舵机、MG946舵机)

通过STM32F103C8T6读取MPU6050数据控制舵机运动&#xff08;STM32、GY-521 MPU6050、SG90舵机、MG946舵机&#xff09; 最终现象一、MPU6050数据读取二、舵机控制原理①什么是PWM&#xff1f;②STM32F103C8T6如何生成PWM&#xff1f;③控制舵机需要什么样的PWM波&#xff1f; 三…

飞桨paddlespeech语音唤醒推理C INT8 定点实现

前面的文章&#xff08;飞桨paddlespeech语音唤醒推理C定点实现&#xff09;讲了INT16的定点实现。因为目前商用的语音唤醒方案推理几乎都是INT8的定点实现&#xff0c;于是我又做了INT8的定点实现。 实现前做了一番调研。量化主要包括权重值量化和激活值量化。权重值由于较小且…

微信活动投票小程序源码系统:自主创建活动小程序带完整的安装代码包以及搭建教程

微信小程序的日益普及&#xff0c;越来越多的企业和个人开始关注如何利用小程序进行活动推广和用户互动。在这个背景下&#xff0c;微信活动投票小程序源码系统应运而生。这款源码系统旨在帮助用户快速创建自己的活动投票小程序&#xff0c;降低技术门槛&#xff0c;提高开发效…

好用的学习与开发工具

1. 首推 UTools 官网地址 uTools官网 - 新一代效率工具平台 介绍 uTools 是一个极简、插件化的现代桌面软件&#xff0c;通过自由选配丰富的插件&#xff0c;打造得心应手的工具集合。 通过快捷键&#xff08;默认 alt space &#xff09;就可以快速呼出这个搜索框。你可…

Java学习day21:System类、Runtime类、Date类、Calendar类(知识点详解)

声明&#xff1a;该专栏本人重新过一遍java知识点时候的笔记汇总&#xff0c;主要是每天的知识点题解&#xff0c;算是让自己巩固复习&#xff0c;也希望能给初学的朋友们一点帮助&#xff0c;大佬们不喜勿喷(抱拳了老铁&#xff01;) 往期回顾 Java学习day20&#xff1a;常用数…

主从数据库MySQL服务重启步骤与注意事项

主从数据库MySQL服务重启步骤与注意事项 实验环境&#xff1a; 172.20.26.34 &#xff08;主应用服务器&#xff09; 172.20.26.26 &#xff08;备应用服务器&#xff09; 172.20.26.37 &#xff08;主库服务器&#xff09; 172.20.26.38 &#xff08;从库服务器&…

迅为3588开发板Ubuntu安装Docker

在使用迅为 RK3588 开发板的时候&#xff0c;我们一般采用的是虚拟机安装 Ubuntu20.04 来编译 Android 源码或者 linux 源码&#xff0c;但是编译源码最让人头疼的是主机环境问题。假如我手上有很 多块开发板&#xff0c;每个开发板都使用不同的编译环境&#xff0c;而我本地电…

Java 类的加载流程

一、类的加载 指的是将类的.class 文件中的二进制 数据读入到内存中&#xff0c;将其放在运行时数据区的方法区内&#xff0c;然后在堆区创 建一个 java.lang.Class 对象&#xff0c;用来封装类在方法区内的数据结构。 类从被加载到虚拟机内存中开始&#xff0c;到卸载出内…

自己实现的小功能

小功能实现 2024/1/31 问题一&#xff1a; 将文本模式的csv文件作为表编辑之后&#xff0c;先要再变回来。找了5分钟都没找到&#xff0c;去网上搜也没搜到 解决方案 复制一份&#xff0c;对没错。 不是把表遍历一遍&#xff0c;重新将数据写入。 3.5给的答案就是重新写入…