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

【测试专栏】自动化测试——云存储项目

在这里插入图片描述

目录

  • 1、项目背景
  • 2、项目功能简介
  • 3、编写测试用例
    • 3.1、测试主要内容
    • 3.2、测试用例导图
  • 4、选用测试工具
  • 5、具体功能测试板块
    • 5.1、手动测试登录注册界面
    • 5.2、手动测试其他页面跳转显示是否正常
  • 6、自动化测试板块
    • 6.1、编写Web自动化测试用例
    • 6.2、自动化测试脚本框架
      • 6.2.1、确认是否安装selenium工具和webdeiver-manager驱动管理器
      • 6.2.2、自动化编写的代码框架
    • 6.3、部分代码模块实现
  • 7、BUG发现
  • 8、测试结论

1、项目背景

随着互联网的普及和智能设备的广泛应用,个人用户产生的数据量日益庞大,包括照片、视频、文档、音乐等各种类型的文件。然而,个人用户在数据存储和管理方面面临着诸多困扰。本地存储设备的容量有限,无法满足不断增长的数据存储需求,而且一旦设备损坏或丢失,个人数据将面临永久丢失的风险。
同时,个人用户在不同设备之间进行数据同步和共享时,也常常遇到操作繁琐、速度慢等问题。为了解决个人用户在数据存储和管理方面的痛点,提供一个便捷、安全、高效的云存储解决方案,我们决定开展云存储项目。该项目将让个人用户能够轻松地将数据存储在云端,随时随地访问和管理自己的文件,实现数据的无缝同步和共享,为个人用户带来更加便捷和安全的数据存储体验。

2、项目功能简介

该项目功能是登录后,可以进行所有文件的详情展示、文件的上传下载以及分享、文件\文件夹的创建和删除、用户信息的设置、系统通知功能和帮助中心的展示。

3、编写测试用例

3.1、测试主要内容

对该项目主要是对项目的每个功能模块是否正常运行、是否符合预期。

3.2、测试用例导图

在这里插入图片描述

4、选用测试工具

选用Selenium ‌Web应用程序测试工具,使用Pyhton语言pyhcharm开发工具上,进行云存储web端自动化测试的代码编写。

5、具体功能测试板块

5.1、手动测试登录注册界面

  1. 登录
    在这里插入图片描述

输入已注册的用户信息,成功登录;反之失败。

  1. 注册
    在这里插入图片描述

输入不完整信息,注册失败;未按要求填写数据也注册失败;正确填写后注册成功;再次输入重复的信息提示注册失败。

在这里插入图片描述

5.2、手动测试其他页面跳转显示是否正常

其余页面在登录情况下正常跳转:
在这里插入图片描述

6、自动化测试板块

6.1、编写Web自动化测试用例

在这里插入图片描述

6.2、自动化测试脚本框架

6.2.1、确认是否安装selenium工具和webdeiver-manager驱动管理器

在这里插入图片描述

file中找到Settings上面框出的,若没有则直接在该项目的终端输入下面两个指令:
可以先更新一下Pythonpip安装工具

 python.exe -m pip install --upgrade pip

然后安装Selenium工具

 pip install selenium 

之后安装Webdriver-manager驱动管理工具

 pip install webdriver-manager

6.2.2、自动化编写的代码框架

在这里插入图片描述

6.3、部分代码模块实现

  1. 主程序入口:每个页面测试采用类封装,利用单例模式创建一个浏览器驱动对象。
from autotest import CloudStorageHomePage
from autotest import CloudStorageHelpPage
from autotest import CloudStorageLoginPage
from autotest import CloudStorageUsagePage
from autotest import CloudStorageDisplayPage
from autotest import CloudStorageSharingPage
from autotest import CloudStorageSettingsPage
from autotest import CloudStorageCategoryPage
from autotest import CloudStorageNotificationPage
from common.Utils import CloudDriverif __name__=="__main__":#首页点击跳转登录界面CloudStorageHomePage.HomePage().ButtonTestImmediately()#测试登录失败CloudStorageLoginPage.Login().LoginFialed()#测试登录成功CloudStorageLoginPage.Login().LoginSuccess()#测试登录后用户使用页面CloudStorageUsagePage.Usage().UsagePage()#测试文件目录页面CloudStorageCategoryPage.Category().FileDirectory()#测试文件分类展示页面CloudStorageDisplayPage.Display().DispalyList()#测试文件分享解码器CloudStorageSharingPage.Share().GainShareCode()#测试帮助文档中心是否正常打开CloudStorageHelpPage.Help().HelpWord()#测试用户设置页面CloudStorageSettingsPage.Setting().ChanPassWord()#测试系统通知页面CloudStorageNotificationPage.Notify().Message()#最后关闭CloudDriver.driver.quit()

主要是从项目首页自动跳转到登录页面,进行登录测试用例的登录,然后进入系统里,对每个页面功能模块进行一一测试。

  1. 登录自动化测试代码展示:
#测试登录界面
import time
from selenium.webdriver.common.by import By
from common.Utils import CloudDriverclass Login:url=""driver=""def __init__(self):#该行是url的设置,此处不作显示self.driver=CloudDriver.driverself.driver.get(self.url)#测试登录成功def LoginSuccess(self):#查找输入框,为了不出现意外先清空再输入数据self.driver.find_element(By.CSS_SELECTOR,"#phone").clear()self.driver.find_element(By.CSS_SELECTOR,"#password").clear()#输入正确的账号和密码self.driver.find_element(By.CSS_SELECTOR, "#phone").send_keys("账号不作显示")self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("123456")#然后点击登录按钮self.driver.find_element(By.CSS_SELECTOR,"#form > button").click()#判断是否登录成功,可以根据登陆之后的页面元素来判断,没找到会报错,注意页面跳转后查找元素一般需要等待一下,不然还没加载出来#是找不到元素的# time.sleep(2)word=self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.sidebar > div > p").textassert word=="普通用户"# self.driver.quit()#返回# self.driver.back()def LoginFialed(self):# 查找输入框,为了不出现意外先清空再输入数据self.driver.find_element(By.CSS_SELECTOR, "#phone").clear()self.driver.find_element(By.CSS_SELECTOR, "#password").clear()# (1)输入正确的账号和错误密码(此处只测该用例)self.driver.find_element(By.CSS_SELECTOR, "#phone").send_keys("账号不作显示")self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("12345")#然后点击登录按钮self.driver.find_element(By.CSS_SELECTOR,"#form > button").click()time.sleep(2)word = self.driver.find_element(By.CSS_SELECTOR, "#swal2-title").textassert word == "操作失败"self.driver.find_element(By.CSS_SELECTOR, "body > div.swal2-container.swal2-center.swal2-backdrop-show > div > div.swal2-actions > button.swal2-confirm.swal2-styled").click()# time.sleep(1)# self.driver.quit()#fordebug
# login=Login()
# login.LoginSuccess()
# login.LoginFialed()
  1. 用户设置自动化代码模块
#测试修改密码板块
import timefrom selenium.webdriver.common.by import By
from common.Utils import CloudDriverclass Setting:url=""driver=""def __init__(self):#此行url不作显示self.driver=CloudDriver.driverself.driver.get(self.url)def ChanPassWord(self):self.driver.find_element(By.CSS_SELECTOR,"#settinglink").click()# 切换iframe = self.driver.find_element(By.TAG_NAME, "iframe")self.driver.switch_to.frame(iframe)self.driver.find_element(By.CSS_SELECTOR,"body > div > div.left-section > ul > li:nth-child(2)").click()#输入信息#习惯性先清空self.driver.find_element(By.CSS_SELECTOR,"#old-password").clear()self.driver.find_element(By.CSS_SELECTOR,"#new-password").clear()self.driver.find_element(By.CSS_SELECTOR,"#confirm-password").clear()self.driver.find_element(By.CSS_SELECTOR,"#old-password").send_keys("123456")#新密码以及确认self.driver.find_element(By.CSS_SELECTOR,"#new-password").send_keys("654321")self.driver.find_element(By.CSS_SELECTOR,"#confirm-password").send_keys("654321")self.driver.find_element(By.CSS_SELECTOR,"#passwordForm > div:nth-child(4) > button").click()time.sleep(2)word=self.driver.find_element(By.CSS_SELECTOR,"#swal2-html-container").textprint(word)assert word=="修改密码成功"self.driver.find_element(By.CSS_SELECTOR,"body > div.swal2-container.swal2-center.swal2-backdrop-show > div > div.swal2-actions > button.swal2-confirm.swal2-styled").click()#然后退出登录是否成功#注意要切换self.driver.switch_to.default_content()self.driver.find_element(By.CSS_SELECTOR,"#exit").click()word_exit=self.driver.find_element(By.CSS_SELECTOR,"#swal2-title").textprint(word_exit)assert word_exit=="确认退出?"self.driver.find_element(By.CSS_SELECTOR,"body > div.swal2-container.swal2-center.swal2-backdrop-show > div > div.swal2-actions > button.swal2-confirm.swal2-styled").click()#判断是否退出成功time.sleep(2)assert self.driver.find_element(By.CSS_SELECTOR,"#form > h1").text=="欢迎回来"#重新输入新密码# 查找输入框,为了不出现意外先清空再输入数据self.driver.find_element(By.CSS_SELECTOR, "#phone").clear()self.driver.find_element(By.CSS_SELECTOR, "#password").clear()# 输入正确的账号和密码self.driver.find_element(By.CSS_SELECTOR, "#phone").send_keys("账号不作显示")self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("654321")# 然后点击登录按钮self.driver.find_element(By.CSS_SELECTOR, "#form > button").click()# 判断是否登录成功,可以根据登陆之后的页面元素来判断,没找到会报错,注意页面跳转后查找元素一般需要等待一下,不然还没加载出来是找不到元素的# time.sleep(2)word = self.driver.find_element(By.CSS_SELECTOR, "body > div.container > div.sidebar > div > p").textassert word == "普通用户"print("修改后成功登录")

7、BUG发现

  1. BUG 标题
    PC 端显示正常,移动端浏览器中页面内容显示不全且影响功能使用。
  1. 所属模块
    属于页面整体布局模块。
  1. 前置条件
    用户已正常连接网络。
    PC 端使用主流浏览器(如 Chrome、Firefox、Edge 等)访问目标页面,显示正常。
    移动端使用主流浏览器(如 Chrome、Safari 等)访问同一目标页面。
  1. 操作步骤
    打开 PC 端浏览器,输入目标页面网址,成功访问并确认页面显示正常。
    打开移动端浏览器,输入相同的页面网址进行访问。
  1. 实际结果
    在移动端浏览器中,仅显示功能选项列表项,其余功能操作(如文件详情描述、文件目录展示以上传和创建、用户设置等可操作功能都无法展示),严重影响功能使用。
  1. 预期结果
    移动端浏览器中页面应与 PC 端一样,完整显示所有内容,用户能够正常查看信息和进行各项功能操作。
  1. 严重程度
    严重(因为影响功能使用,可能导致用户无法完成关键操作,对用户体验和业务目标达成有较大影响)
  1. 优先级
    高(需要尽快修复,以保障移动端用户的正常使用)
  1. 复现频率
    每次必现(在测试的移动端设备和浏览器环境下均能稳定复现)
  1. 相关截图
    PC 端正常显示截图:
    在这里插入图片描述

移动端显示不全截图:除了功能列表选项正常显示,点击对应功能选项都无法展示对应的功能模块。
在这里插入图片描述

8、测试结论

本次兼容性测试未完全达到预期目标,系统在不同操作系统和浏览器下存在一些兼容性问题。

相关文章:

  • 计算机视觉与深度学习 | 基于Matlab的低照度图像增强算法原理,公式及实现
  • matlab红外与可见光图像配准算法
  • 学车笔记 变挡
  • 建站SEO优化之站点地图sitemap
  • Java多线程通信核心机制详解
  • UE5 学习系列(八)材质基础认知
  • 图数据库的理解
  • 【编译工具】(自动化)自动化测试工具:如何让我的开发效率提升300%并保证代码质量?
  • Ubuntu 22.04: 使用chroot切换到Ubuntu18.04运行环境进行开发编译
  • Roboguide工作站机器人重新安装软件包
  • Altair:让你爱上数据可视化的声明式魔法!
  • Hello Robot发布Stretch3机器人高保真模拟平台-Stretch MuJoCo v0.5-涵盖数百种Robocasa厨房应用测试场景
  • java转PHP开发需要几步?
  • 台湾TEMI协会竞赛——1、龙舟机器人组装教学
  • 七牛云域名配置与CNAME解析
  • 数据链抗干扰
  • 增强跳板机安全性的解决方案
  • 在 Windows 上安装和配置 Redis 及可视化工具指南
  • Android NDK: Could not find application project directory
  • DSPy Prompt自动生成最佳实践
  • 海南哪家公司做网站做的好/搜索推广代运营
  • 网站建设开发有什么好处/域名注册后怎么使用
  • 辽宁省建设工程信息网官网新网站入口官方/搜索引擎
  • 河南省住房城乡建设厅官方网站/品牌线上推广方案
  • 那个网站是专门做渔具的/seo和点击付费的区别
  • 做中医考研真题的网站/柳州网站建设