前言:老师直播课的分享文件打不开,所以就自己写一个,大家有问题可以互相讨论一起进步。如果有朋友打开了,求一个分享~
一、题目链接
第十五届蓝桥杯(软件测试)模拟赛 1 期题目_蓝桥杯 - 蓝桥云课
二、前期准备
部署环境和下载工具。这里省略了,具体看云课上的文档就好,写的很详细。
三、功能测试
题目1: 场景法 对首页的【登录】功能进行测试用例的设计
【题目答案】仅供参考
题目2:等价类划分法 和 边界值分析法 对【添加用户】页面中【登录账号】输入框进行测试用例的设计
操作步骤可以只写必填项,我这里都写了,写的时候浪费时间。
用例编号 | 一级功能 | 二级功能 | 前置条件 | 用例标题 | 操作步骤 | 测试数据 | 预期结果 | 用例优先级 |
TJYH-DLZHSRK-001 | 添加用户 | 登录账号输入框 | 1、登录成功 2.点击【系统管理】-->【用户管理】-->【新增】 | 添加用户成功(所有项填写正确) | 1、输入用户名称 2、输入手机号码 3、输入登录账号 4、选择用户性别 5、选择岗位 6、选择角色 7、选择归属部门 8、填写邮箱 9、输入登录密码 10、开启或关闭用户状态 11、填写备注 12、点击保存 | 1、用户名称:lanqiao 2、手机号码:16980898766 3、登录账号:test 4、用户性别:男 5、岗位:普通员工 6、角色:普通角色 7、归属部门:测试部门 8、邮箱:test@qq.com 9、登录密码:123456 10、用户状态:开启 11、备注:测试登录账号输入框数据 12、点击保存 | 用户添加成功,提示:操作成功,并自动跳转到用户管理界面。 | 高 |
TJYH-DLZHSRK-002 | 添加用户 | 登录账号输入框 | 1、登录成功 2.点击【系统管理】-->【用户管理】-->【新增】 | 添加用户失败(登录账号为空) | 1、输入用户名称 2、输入手机号码 3、输入登录账号 4、选择用户性别 5、选择岗位 6、选择角色 7、选择归属部门 8、填写邮箱 9、输入登录密码 10、开启或关闭用户状态 11、填写备注 12、点击保存 | 1、用户名称:lanqiao1 2、手机号码:16980898766 3、登录账号:为空 4、用户性别:男 5、岗位:普通员工 6、角色:普通角色 7、归属部门:测试部门 8、邮箱:test@qq.com 9、登录密码:123456 10、用户状态:开启 11、备注:测试登录账号输入框数据 12、点击保存 | 用户添加失败,提示:登录账号为必填项 | 中 |
TJYH-DLZHSRK-003 | 添加用户 | 登录账号输入框 | 1、登录成功 2.点击【系统管理】-->【用户管理】-->【新增】 | 添加用户失败(登录账号小于3位) | 1、输入用户名称 2、输入手机号码 3、输入登录账号 4、选择用户性别 5、选择岗位 6、选择角色 7、选择归属部门 8、填写邮箱 9、输入登录密码 10、开启或关闭用户状态 11、填写备注 13、点击保存 | 1、用户名称:lanqiao1 2、手机号码:16980898766 3、登录账号:12 4、用户性别:男 5、岗位:普通员工 6、角色:普通角色 7、归属部门:测试部门 8、邮箱:test@qq.com 9、登录密码:123456 10、用户状态:开启 11、备注:测试登录账号输入框数据 12、点击保存 | 用户添加失败,提示:登录账号应在3~12个之间。 | 中 |
TJYH-DLZHSRK-004 | 添加用户 | 登录账号输入框 | 1、登录成功 2.点击【系统管理】-->【用户管理】-->【新增】 | 添加用户失败(登录账号大于12位) | 1、输入用户名称 2、输入手机号码 3、输入登录账号 4、选择用户性别 5、选择岗位 6、选择角色 7、选择归属部门 8、填写邮箱 9、输入登录密码 10、开启或关闭用户状态 11、填写备注 14、点击保存 | 1、用户名称:lanqiao1 2、手机号码:16980898766 3、登录账号:1234567890qwe 4、用户性别:男 5、岗位:普通员工 6、角色:普通角色 7、归属部门:测试部门 8、邮箱:test@qq.com 9、登录密码:123456 10、用户状态:开启 11、备注:测试登录账号输入框数据 12、点击保存 | 用户添加失败,提示:登录账号应在3~12个之间。 | 中 |
TJYH-DLZHSRK-005 | 添加用户 | 登录账号输入框 | 1、登录成功 2.点击【系统管理】-->【用户管理】-->【新增】 | 添加用户成功(登录账号为3位) | 1、输入用户名称 2、输入手机号码 3、输入登录账号 4、选择用户性别 5、选择岗位 6、选择角色 7、选择归属部门 8、填写邮箱 9、输入登录密码 10、开启或关闭用户状态 11、填写备注 15、点击保存 | 1、用户名称:lanqiao1 2、手机号码:16980898766 3、登录账号:123 4、用户性别:男 5、岗位:普通员工 6、角色:普通角色 7、归属部门:测试部门 8、邮箱:test@qq.com 9、登录密码:123456 10、用户状态:开启 11、备注:测试登录账号输入框数据 12、点击保存 | 用户添加成功,提示:操作成功,并自动跳转到用户管理界面。 | 中 |
TJYH-DLZHSRK-006 | 添加用户 | 登录账号输入框 | 1、登录成功 2.点击【系统管理】-->【用户管理】-->【新增】 | 添加用户成功(登录账号为12位) | 1、输入用户名称 2、输入手机号码 3、输入登录账号 4、选择用户性别 5、选择岗位 6、选择角色 7、选择归属部门 8、填写邮箱 9、输入登录密码 10、开启或关闭用户状态 11、填写备注 16、点击保存 | 1、用户名称:lanqiao1 2、手机号码:16980898766 3、登录账号:1234567890qw 4、用户性别:男 5、岗位:普通员工 6、角色:普通角色 7、归属部门:测试部门 8、邮箱:test@qq.com 9、登录密码:123456 10、用户状态:开启 11、备注:测试登录账号输入框数据 12、点击保存 | 用户添加成功,提示:操作成功,并自动跳转到用户管理界面。 | 中 |
TJYH-DLZHSRK-007 | 添加用户 | 登录账号输入框 | 1、登录成功 2.点击【系统管理】-->【用户管理】-->【新增】 | 添加用户失败(登录账号中有特殊字符) | 1、输入用户名称 2、输入手机号码 3、输入登录账号 4、选择用户性别 5、选择岗位 6、选择角色 7、选择归属部门 8、填写邮箱 9、输入登录密码 10、开启或关闭用户状态 11、填写备注 17、点击保存 | 1、用户名称:lanqiao1 2、手机号码:16980898766 3、登录账号:test_123 4、用户性别:男 5、岗位:普通员工 6、角色:普通角色 7、归属部门:测试部门 8、邮箱:test@qq.com 9、登录密码:123456 10、用户状态:开启 11、备注:测试登录账号输入框数据 12、点击保存 | 用户添加失败,提示:登录账号只能包含英文或数字,英文不区分大小写。 | 中 |
TJYH-DLZHSRK-008 | 添加用户 | 登录账号输入框 | 1、登录成功 2.点击【系统管理】-->【用户管理】-->【新增】 3.已存在登录账号admin | 添加用户失败(登录账号重复) | 1、输入用户名称 2、输入手机号码 3、输入登录账号 4、选择用户性别 5、选择岗位 6、选择角色 7、选择归属部门 8、填写邮箱 9、输入登录密码 10、开启或关闭用户状态 11、填写备注 18、点击保存 | 1、用户名称:lanqiao1 2、手机号码:16980898766 3、登录账号:admin 4、用户性别:男 5、岗位:普通员工 6、角色:普通角色 7、归属部门:测试部门 8、邮箱:test@qq.com 9、登录密码:123456 10、用户状态:开启 11、备注:测试登录账号输入框数据 12、点击保存 | 用户添加失败,提示:登录账号已存在 | 中 |
TJYH-DLZHSRK-009 | 添加用户 | 登录账号输入框 | 1、登录成功 2.点击【系统管理】-->【用户管理】-->【新增】 3、已存在登录账号admin | 添加用户失败(登录账号重复英文大写) | 1、输入用户名称 2、输入手机号码 3、输入登录账号 4、选择用户性别 5、选择岗位 6、选择角色 7、选择归属部门 8、填写邮箱 9、输入登录密码 10、开启或关闭用户状态 11、填写备注 19、点击保存 | 1、用户名称:lanqiao1 2、手机号码:16980898766 3、登录账号:ADMIN 4、用户性别:男 5、岗位:普通员工 6、角色:普通角色 7、归属部门:测试部门 8、邮箱:test@qq.com 9、登录密码:123456 10、用户状态:开启 11、备注:测试登录账号输入框数据 12、点击保存 | 用户添加失败,提示:登录账号已存在,登录账号为3-12位英文和数字,英文不区分大小写 | 中 |
题目3:缺陷报告
缺陷编号 | 功能名称 | 缺陷描述 | 操作步骤 | 预期结果 | 实际结果 | 缺陷级别 |
LOGIN-BUG-001 | 登录功能 | 登录时,验证码为空或错误验证码,登录成功 | 1、进入登录界面 2、填写正确的用户名和密码:admin/admin123 3、验证码为空 4、点击登录 | 登录失败,提示:请填写正确的验证码 | 登录成功 | 1级 |
LOGIN-BUG-002 | 登录功能 | 密码输入框没有对齐 | 1、进入登录界面 | 所有输入框对齐,页面整齐统一 | 密码输入框偏左 | 2级 |
LOGIN-BUG-003 | 登录功能 | 用户名输入错误,提示信息不准确 | 1、进入登录界面 2、填写错误的用户名admin1,密码:admin123 3、验证码输入正确 4、点击登录 | 登录失败,提示:用户名未注册,请输入正确的用户名或立即注册 | 登录失败,提示:注册失败 | 2级 |
LOGIN-BUG-004 | 登录功能 | 第1次密码输入错误,提示信息不准确 | 1、进入登录界面 2、填写已注册的用户名:admin 错误的密码:admin123 3、验证码输入正确 4、点击登录 | 登录失败,提示:密码输入错误1次,请重新输入密码,若输入错误5次,将锁屏10分钟 | 密码输入错误,提示:注册失败 | 2级 |
LOGIN-BUG-005 | 登录功能 | 第一次进入系统,账户和密码已填写 | 1、进入登录界面 2、用户名和密码已填写 3、点击登录,进入超管账号 | 用户名和密码为空,等待用户填写 | 用户名和密码已填写 | 1级 |
LOGIN-BUG-006 | 登录功能 | 选择‘记住我’,下一次登录时‘记住我’选框变更为‘自动登录’ | 1、进入登录界面 2、填写正确的用户名和密码:admin/admin123 3、输入正确验证码,勾选‘记住我’ 4、点击登录 5、退出登录,查看登录页面 | 退出登录界面后,页面还存在‘记住我’选框 | ‘记住我’选框变为了‘自动登录’ | 1级 |
USERGL-BUG-001 | 用户管理 | 用户管理列表,操作栏中“编辑、删除、更多操作”布局未排列在一行 | 账号/密码:admin/admin123 1、进入系统首页 2、点击系统管理>用户管理 | 用户管理列表,操作栏中“编辑、删除、更多操作”布局排列在一行 | 用户管理列表,操作栏中“编辑、删除、更多操作”布局不在一行,排列错乱 | 2级 |
USERGL-BUG-002 | 用户管理 | 点击导入,未跳转出数据上传页面,按钮无效 | 账号/密码:admin/admin123 1、进入系统首页 2、点击系统管理>用户管理 3.点击导入 | 跳转出数据上传页面,上传导入模板,添加用户数据 | 未跳转出数据上传页面,接口返回无响应,按钮无效 | 1级 |
ADDUSER-BUG-001 | 添加用户 | 手机号不是必填项,手机号为空添加用户成功 | 账号/密码:admin/admin123 1、进入系统首页 2、点击系统管理>用户管理>添加用户 3.输入用户名、登录账号、登录密码,手机号为空,其余默认或不填 | 添加用户失败,提示手机号为必填项 | 添加用户成功,手机号为空 | 1级 |
ADDUSER-BUG-002 | 添加用户 | 登录账号小于3位,页面没有判断,添加用户成功 | 账号/密码:admin/admin123 1、进入系统首页 2、点击系统管理>用户管理>添加用户 3.输入用户名(lanqiao)、登录账号(12)、登录密码(123456),手机号(16235678900),其余默认或不填 | 添加用户失败,提示登录账号要在3-12位英文和数字字符。 | 添加用户成功 | 1级 |
ADDUSER-BUG-003 | 添加用户 | 登录账号大于12位,页面没有判断,添加用户成功 | 账号/密码:admin/admin123 1、进入系统首页 2、点击系统管理>用户管理>添加用户 3.输入用户名(lanqiao)、登录账号(1234567890qwe)、登录密码(123456),手机号(16235678900),其余默认或不填 | 添加用户失败,提示登录账号要在3-12位英文和数字字符。 | 添加用户成功 | 1级 |
ADDUSER-BUG-004 | 添加用户 | 登录账号中有特殊字符,页面没有判断,添加用户成功 | 账号/密码:admin/admin123 1、进入系统首页 2、点击系统管理>用户管理>添加用户 3.输入用户名(lanqiao)、登录账号(test_123)、登录密码(123456),手机号(16235678900),其余默认或不填 | 添加用户失败,提示登录账号要在3-12位英文和数字字符。 | 添加用户成功 | 1级 |
ADDUSER-BUG-005 | 添加用户 | 登录账号admin已存在,登录账号填写ADMIN,页面区分大小写,添加用户成功 | 账号/密码:admin/admin123 1、进入系统首页 2、点击系统管理>用户管理>添加用户 3.输入用户名(lanqiao)、登录账号(ADMIN)、登录密码(123456),手机号(16235678900),其余默认或不填 | 添加用户失败,提示,该用户已存在 | 添加用户成功 | 1级 |
ADDUSER-BUG-006 | 添加用户 | 进入页面,密码输入框中有数据 | 账号/密码:admin/admin123 1、进入系统首页 2、点击系统管理>用户管理>添加用户 | 密码输入框中为空 | 密码输入框已填写数据 | 2级 |
ADDUSER-BUG-007 | 添加用户 | 选择角色用户后,点击保存,为分配角色成功 | 账号/密码:admin/admin123 1、进入系统首页 2、点击系统管理>用户管理>添加用户 3.输入用户名(lanqiao)、登录账号(test)、登录密码(123456),手机号(16235678900),角色选中经理角色,其余默认或不填 | 分配角色成功 | 未分配角色,需要再次编辑选择才可以分配成功 | 2级 |
找机会写完。。。。
四、自动化测试
好难写啊,看晕了,qwq,好想直接看参考答案
1.login_page
from selenium.webdriver.common.by import By
from time import sleep
"""
* Page1-【登录】页面
*
* 实现该页面中如下 3 个元素的操作代码(以下元素位置可参照题目附图)。
*
* 1. 输入【登录名称】
* 2. 输入【登录密码】
* 3. 点击【登录】按钮
* 注意1:不要在 Page 类中填写 页面及 iframe 切换的代码
* 注意2:不要改动已经写好的方法名。
"""
class LoginPage:
def __init__(self, driver):
self.driver = driver
def input_login_name(self, loginName):
# TODO 实现 【登录名称】输入的方法
# 清空用户名输入框内容,防止脏数据
self.driver.find_element(By.XPATH, '//*[@id="signupForm"]/input[1]').clear()
# 输入传入的loginName参数
self.driver.find_element(By.XPATH, '//*[@id="signupForm"]/input[1]').send_keys(loginName)
def input_login_password(self, password):
# TODO 实现【密码】输入的 方法
# 清空密码输入框内容,防止脏数据
self.driver.find_element(By.XPATH, '//*[@id="signupForm"]/input[2]').clear()
# 输入传入的password参数
self.driver.find_element(By.XPATH, '//*[@id="signupForm"]/input[2]').send_keys(password)
def click_login_button(self):
# 实现 【登录】按钮的点击方法
# 点击登录按钮
self.driver.find_element(By.XPATH, '//*[@id="btnSubmit"]').click()
# 等待2秒,模拟操作延迟
sleep(2)
2.user_manage_page
from selenium.webdriver.common.by import By
from time import sleep
"""
* page2-【用户管理 】页面
*
* 需实现该页面中如下 10 个元素的操作代码,以下元素位置可参照题目附图:
*
* 1. 点击【系统管理】菜单
* 2. 点击【用户管理】菜单
* 3. 点击【新增+】按钮
* 4. 输入【登录名称】搜索框
* 5. 点击【搜索】按钮
* 6. 点击【重置】按钮
* 7. 点击【删除】按钮
* 8. 获取【分页显示信息】文本
* 9. 获取【登录成功后的用户名】文本
* 10. 用户【用户退出】的操作方法
* 注意1:不要在 Page 类中填写 页面及 iframe 切换的代码
* 注意2:不要改动已经写好的方法名。
"""
class UserManagePage:
def __init__(self, driver):
self.driver = driver
def click_system_menu(self):
# TODO 请实现点击【系统管理】菜单的操作方法
self.driver.find_element(By.XPATH, "//*[@id='side-menu']/li[3]/a/span[1]").click()
def click_user_menu(self):
# TODO 请实现点击【用户管理】菜单的操作方法
self.driver.find_element(By.XPATH, "//*[@id='side-menu']/li[3]/ul/li[1]/a").click()
def click_add_user_button(self):
# TODO 请实现点击【新增+】按钮的操作方法
self.driver.find_element(By.XPATH, "//*[@id='toolbar']/a[1]").click()
sleep(1)
def input_login_name(self, loginName):
# TODO 请实现搜索框输入【登录名称】的操作方法
# 清空密码输入框内容,防止脏数据
self.driver.find_element(By.XPATH, '//*[@id="user-form"]/div/ul/li[1]/input').clear()
# 输入新增时的登录用户名
self.driver.find_element(By.XPATH, '//*[@id="user-form"]/div/ul/li[1]/input').send_keys(loginName)
def click_search_button(self):
# TODO 请实现点击【搜索】按钮的操作方法
self.driver.find_element(By.XPATH, '//*[@id="user-form"]/div/ul/li[5]/a[1]').click()
sleep(1)
def click_reset_button(self):
# TODO 请实现【重置】按钮的操作方法
self.driver.find_element(By.XPATH, '//*[@id="user-form"]/div/ul/li[5]/a[2]').click()
sleep(1)
def delete_user(self):
# TODO 请实现【删除】用户的操作方法
self.driver.find_element(By.XPATH, '//*[@id="bootstrap-table"]/tbody/tr/td[9]/a[2]').click()
sleep(1)
def get_username_text(self):
# TODO: 实现获取【登录成功后的用户名文本】的操作方法
getUserNameTextElement = self.driver.find_element(By.XPATH, '//*[@id="page-wrapper"]/div[1]/nav/ul/li[3]/a/span')
getUsernameText = getUserNameTextElement.text
return getUsernameText
def get_page_number_text(self):
# TODO: 实现获取【分页显示信息】的操作方法
getPageNumberTextElement = self.driver.find_element(By.XPATH, '/html/body/div[2]/div/div/div[2]/div[1]/div[3]/div[1]/span')
getPageNumberText = getPageNumberTextElement.text
return getPageNumberText
def click_login_out(self):
# TODO 请实现 【用户退出】的操作方法
# 点击蓝桥超管
self.driver.find_element(By.XPATH, "//*[@id=\"page-wrapper\"]/div[1]/nav/ul/li[3]/a/span").click()
sleep(1)
# 点击退出登录按钮
self.driver.find_element(By.XPATH, "//*[@id=\"page-wrapper\"]/div[1]/nav/ul/li[3]/ul/li[6]/a").click()
3.add_user_page
from selenium.webdriver.common.by import By
from time import sleep
"""
* Page3-【新增用户】页面
* 需实现该页面中如下 5 个元素的操作代码,以下元素位置可参照题目附图:
*
* 1. 表单框输入【用户名】
* 2. 表单框输入【登录账号】
* 3. 表单框输入【密码】
* 4. 单选框选择【普通用户】
* 5. 点击【保存】按钮
* 注意1:不要在 Page 类中填写 页面及 iframe 切换的代码
* 注意2:不要改动已经写好的方法名。
"""
class AddUserPage:
def __init__(self, driver):
self.driver = driver
def input_user_name(self, userName):
# TODO 实现 表单【用户名】点击和输入 的方法
self.driver.find_element(By.XPATH, '//*[@id="userName"]').clear()
self.driver.find_element(By.XPATH, '//*[@id="userName"]').send_keys(userName)
def input_login_name(self, loginName):
# TODO 实现 表单【登录账号】点击和输入 的方法
self.driver.find_element(By.XPATH, '//*[@id="loginName"]').clear()
self.driver.find_element(By.XPATH, '//*[@id="loginName"]').send_keys(loginName)
def input_login_password(self, loginPassword):
# TODO 实现 表单【密码】点击和输入 的方法
self.driver.find_element(By.XPATH, '//*[@id="password"]').clear()
self.driver.find_element(By.XPATH, '//*[@id="password"]').send_keys(loginPassword)
def click_role(self):
# TODO 实现 表单【普通用户】单选 的方法
self.driver.find_element(By.XPATH, '//*[@id="form-user-add"]/div[6]/div/div/div/label[2]').click()
def click_save_button(self):
# TODO 实现 表单【保存】按钮点击的方法
self.driver.find_element(By.XPATH, '/html/body/div[2]/div/button[1]').click()
sleep(2)
4.test_web_case (这里注意,填写浏览器地址的时候,要改成自己的页面地址哦,不然会404)
import unittest
from selenium import webdriver
from selenium.webdriver.firefox.service import Service
from time import sleep
from cn.lanqiao.web.login_page import LoginPage
from cn.lanqiao.web.add_user_page import AddUserPage
from cn.lanqiao.web.user_manage_page import UserManagePage
"""
* 请按照操作步骤编写测试用例
*
* 用例要求:
* 1.合理使用元素等待时间
* 2.请调用 Page 类中的方法实现操作步骤
* 3.页面及 iframe 切换的代码填写在此文件中
* 4.不要改动已经写好的方法名。
"""
class TestWebCase(unittest.TestCase):
def setUp(self):
# 不要改动此处 driver 位置
gecko_path = "C:\\LanQiaoTest\\project\\PythonLanqiaoTest\\driver\\geckodriver.exe"
options = webdriver.FirefoxOptions()
options.set_preference('security.fileuri.strict_origin_policy', False)
options.set_preference('security.fileuri.origin_policy', '*')
self.driver = webdriver.Firefox(service=Service(gecko_path),options=options)
self.driver.implicitly_wait(10)
self.driver.maximize_window()
# TODO 打开被测系统的网址
self.driver.get("https://65e703d5353ddde0c4a005ab.hz-iframe-svc.simplelab.cn/login")
# 浏览器退出
def tearDown(self):
if self.driver:
self.driver.quit()
# 测试用例
def test_case(self,):
# TODO 请参照题目中【用例步骤】补全此处代码
# TODO 实例化登录 page ,完成测试步骤
login_page = LoginPage(self.driver)
user_manage_page = UserManagePage(self.driver)
# 步骤1-点击登录账号输入框并输入账户-admin
login_page.input_login_name("admin")
# 步骤2-点击登录密码输入框并输入密码-admin123
login_page.input_login_password("admin123")
# 步骤3-点击登录按钮
login_page.click_login_button()
# 断言1-断言用户名是否为【蓝桥超管】,如果断言失败则扣 4 分
self.assertEqual("蓝桥超管",user_manage_page.get_username_text())
# 菜单路径操作用例:点击系统管理->点击用户管理
# 步骤4-点击系统管理菜单
user_manage_page.click_system_menu()
# 步骤5-点击用户管理菜单
user_manage_page.click_user_menu()
sleep(1)
# 实现窗口切换用例
# Frame切换、多窗口切换至新增用户表单
self.driver.switch_to.frame(1)
# 实现新增用户用例
# 创建AddUserPage对象
add_user_page = AddUserPage(self.driver)
# 步骤6-点击新增+按钮
user_manage_page.click_add_user_button()
# 实现窗口切换用例
self.driver.switch_to.default_content()
self.driver.switch_to.frame(2)
# 步骤7-点击用户名输入框并输入-userName
add_user_page.input_user_name("userName")
# 步骤8-点击登录用户输入框并输入-loginName
add_user_page.input_login_name("loginName")
# 步骤9-点击登录密码输入框并输入-loginPassword
add_user_page.input_login_password("loginPassword")
# 步骤10-点击单选框-角色:选择【普通角色】
add_user_page.click_role()
# 步骤11-点击保存按钮
add_user_page.click_save_button()
# 多窗口切换
self.driver.switch_to.default_content()
self.driver.switch_to.frame(1)
sleep(1)
# 断言2-断言新增后分页展示:期望=显示第 1 到第 3 条记录,总共 3 条记录,实际值=text
self.assertEqual("显示第 1 到第 3 条记录,总共 3 条记录",user_manage_page.get_page_number_text())
# 搜索用户用例
# 步骤12-输入已新增登录用户
user_manage_page.input_login_name("loginName")
# 步骤13-点击搜索按钮
user_manage_page.click_search_button()
sleep(1)
# 断言3-断言搜素后分页展示:期望=显示第 1 到第 1 条记录,总共 1 条记录,实际值=text
self.assertEqual("显示第 1 到第 1 条记录,总共 1 条记录", user_manage_page.get_page_number_text())
# 步骤14-删除搜索用户
user_manage_page.delete_user()
sleep(1)
# 步骤15-点击重置按钮
user_manage_page.click_reset_button()
# 断言4-断言删除后分页展示:期望=显示第 1 到第 2 条记录,总共 2 条记录,实际值=text
self.assertEqual("显示第 1 到第 2 条记录,总共 2 条记录", user_manage_page.get_page_number_text())
sleep(2)
# TODO 请实现 【用户退出】的操作方法
# 步骤16-窗口切回主页面
self.driver.switch_to.default_content()
user_manage_page.click_login_out()
sleep(2)
if __name__ == "__main__":
unittest.main()
五、单元测试
分支覆盖法
第一步:画出流程图
第二步:把所有路径都列出来
路径 | 输入数据 | 预期结果 |
1真 | age=19,score=59 | 无复赛资格 |
1假,2真,3假 | age=12,score=71 | 少儿B组 |
1假,2真,3真 | age=12,score=82 | 少儿A组 |
1假,2假,4假 | age=18,score=73 | 青少年B组 |
1假,2假,4真 | age=18,score=84 | 青少年A组 |
第三步:写代码--Python
今天看官网,发现老师把资料都上传到页面上了,耶耶耶,感谢老师!