以最简单的一个场景为例:
Step 1:打开 Chrome 浏览器。
Step 2:进入个人 Dashboard 页面,查看未处理任务列表。
Step 3:进入单个任务页面,查看任务详细内容
3.1 如果是结束待确认的任务,直接点击确认按钮确认
3.2 如果是进行中的任务,进行如下操作:
3.2.1 查看上一个人员的意见,如果有附件,需要将附件下载下来。
3.2.2 填写反馈意见。
3.2.3 提交给下一步处理人员。
3.3 如果是新的任务,进行如下操作:
3.3.1 填写任务报告。
3.3.2 如果有原始图片、数据等材料,则上传这些材料。
3.3.3 选择多个评审人员,提交报告进行下一步评审。
Step 4:处理完毕后,返回 Dashboard 页面,点击登出。
上面各个步骤执行过程中,任意一个步骤(及其子步骤,比如 3.2.3 和 3.3.3 的提交后的结果)都可能出错,分以下几种情况:
1.1.因为未登录而被跳转到登录页面(执行过程中 Cookie 过期,服务器清空 SessionID 等)
1.1.1 - 不是连续第三次出现这种情况,则使用登录脚本进行登录,然后跳转至 Step 2 重新开始,出错计数加 1
1.1.2 - 是连续第三次出现这种情况,停止测试,记录当前错误到日志,截图。
1.2.因为网络被电信劫持而无法跳转
1.2.1 - 不是连续第三次出现这种情况,则跳转至 Step 2 重新开始,出错计数加 1
1.2.2 - 是连续第三次出现这种情况,停止测试,记录当前错误到日志,截图。
1.3.因为服务端程序出错,如 404 页面
1.3.1 - 不是连续第三次出现这种情况,则跳转至 Step 2 重新开始,出错计数加 1
1.3.2 - 是连续第三次出现这种情况,停止测试,记录当前错误到日志,截图。
1.4.因为本地网络故障,无法访问任何页面
1.4.1 - 不是连续第三次出现这种情况,则跳转至 Step 1 重新开始,出错计数加 1
1.4.2 - 是连续第三次出现这种情况,停止测试,记录当前错误到日志,截图。
1.5.其他非意向中的情况:
1.5.1 - 不是连续第三次出现这种情况,则跳转至 Step 1 重新开始,出错计数加 1
1.5.2 - 是连续第三次出现这种情况,停止测试,记录当前错误到日志,截图。
我想问一下,如果要比较优雅的编制测试脚本,应该如何处理上述情况。
目前个人的尝试是:
每个步骤都使用 try catch,任意一个步骤出现了非预期结果,raise 一个 exception,exception 中 switch case 放置 1.1 - 1.5 几种出错情况及其应对措施。
请问还有其他好的方法么?
目前测试环境是在 Windows XP 下使用 Chrome 浏览器,对于 Win 7 下的情况不了解,但有一个问题想咨询一下,Win 7 在执行测试过程中,如果碰到 UAC 权限
请求导致屏幕冻结,是否影响 Python 测试脚本的执行。因为在 Win 7 上碰到过打开 Firefox,出现升级提示,要求访问硬盘而造成屏幕冻结。
我没怎么做过测试,一般也就自己写的代码做做单元测试,希望各位测试高手多发表意见进行指正。