上一篇以gogomall的登录为例,记录了一个简单的登录流程的脚本,在实际应用中,当流程发生一些小的变动,或者前端代码改变,导致元素选择器失效,我们维护脚本的成本就比较大,需要一个一个去修改,所以,有一个案例分层的概念,之前接触过selenium应用的小伙伴应该有概念,数据驱动,关键字驱动,把一些公共的东西抽取出来,我们先来了解一下简单的分层概念,然后用之前的例子来看一下

一、案例分层(三层)

案例层:测试流程+数据

流程层:元素操作

元素层:测试库封装

二、案例分层(四层)

案例层:测试流程+数据

流程层:页面层操作

页面层:元素操作

元素层:测试库封装

注:数据和流程分离开,能够减少一些由需求变更引发的修改,数据也可以进一步分离,存放在变量文件、数据库或者Excel里,运行的时候再去读取数据

三、示例(以三层为例)

1.新建资源文件,引入Selenium2Library测试库,新增关键字(元素层)

打开浏览器:

输入用户名:

将之前脚本中的每一行都创建关键字

2.再创建一个资源文件,引入第一次创建的资源文件,创建关键字,把需要的数据作为参数(流程层)

3.创建一个案例(案例层)

4.运行案例,结果如下:

5.查看结果,可通过点击Report或Log查看结果

最新文章

  1. 如何让你的JavaScript代码更加语义化
  2. 【精粹系列】Mysql精粹
  3. NHibernate3快速上手教程FluentNHibernate配置与DBHelper
  4. STL模板之_map,stack(计算矩阵相乘的次数)
  5. 借助fastjson 实体对象转map
  6. docker学习(一)
  7. sublime text3的配置(整理)
  8. javascript对象几种创建方式
  9. java_设计模式_模板方法模式_Template Method Pattern(2016-08-11)
  10. SRAM与SDRAM的比较(转)
  11. jquery.lazyload.js图片延迟加载(懒加载)--转载
  12. C#中??和?分别是什么意思?
  13. shell脚本基础1 概述及变量
  14. ASP.NET MVC5 使用NPOI导出ExceL 返回浏览器下载
  15. framework7 入门(数据绑定)
  16. IDEA添加Git项目
  17. 九、uboot 代码流程分析---relloc_code
  18. LabVIEW 波形图表显示多条曲线
  19. unknow Unknown type name 'NSString'
  20. layui 日期插件onchange事件失效的方法

热门文章

  1. webpack 4.x版本手动配置
  2. ES6标准入门 2/26
  3. PHP 变量讲解
  4. PHP imagecharup - 垂直地画一个字符
  5. PHP xml_set_processing_instruction_handler() 函数
  6. 实战:一键生成前后端代码,Mybatis-Plus代码生成器让我舒服了
  7. 每日一道 LeetCode (5):最长公共前缀
  8. Neo4j 的使用说明(二)
  9. echarts全国疫情统计可视化地图(第一阶段)
  10. image classification backbone 汇总分析