0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Web自动化测试的UI框架结构及思路

如意 来源:百家号 作者: 川石软件测试 2020-07-01 15:55 次阅读

在学会使用unittest后,实际上UI自动化的基础骨架已经搭建起来了,剩下的就是利于这套框架,增添一些我们需要的功能,目前看来,我们已经可以使用此框架来批量运行用例,欠缺的是整体的思路以及一些其他功能细节,比如日志记录、封装webdriver、读取数据库等功能的实现。

一、框架结构

Web自动化测试的UI框架结构及思路

其中:

common:

一些基础的底层方法类,例如:测试报告类、数据配置读取类、日志类、封装webdriver类、数据库连接类、发送邮件类、公共方法类,只要是我们想要实现的一些功能,可以把基础方法的实现放在common文件夹。

config:

配置文件放在这里,比如:账号密码、数据库链接地址等。

log:

运行用例后,日志的存储文件夹。

report:

运行用例后,测试报告的存储文件夹。

page:

在POM设计模式下,关于具体UI页面操作的方法。

test_case:

具体存放编写的测试用例。

run_all:

用来批量运行测试用例。

二、一些设计的想法和理念

2.1数据分离

数据分离,顾名思义是指要把代码中的数据和代码分离开来,这样方便管理和维护。

在写用例以及框架时,会涉及到数据的处理,比如说:账号、密码、元素定位、测试数据等等,对于经常会用到,但是不会经常修改的数据,比如账号、密码等,可以写到配置文件里,然后再读取;而对于元素定位的话,我习惯统一放到类里,作为类的全局变量来进行维护调用,而不是写到代码逻辑中,之前尝试过把元素定位放到excel中,但是元素定位需要经常修改维护,其实放在excel里修改很不方便,所以我更习惯作为一个类变量来存储调用。

2.2 POM设计模式

POM简单来说,我的理解就是高内聚低耦合的一种实践,通过分层来使得代码更容易维护表达,同时把复用性极多的方法整合到一起统一调用。运用到UI自动化中,则是把一个UI测试用例的实现,分为了三层来实现;第一层是driver层,我们把常用的方法封装起来,比如查找元素的方法find_element()我们封装成一个定位元素的方法,然后在这个方法里加入元素等待;第二层是page层,也就是页面层,主要把一个页面中的操作写成一个方法,比如点击确定按钮,填写用户名等;第三层是case层,也就是测试用例层,通过把page中的操作像搭积木一样组合起来,实现测试流程。

封装的driver方法 ---》 page:页面中的操作 ---》 case调用page中的操作

2.3测试框架的完整性

就是加上一些我们需要的功能,比如测试报告、日志的打印记录、发送邮件等功能,当然不仅限于此,在基本搭建好框架后,可以对框架本身进行易用性的整改,比如我要查询数据库获取数据来入参或者断言,那就加入数据库连接的方法;比如为了项目更简单易用,可以加入UI页面的可视化功能,python本身三方库的种类很多,可以根据自己的需要或者想法来改造我们的框架。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Web
    Web
    +关注

    关注

    2

    文章

    1262

    浏览量

    69443
  • 自动化
    +关注

    关注

    29

    文章

    5563

    浏览量

    79242
  • ui
    ui
    +关注

    关注

    0

    文章

    204

    浏览量

    21369
收藏 人收藏

    评论

    相关推荐

    鸿蒙OS开发实战:【自动化测试框架】使用指南

    为支撑HarmonyOS操作系统的自动化测试活动开展,我们提供了支持JS/TS语言的单元及UI测试框架,支持开发者针对应用接口进行单元
    的头像 发表于 04-08 14:49 1373次阅读
    鸿蒙OS开发实战:【<b class='flag-5'>自动化</b><b class='flag-5'>测试</b><b class='flag-5'>框架</b>】使用指南

    hadoop框架结构的说明介绍

    的发行版不是很多,比如DKhadoop,可以说是目前国内自主做hadoop商业版比较好的了。下面就以大快搜索DKhadoop为例来给大家介绍一下hadoop框架结构! 图示:DKhadoop威廉希尔官方网站 威廉希尔官方网站 架构图
    发表于 10-15 15:59

    自动化测试框架思想和构建

    自动化测试一般是指软件测试自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。本文介绍的是
    发表于 07-18 06:52

    请问数据驱动的自动化测试框架结构是怎么构成的?

    自动化测试为什么会出现?相比手工测试自动化测试有哪些优势?自动化
    发表于 04-15 06:55

    如何搭建嵌入式C语言单元测试自动化框架

    关于嵌入式C语言单元测试自动化框架的搭建思路
    发表于 12-15 07:35

    【RISC-V 生态软件系列】 HaaS UI基础教学八:JSAPI自动化测试方法

    、HaaS UI应用框架:包括轻应用框架、轻应用API、容器、HaaS UI渲染框架和动态卡片前端框架
    发表于 03-09 07:26

    HarmonyOS自动化测试框架—Hypium

    是所见即所得的界面测试,操作页面并检查页面控件是否符合预期的端到端的测试,用于测试人员覆盖全路径的验证测试。针对上述两种应用场景,自动化
    发表于 08-10 17:13

    HamronyOS自动化测试框架使用指南

    概述 为支撑 HarmonyOS 操作系统的自动化测试活动开展,我们提供了支持 JS/TS 语言的单元及 UI 测试框架,支持开发者针对应用
    发表于 12-19 10:26

    基于Web自动化测试框架的研究

    根据web系统测试的特点,为提高软件测试自动化脚本的可重用性,结合在实际项目中软件自动化测试的实
    发表于 11-07 15:58 0次下载
    基于<b class='flag-5'>Web</b>的<b class='flag-5'>自动化</b><b class='flag-5'>测试</b><b class='flag-5'>框架</b>的研究

    基于WATIR的WEB自动化回归测试框架

    由于在迭代开发模式中需要执行大量的回归测试,针对其测试项目重复率高的特点,提出了一种Web自动化回归测试
    发表于 11-23 11:08 18次下载
    基于WATIR的<b class='flag-5'>WEB</b><b class='flag-5'>自动化</b>回归<b class='flag-5'>测试</b><b class='flag-5'>框架</b>

    什么是自动化测试框架

    这些优势可以是不同的形式,如易于编写脚本、可伸缩性、模块、可理解性、过程定义、可重用性、成本、维护等。因此,为了能够获得这些好处,建议开发人员使用一个或多个自动化测试框架。此外,当有
    的头像 发表于 11-03 10:33 4344次阅读

    常规自动化程序框架结构

    常规自动化程序框架结构,方便程序编写提高工程效率。
    发表于 02-22 14:30 37次下载

    自动化测试框架unittes详解

    测试框架,不妨“软为硬用”。这里就基于python的自动化测试框架unittest来实现一个简单的自动
    的头像 发表于 05-20 14:47 2925次阅读

    什么是自动化测试框架

    自动化测试框架,即是应用于自动化测试所用的框架。按照框架
    发表于 04-18 14:44 894次阅读

    OpenHarmony自动化测试框架开发指南

    OpenHarmony 自动化测试框架是 OpenHarmony 提供的支持 JS/TS 语言的单元及 UI 测试
    的头像 发表于 05-15 09:35 1379次阅读
    OpenHarmony<b class='flag-5'>自动化</b><b class='flag-5'>测试</b><b class='flag-5'>框架</b>开发指南