1. 打开浏览器,访问p.to
2. 登陆
登陆这动作传入的参数只有一个“用户密码”
需要执行的操作有两个:1. 向输入框输入密码 2. 点击确定
需要意的是在登陆的时候可能出现页面还没有加载出来,我们的程序就开始填写表单的情况。
为了防止异常出现,编写了函数waitandSendkeys和waitandClick来处理异常。(后面将会介绍异常处理函数)
3. 修改管理员密码
需要传入的参数有两个:1.旧密码 2. 新密码
要注意的是由于修改管理员密码是一个弹窗,所以要判断等弹窗弹出之后再进行操作
到这里,我们可以完成修改用户名密码这一动作。后面将进行单元测试。
4. 单元测试数据
根据防呆规则可以列出:1.可能出现的错误 2.出现错误时页面应有的提示语
5. 检查输入的数据合法性
需要输入的数据为要检查的data和登陆密码
6. 获取输入错误数据之后的页面提示语
7. 编写测试用例
8.编写单元测试类
8.1 单元测试中的通用操作
单元测试中,不同的部分应该是数据,所以可以定义一个通用的操作。
其中self.assertEqual(checkResponse(error), errTips[error])是判定测试是否通过的条件:页面提示语是否正确。
8.2 测试类
测试类中主要包括了测试用例6个,和对应的以“test”开头的测试函数。
这里继承了python的unittest。
9. 进行单元测试并生成测试报告
这里利用了HTMLTestRunner来生成测试报告
生成的测试报告将会存放在reports/test_report文件夹下,按照时间命名。测试报告的title叫做“修改管理员密码试报告”
10. 关闭浏览器
到这里,我们可以完成修改用户名密码模块的单元测试了,为了增加代码的健壮性,下面介绍异常处理。
11. 异常处理
11.1 点击函数
点击按钮的时候可能出现的异常情况是:可能页面元素还没有加载出来的时候,点击的动作就发生了。这样就会引发找不到元素异常。
解决的方法是通过显示等待,每10ms检查一次页面元素是否加载完成,完成后就点击,否则就等到超时时间之后结束动作。
11.2 填写表单
在填写表单时,除了页面元素还没有加载完成的异常外,还可能原有表单中有文本,而我们的输入则是以追加模式填写的。这就会导致填写的文本不准确。
11.3 元素加载
在元素加载中可能出现: 1. 在超时时间内元素没有加载完成 2. 查询的元素根本不存在
针对这两种情况进行异常处理。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!