1. 界面交互驱动能力
1.1 启动、关闭被测应用(AUT) ;
1.2 识别被测应用界面上可操作的元素;
1.3 操作(点击,选择,输入文字,滚动,读取文字)被测应用界面上的元素;
1.4 窗口window或者frame切换;
1.5 浏览器 native 窗口操作 : alert, save file, open file , browser file window for upload;
2.测试执行驱动能力
2.1 TestRunner
测试执行入口程序,加载参数/测试数据,读取要执行的测试用例信息,执行测试用例(串行? 并行? ),测试用例执行的超时或者异常处理,生成日志和测试报告;
2.2 Configuration
外部数据 : 测试行为控制参数,被测产品属性信息,测试数据,待执行测试信息
内部数据 : 运行时共享数据,
2.3 TestContext -- 各种信息在测试运行时的快捷方式
1. 测试执行主机的系统信息(OS类型,相关软件版本),
2. 当前测试项目的目录结构访问,
3. 当前正在执行的测试用例的元数据信息,
4. Configuration 信息的存取
2.4 Dependency Management
1. 测试用例之间的依赖如何定义
2. 有依赖关系的测试用例之间的数据传递
2.5 环境准备/环境复位
1. 每个测试用例的测试逻辑开始之前是否有机会执行一段自己独有的环境准备逻辑
2. 每个测试用例的测试逻辑结束之后是否有机会执行一段自己独有的环境复位逻辑 (正常结束时的逻辑和异常结束时的逻辑可能不同)
3. 任何测试用例的测试逻辑开始之前是否有机会执行一段多个测试用例相同的环境准备逻辑
4. 任何测试用例的测试逻辑结束之后是否有机会执行一段多个测试用例相同的环境复位逻辑 (正常结束时的逻辑和异常结束时的逻辑可能不同)
5. 在一组将被执行的测试用例之前执行一段特定的环境准备逻辑
6. 在一组已经执行的测试用例之后执行一段特定的环境复位逻辑 (正常结束时的逻辑和异常结束时的逻辑可能不同)
7. 在整个测试活动开始之前执行一段特定的环境准备逻辑
8. 在整个测试活动结束之后执行一段特定的环境复位逻辑 (正常结束时的逻辑和异常结束时的逻辑可能不同)
2.6 Logging/Reporting
日志 : 要忠实地反映跟界面的交互, 通过日志用户能够理解如何手工执行整个测试逻辑
携带必要的可读的时间信息,线程信息,以便于错误分析
报告 : 要有总结性报告信息,也要有详细报告信息
手工测试脚本中规定的验证点在自动化测试脚本的执行报告中要有对应的通过/失败记录
异常信息要足够脚本/框架开发人员定位问题
2.7 Automation Test Asset statistics
累计开发过多少自动化测试用例
当前有多少活跃自动化测试用例
每个自动化测试用例对应哪些手工测试用例
每个自动化测试用例的开发者/维护者信息
每个自动化测试用例曾经出现的缺陷信息