关于selenium:关于Web端UI自动化测试

35次阅读

共计 1349 个字符,预计需要花费 4 分钟才能阅读完成。

在手工测试阶段,针对我的项目输入了测试用例,如果这些测试用例须要在版本迭代的过程中,须要进行回归测试,通过手工反复地执行测试用例,将会消耗大量的人力。

为此应运而生就有了 自动化测试,通过应用自动化工具,将依照测试用例进行点点操作,校验的工作,交给代码程序来执行,测试工作,就变得省心省力了。

  • 重点:测试用例是自动化测试脚本的根据,所有不基于测试用例而写的自动化脚本都是耍流氓。

对于 UI 自动化测试

UI 自动化的实质

  • 定位元素
  • 操作元素
  • 模仿页面动作
  • 断言后果
  • 生成报告

基于以上 5 个实质,自动化测试的整体流程是这样的,这里百度登陆性能的测试用例为例:


  1. 对于这条测试用例,须要找到它的 定位元素:用户名输入框,明码输入框,登陆按钮
  2. 操作元素:对于这 3 个定位元素的操作有 2 种,别离是“输出”与“点击”
  3. 模仿页面动作,也就是测试用例的步骤:

    1. 输出用户名
    2. 输出明码
    3. 点击登陆按钮
  4. 判断后果:将用例中的预期后果与理论后果进行比对,如果统一,代表胜利,否则代表失败。对于这条测试用例,登陆胜利的标记是,页面右上角呈现了用户的头像与用户名,那么,能够通过获取网页中用户名的文本信息,与登录账户的用户名比照,统一的话,代表这条用例通过。
  5. 依据执行后果,主动 生成报告,罕用的第三方模块:HtmlTestRunnerAllure2

适宜 UI 自动化测试的场景

当然,不是所有的测试场景都适宜用自动化测试来实现。

对此,能够参考以下的规范辅助判断:

  1. 我的项目的需要不会频繁变动
  2. 页面的 UI 曾经进入稳固阶段
  3. 我的项目周期足够长
  4. 大量回归的测试工作

其中,有一些我的项目是显著 不适宜应用 UI 自动化测试 的,例如视频播放器(暴风影音,腾讯视频,爱奇艺等),音乐播放器(例如网易云音乐,QQ 音乐等)等交动性强,并发依赖强的软件。

起因是,这一类软件,判断视频内容对不对,判断音乐声音与歌词对不对,难度极大。

另外,延长一个话题:对于自动化测试的覆盖率,面试会问到的一个点。

国内大多数互联网公司的我的项目迭代周期比拟短,因而自动化覆盖率个别都不高。

具体还是要依据我的项目迭代周期进行形容,参考规范是:

  • 迭代周期是半年或者一年以上的我的项目,每次需要变动很少,自动化测试的覆盖率个别是 60%-70%,次要是笼罩之前的旧性能以及外围场景
  • 迭代周期为一个月的我的项目,覆盖率大略是 25-30%,次要是笼罩 P0(极重要)级别的绝大多数用例,与 P1(重要)级别中的局部用例
  • 1~2 周一个迭代的我的项目,覆盖率大略是 10%,次要是笼罩 P0(极重要)级别,可能会对用户造成重大影响的外围场景

其次,UI 自动化测试的工夫切入点次要有 2 个:

  1. 冒烟测试阶段
  2. 回归测试阶段

UI 自动化测试设计准则

  1. 一个测试用例实现一个性能点测试(罕用):一个手工用例对应一个自动化测试用例
  2. 一个脚本是一个残缺的场景
  3. 脚本之间独立,不能有依赖(脚本间互相隔离):例如与登陆状态相干的用例:集体核心、订单详情、下单购物等,如果脚本之间不独立,相互依赖,在登陆的测试脚本失败的状况下,会导致集体核心、订单详情、下单购物的测试脚本全军覆灭,后续修复与保护老本高
  4. 设置适合的检查点:通过断言判断用例的胜利与否
  5. 设计良好的框架:Python 罕用的测试框架有 unittestpytest,利用框架,及对共用的测试模块进行封装,缩小自动化测试脚本保护的工作量

总结

正文完
 0