基于Selenium+Python的web自动化测试框架(附框架源码+项目实战)
目录一、什么是是一款借助浏览器的测试弄自动化用工具 , 其给予了一种跨越平台 、跨越浏览器的从端到端的web自动化解决办法 , 主要涵盖三部分: 一是IDE , 另外 , 还有Grid。本文将详细介绍如何运用结合 库搭建web自动化测试框架。二、自动化测试框架一个较为典型的自动化测试框架, 普遍涵盖用例管理模块, 还有自动化执行控制器, 存在报表生成模块, 包含log模块, 以上这些模块彼此相互辅助, 共同发挥作用。接下来介绍各模块的逻辑单元1、用例管理模块用例管理模块含有新增操作单元, 还有修改操作单元, 以及删除操作单元, 这些操作单元会涉及用例书写模式, 会涉及测试数据库的管理, 还会涉及可复用库。2、自动化控制器自动化用例执行时起组织作用的模块是控制器, 它主要会去负责, 以何种方法用来执行我们所拥有的测试用例。3、报表生成模块其主要承担的职责是,在执行用例之后生成报告, 通常情况下, 以HTML格式的居多, 所包含的信息主要是关于用例执行的情况。除此之外, 还能够对发送邮件的功能进行配置。4、log模块主要用于记录用例执行状况, 借此方便地去调查用例失败详情、跟上用例执行进度, 且此二者有所不同。三、自动化框架的设计和实现1、需求分析首先对象是一个web平台, 我们要对其进行测试, 基于这个平台所设计的框架, 要涵盖测试用例管理一项, 还要有测试执行控制器这一类别, 另外也要把测试报告包含在内, 同时还得生成测试日志。2、设计和实现页面管理设想一下, 测试web对象属于那种典型的单页面应用, 鉴于此, 我们选用页面模式。页面模式可是页面和测试用例之间的连接纽带, 它会把每个页面都抽象成一个单独的类, 能给测试用例提供页面元素的定位以及操作。以父类而言, 仅含有成员变量, 用于在标识之中, 借此在子类里定位页面元素。而作为子类, 能够给出页面元素的定位以及操作方法。像登录页面这种情况。从页面打量, 所要进行操作的元素逐个依次是、登录用户名, 以及密码, 还有下次自动登录, 另外还有登录按钮。以下就是具体实现代码如下:页面父类.py源自继承, 去开展登录相关元素的定位工作以及操作方面的实现。在代码里, 实施了对特定元素的定位动作, 而且增添建立设置及用户名与密码的相关操作。公共库模块服务于创建测试用例的是公共库模块, 组成它的有常量, 还有公共函数, 以及日志, 另外还有报告等。.py用于标识测试用例的测试用例信息类, 包含执行用例, 还有执行结果信息, 它主要涵盖以下这些字段。用于记录在进行测试用例实践的时候所执行的步骤以及出现的错误信息的是日志, 不同的相关信息存在不同的日志级别, 诸如、、还有Debug。鉴于每一个测试用例所产生的日志条目数量相对较少, 所以在测试框架里面仅仅运用了最高等级的日志打印, 也就是Debug级别, 此级别也会把其他所有日志级别的信息都同样予以打印。在实际的具体实现过程当中引用了标准库里面的类库, 目的在于更轻而易举地控制日志向外输出。