轻量级自动化测试框架WebZ

一、什么是WebZ

WebZ是我用Python写的"关键字驱动"的自动化测试框架,基于WebDriver。

设计该框架的初衷是:用自动化测试让测试人员从一些简单却重复的测试中解放出来。之所以用"关键字驱动"模式是因为我觉得这样能让测试人员(测试执行人员)快速上手,无需编写代码也能执行自动化测试。

二、为啥开源

WebZ的开发用到了一些现有的开源项目,我很感谢这些开源项目的作者,希望自己也能成为一名开源者,和大家分享自己的成果,一起交流技术、一起成长。

该项目的GitHub地址:https://github.com/noahzn/WebZ

三、开源说明

# Portions copyright (c) 2014 ZMAN(ZhangNing)
# 
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# Name: WebZ
# Description: keyword-driven automated testing framework
# Author: ZMAN(ZhangNing)
#
# This project also uses some third-party modules:
#
# selenium: Licensed under the Apache License, Version 2.0 (the "License");
# Copyright 2008-2013 Software Freedom Conservancy.
#
# splinter: Licensed under the BSD License;
# Copyright 2012 splinter authors. All rights reserved.
#
# reportlab: Licensed under the BSD License;
# Copyright ReportLab Europe Ltd. 2000-2014.
#
# xlrd: Licensed under the BSD License;
# Portions copyright 2005-2009, Stephen John Machin, Lingfo Pty Ltd. All rights reserved.
#

四、使用方法

** 1.将 chromedriver.exe 放置在任意位置,添加到系统环境变量中。**

**  2.将编写完成的自动化测试用例文件"case.xlsx"放在 D 盘根目录下。**

**  3.运行WebZ.exe。若用例被正确执行,会在 D:\WebZ 目录下找到测试报告。**

**  注:该程序在Win7 x64环境下打包而成。**

示例:

测试用例(case.xlsx):

如上图所示,这个文件包含两条测试用例,向大家展示了一些WebZ中基础的关键字。关于关键字的详细定义,请参见附录。

编写测试用例的人员如果懂得一些前端知识,那就很赞了,不了解也没关系,现在很多浏览器都有"元素审查"功能。以Chrome为例,按F12进入审查元素模式,点击"放大镜"图标。

然后点击你想要操作的元素,如"百度一下"按钮,此时浏览器就会高亮元素信息,直接右键复制CSS或XPATH即可,然后和WebZ提供的关键字相结合就可以对元素进行操作啦。

我们来跑一下这两条用例,自动生成测试报告(如果有未通过的用例,会列出失败步骤):

(好吧,本来报告内容是中文的,因为我发到GitHub了,所以我把这些中文都改成了英文,国际化嘛......)

五、实现解析

如果你想要在Python开发环境中运行WebZ,请使用Python3,你还需要安装以下几个开源库:reportlab、xlrd、selenium、splinter。

WebZ结构大致是这样的:

读取excel中的用例进行格式预处理、分段,读取定义的关键字,通过WebDriver进行分类处理,同时捕捉失败信息(如果用例执行失败,会再次尝试,共尝试三遍),最后生成报告。

当时设计WebZ时,构思就是这是一个轻量级的WEB自动化测试框架,但是要保留可扩充性的特点,主要可以对关键字进行自行扩充和封装。

"自动化测试是将一些重复性高却又简单的手动测试自动化,而不是要取代自动化。实行自动化测试前要考虑实现成本和收益情况"------好吧,这句话是我说的,我目前的个人观点~欢迎探讨 :)

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

文档获取方式:

加入我的软件测试交流群:632880530免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领

相关推荐
一条测试老狗1 小时前
【可视化开源性能压测工具】小巧而强大的oha
测试工具·性能压测·oha
测试者家园4 小时前
ChatGPT与Postman协作完成接口测试(一)
软件测试·chatgpt·接口测试·postman·用chatgpt做软件测试·测试图书·质量效能
测试杂货铺10 小时前
Jmeter压测实战:Jmeter二次开发之自定义函数
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·压力测试
测试老哥11 小时前
外包干了两年,技术退步明显。。。。
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
测试199814 小时前
外包干了2年,技术退步明显....
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
Quz16 小时前
Wireshark协议相关功能:过滤、启用/禁用、导出和统计查看
网络·测试工具·wireshark
炭烤玛卡巴卡1 天前
学习postman工具使用
学习·测试工具·postman
yinshuilan1 天前
第2节-Test Case如何调用Object Repository中的请求并关联参数
测试工具
互联网杂货铺1 天前
Postman接口测试:全局变量/接口关联/加密/解密
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·postman