-
测试工具
- 测试语言:python
- 测试框架:selenium、pytest
-
运行方式
直接运行run.py
-
广发招聘页面功能/需求介绍
-
页面菜单链接(点击菜单栏实现页面切换/跳转),具体包括:
菜单栏项 执行前提 点击后效果 是否产生新窗口 首页 无 首页面,点击后仍然是首页面 否 认识广发 无 跳转到[认识广发]介绍页 否 认识广发/公司概况 鼠标必须悬停在[认识广发]项上才会显示、可点击 跳转到[公司概况]介绍页 是 认识广发/企业文化 鼠标必须悬停在[认识广发]项上才会显示、可点击 跳转到[企业文化]介绍页 否 认识广发/部门介绍 鼠标必须悬停在[认识广发]项上才会显示、可点击 跳转到[部门介绍]介绍页 否 人在广发 无 跳转到[人在广发]介绍页 否 人在广发/员工心声 鼠标必须悬停在[员工心声]项上才会显示、可点击 跳转到[员工心声]介绍页 否 人在广发/职业发展 鼠标必须悬停在[职业发展]项上才会显示、可点击 跳转到[职业发展]介绍页 否 人在广发/人才培养 鼠标必须悬停在[人才培养]项上才会显示、可点击 跳转到[人才培养]介绍页 否 人在广发/福利关怀 鼠标必须悬停在[福利关怀]项上才会显示、可点击 跳转到[福利关怀]介绍页 否 人在广发/广发快照 鼠标必须悬停在[广发快照]项上才会显示、可点击 跳转到[广发快照]介绍页 否 社会招聘 无 跳转到[社会招聘]介绍页 否 2022暑期实习 无 跳转到[2022暑期实习]介绍页 否 实习生招聘 无 跳转到[实习生招聘]介绍页 否 个人中心 无 跳转到[个人中心]介绍页 否 登录 无 跳转到[注册]介绍页 否 注册 无 跳转到[登录]介绍页 否 -
登录页功能
前提条件 执行效果 成功登录 输入正确的用户名、密码、验证码、选中 [我已阅读并同意]框 切换到登录页面,右上角有退出选项 失败登录 没有输入/输入错误 邮箱地址或登录密码或验证码 为用户提示相关的信息(具体信息看测试用例) 其他链接 无 点击[注册用户]、[忘记密码]、[换一种]、[协议]会自动跳转到对应的页面 -
注册页功能
前提条件 执行效果 注册成功 输入正确的信息 切换到个人中心页面 注册失败 输入错误的信息 提示相关的错误信息条目(详细请见测试用例) 其他链接 无 点击[换一种]、[广发互联网协议]会跳转到不同的界面
-
-
运行方式:
- 运行所有测试: run.py。
- 只允许某个page测试:只需要修改pytest.ini配置文件,然后运行 run.py。
- 如果想测试完成后自动发送邮件,请设置: config/config.ini中的isSendEmail=Triue。
-
需求分析
测试广发招聘页面,包括的[首页]、[认识广发]、[人在广发]、[社会招聘]、[2022暑期实习]、[实习生招聘]、[个人中心]、[登录]、[注册] 菜单栏功能。按照功能特征可分为以下几个部分:
-
测试点击跳转的功能。比如:[首页]/[社会招聘]、[2022暑期实习]、[实习生招聘]、[个人中心]、[登录]、[注册]
-
测试鼠标悬浮才会显示并可点击的功能。即:[认识广发]·[公司概况、企业文化、部门介绍],[人在广发]·[员工心声、职业发展、人才培养、福利关怀、广发快照]
-
测试登录页功能。即[登录]页面,包括正常登录、错误登录检测等,以及登录页其他选项。
-
测试注册页功能。即[注册]页面,包括正常注册、数据不合规等,以及注册页其他选项。
-
设置断言、自动生成测试报告并发送邮件。
-
-
测试用例。
根据需求分析,编写测试用例,分别如下所示。
-
点击跳转页面功能。
此项共有7个测试用例。
跳转成功的结果 首页 有首页中部有 [广发人才 ]信息 社会招聘 菜单栏下面有 [社会招聘] 信息 2022暑期实习 菜单栏下面有 [招聘公告] 这个信息 实习生招聘 菜单栏下面有 [实习生招聘] 这个信息 个人中心 菜单栏下面有 [用户登录] 这个信息 登录 菜单栏下面有 [用户登录] 这个信息 注册 菜单栏下面有 [用户注册] 这个信息 -
测试鼠标悬浮才会显示并可点击的功能。
此项共有8+12=20个测试用例。
是否鼠标悬浮 预期结果 认识广发 否 菜单栏下面有 [认识广发] 这个信息,说明页面跳转成功 认识广发 是 菜单栏下面有 [认识广发] 这个信息,说明页面跳转成功 企业文化 否 菜单栏下面有 [广发人才] 这个信息,,说明还停留在[首页],页面跳转失败 企业文化 是 菜单栏下面有 [公司简介] 这个信息,说明跳转成功 部门介绍 否 菜单栏下面有 [广发人才] 这个信息,说明还停留在[首页],选项无法选中,页面跳转失败 部门介绍 是 菜单栏下面有 [部门介绍] 这个信息,说明跳转成功 公司概况 否 菜单栏下面有 [广发人才] 这个信息,说明还停留在[首页],无法选中,页面跳转失败 公司概况 是 菜单栏下面有 [公司简介] 这个信息,说明跳转成功 附:[公司概况]有重新打开页面的功能 是 该选项需要切换窗口获取信息,然后再跳转回去 鼠标悬浮 预期结果 人在广发 否 菜单栏下面有 [人在广发] 这个信息,说明页面跳转成功 人在广发 是 菜单栏下面有 [人在广发] 这个信息,说明页面跳转成功 员工心声 否 菜单栏下面有 [广发人才] 这个信息,说明还停留在[首页],无法选中,页面跳转失败 员工心声 是 菜单栏下面有 [员工心声] 这个信息,说明页面跳转成功 职业发展 否 菜单栏下面有 [广发人才] 这个信息,说明还停留在[首页],无法选中,页面跳转失败 职业发展 是 菜单栏下面有 [职业发展] 这个信息,说明页面跳转成功 人才培养 否 菜单栏下面有 [广发人才] 这个信息,说明还停留在[首页],无法选中,页面跳转失败 人才培养 是 菜单栏下面有 [人才培养] 这个信息,说明页面跳转成功 福利关怀 否 菜单栏下面有 [广发人才] 这个信息,说明还停留在[首页],无法选中,页面跳转失败 福利关怀 是 菜单栏下面有 [福利关怀] 这个信息,说明页面跳转成功 广发快照 否 菜单栏下面有 [广发人才] 这个信息,说明还停留在[首页],无法选中,页面跳转失败 广发快照 是 菜单栏下面有 [广发快照] 这个信息,说明页面跳转成功 - 测试登录页功能。
这里共有个测试用例。
用例问题 提示信息 正确输入 无 右上角有[退出]选项,即退出登录按钮 错误用例 没有输入邮箱地址 请输入邮箱地址 错误用例 邮箱地址不正确 邮箱格式不正确 错误用例 没有输入登录密码 请输入登录密码 错误用例 输入密码只有字母(位数正常) 密码为6-12位数字与字母组合 错误用例 输入密码只有数字(位数正常) 密码为6-12位数字与字母组合 错误用例 输入密码过长(数字+字母) 密码为6-12位数字与字母组合 错误用例 输入密码过短(数字+字母) 密码为6-12位数字与字母组合 错误用例 输入密码过长(只有数字) 密码为6-12位数字与字母组合 错误用例 输入密码过短(只有数字) 密码为6-12位数字与字母组合 错误用例 输入密码过长(只有字母) 密码为6-12位数字与字母组合 错误用例 输入密码过短(只有字母) 密码为6-12位数字与字母组合 错误用例 输入密码含有其他字符(含有_字符) 密码为6-12位数字与字母组合 错误用例 没有输入验证码 请输入验证码 错误用例 验证码不正确 请检查验证码输入的正确性 错误用例 账户/密码错误(账户错误) 用户账号或者密码有误 错误用例 账户/密码错误(密码错误) 用户账号或者密码有误 - 测试注册页功能
用例问题 提示信息 正确用例 无(数字+小写字母) 右上角有[退出]选项,即退出登录按钮 正确用例 无(数字+大写字母) 右上角有[退出]选项,即退出登录按钮 正确用例 无(数字+大写字母+小写字母) 右上角有[退出]选项,即退出登录按钮 错误用例 没有输入邮箱地址 请输入邮箱地址 错误用例 邮箱格式错误 邮箱格式不正确 错误用例 邮箱已经注册 该注册账号已存在,请检查验证码输入的正确性 错误用例 没有输入密码 请输入登录密码 错误用例 没有再次输入密码 请再次输入登录密码 错误用例 两次密码不一致 两次密码不一致,两次输入密码不一致 错误用例 输入密码只有字母(位数正常) 密码为6-12位数字与字母组合,密码为6-12位数字与字母组合 错误用例 输入密码只有数字(位数正常) 密码为6-12位数字与字母组合,密码为6-12位数字与字母组合 错误用例 输入密码过长(字母+数字) 密码为6-12位数字与字母组合,密码为6-12位数字与字母组合 错误用例 输入密码过短(字母+数字) 密码为6-12位数字与字母组合,密码为6-12位数字与字母组合 错误用例 输入密码过长(只有字母) 密码为6-12位数字与字母组合,密码为6-12位数字与字母组合 错误用例 输入密码过短(只有字母) 密码为6-12位数字与字母组合,密码为6-12位数字与字母组合 错误用例 输入密码过长(只有数字) 密码为6-12位数字与字母组合,密码为6-12位数字与字母组合 错误用例 输入密码过短(只有数字) 密码为6-12位数字与字母组合,密码为6-12位数字与字母组合 错误用例 输入密码含有其他字符(含有_字符) 密码为6-12位数字与字母组合,密码为6-12位数字与字母组合 错误用例 没有输入密码问题 请输入密码问题 错误用例 没有输入问题答案 请输入问题答案 错误用例 没有输入验证码 输入项不能为空 错误用例 输入错误验证码 请检查验证码输入的正确性 错误用例 没有输入密码和密码问题 请输入登录密码,请输入密码问题 错误用例 没有输入密码和问题答案 请输入登录密码,请输入问题答案 错误用例 没有输入邮箱和问题答案 请输入邮箱地址,请输入问题答案 错误用例 没有输入邮箱、密码和密码问题 请输入邮箱地址,请输入登录密码,请输入密码问题 -
-
PO设计模式
PO 模型通过对界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化,只需要调整页面元素封装的代码,提高测试用例额可维护性、可读性。PO将页面分为三层,对象库层、操作层、业务层。本项目也依据这个思想执行,具体为:
父目录 文件 作用 对象库层 page/ BasePage.py 对selenium中的元素操作进行封装 操作层 page/PageObject HomePage.py 初始页面的操作函数,包括悬浮效果、链接页面检测 page/PageObject LoginPage.py 登录页输入框的功能、登录页的所有链接 page/PageObject RegisterPage.py 注册页输入框的功能、注册页的所有链接 业务层 testcase test_homePage.py 测试初始页面各项链接是否正常 testcase test_loginPage.py 测试登录页各项信息是否正常 testcase test_registerPage.py 测试注册页各项信息是否正常 这里进一步将业务层中的数据分离出来写成Excel表格的形式,如有新的测试用例,只需要在Excel表格中插入即可。
-
邮件发送功能
主要通过utils包下的sendEmail.py实现,具体参数在config/config.ini 和 conf.py 中设置。conf.py 是对于路径的数字,config.ini是对邮件参数的配置,具体参数如下:
位置 作用 REPORT_DIR config/conf.py 设置报告的生成目录 EMAIL_DIR config/conf.py 设置要发送的邮件所在的目录 username config/config.ini 发送邮件的用户名 email config/config.ini 发送方的邮件地址 password config/config.ini 发送方邮件的授权码 receiver config/config.ini 接收方邮件地址(接收多个接收方) -
性能的考量
- 使用pytest.fixtrue取代setup和teardowm,是=使程序更加灵活。同时使多个测试进行时只产生一个driver,避免多个driver占用资源过大。
- 将数据和业务层剥离,使开发人员更灵活的增加/删除测试用例。
-
Notifications
You must be signed in to change notification settings - Fork 0
Wuyunfan-BUPT/WebUITest
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published