|
|
51CTO旗下网站
|
|
移动端

学会Python+Selenium,分分钟搭建Web自动化框架!

基于selenium实现的web自动化框架不仅轻量级而且灵活,可以快速的开发自动化测试用例。结合上面的框架设计思路,希望对大家以后的web自动化框架的设计和实现有所帮助。

作者:Atstudy网校来源:头条科技|2019-02-20 11:19

用python+selenium实现UI自动化测试,要有一些HTML和xpth的基础,当然python基础一定是必须要会的。笔者建议花点时间了解下相关基础知识,不至于后面发懵。

一、什么是selenium?

selenium是个强大的工具集。支持快速开发测试自动化,支持在多种浏览器平台上执行测试。支持多开发语言,如:Python、Java、ruby、C#等,本次选择Python3作为开发语言。

二、用python做测试的优点

学习难度小,开发周期短。对目前国内大多数测试人员来说,编码经验不足,python是个很好的入门语言。胶水语言,能与C++, Java, COM, and .NET,Object-C 整合。

测试部门要做单元测试,接口测试,因为人员比例的关系,不可能让测试人员同时掌握多门语言,python可以对C/C++, Java, Object-C进行接口封装后,实现单元测试。语法简约,清晰,减少后期维护的难度。

学会Python+Selenium,分分钟搭建Web自动化框架!

三、自动化测试框架

一个典型的自动化测试框架一般包括用例管理模块、自动化执行控制器、报表生成模块和日志模块等,这些模块之间不是相互孤立的,而是相辅相成的。

学会Python+Selenium,分分钟搭建Web自动化框架!

下面来介绍下每个模块的逻辑单元:

用例管理模块

用例管理模块包括用例的添加、修改、删除等操作单元,这些单元也会涉及到用例书写的模式,测试数据的管理、可复用库等

自动化执行控制器

控制器是自动化用例执行的组织模块,主要负责以什么方式去执行用例。比较典型的控制器有用户图形界面(GUI)和"commandline+文件"两种。

报表生成模块

报表生成模块主要负责执行完用例以后生成报表,报表一般以HTML格式居多,信息主要包括用例的执行情况及相应的总结报告。另外还可以添加发送邮件功能。

日志模块

日志模块主要用来记录用例的执行情况,以便于更高效的调查用例失败信息及追踪用例执行情况。

四、自动化框架的设计与实现

方案设计

1、编程代码选择 python3

2、工具selenium + 单元测试框架 unittest

3、编译器: IDE/pycharm

结构设计

学会Python+Selenium,分分钟搭建Web自动化框架!

cases:

根据功能划分用例管理

学会Python+Selenium,分分钟搭建Web自动化框架!

用例实现

com

学会Python+Selenium,分分钟搭建Web自动化框架!
学会Python+Selenium,分分钟搭建Web自动化框架!

config

edata: 环境配置模块

env.json 、enviroment.yaml 实现城市选择及SIT、UAT环境切换

sdata: 数据配置

各类数据json文件、银行数据、产品信息、个人信息等

elements: 元素定义

locator.py 元素定义、menu 、into_a_management.yaml 等

学会Python+Selenium,分分钟搭建Web自动化框架!

lib

第三方模块引用, 版本管理

学会Python+Selenium,分分钟搭建Web自动化框架!

report

管理日志报告

report.xlsx 自动化执行结果生成excel报表

学会Python+Selenium,分分钟搭建Web自动化框架!

report.xlsx

学会Python+Selenium,分分钟搭建Web自动化框架!

index.html

学会Python+Selenium,分分钟搭建Web自动化框架!

需要改进的模块

对于现有实现的测试框架,已经可以满足web对象的自动化需求,但还是有些可以改进提高的地方,比如:

针对部分测试用例是否可以尝试数据驱动

添加屏幕截图功能

封装selenium中By库中的函数,以便更高效的定位页面元素等

结合业界优秀的自动化框架和实践持续改进

五、总结

基于selenium实现的web自动化框架不仅轻量级而且灵活,可以快速的开发自动化测试用例。结合上面的框架设计思路,希望对大家以后的web自动化框架的设计和实现有所帮助。

【编辑推荐】

  1. 法国科学家开发出能像蚂蚁一样导航的六足机器人
  2. AI研究机构OpenAI开发出写作AI:编写假新闻足以乱真
  3. Fedora 31 已经为 Python 3.8 做好了准备
  4. 2018 Python官方年度报告:关于 Python 的趋势都在这了
  5. LeCun:Python当死,深度学习新语言当立
【责任编辑:张燕妮 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢
24H热文
一周话题
本月获赞

订阅专栏+更多

用Python玩转excel

用Python玩转excel

让重复操作傻瓜化
共3章 | DE8UG

162人订阅学习

AI入门级算法

AI入门级算法

算法常识
共22章 | 周萝卜123

131人订阅学习

这就是5G

这就是5G

5G那些事儿
共15章 | armmay

126人订阅学习

读 书 +更多

大师品软件——软件之痛与应对之道

这并不是一本传统的技术专著,因为它并没有包含一行代码,而更像是一部技术评论。作者通过幽默诙谐而又不失辛辣的语言,从程序员、用户等多...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微