zoukankan      html  css  js  c++  java
  • web自动化 基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

    基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

     

    by:授客 QQ1033553122

     

      博客:http://blog.sina.com.cn/ishouke

     

    欢迎加入软件性能测试交流QQ群:7156436

     

     

     

    目录

    1           开发环境

    2           基本配置

    3           主要功能逻辑介绍

    4           框架功能简介

    5           服务端部署

    6           框架模块详细介绍

    7           页面元素管理

    8           用例管理

    9           测试计划管理

    10        运行结果

    11        源码下载

    12        说明

     

    文档里qq群群号写错了,麻烦加交流QQ群:7156436


    1、  开发环境

    win7 64

     

    PyCharm 4.0.5

     

    setuptools-29.0.1.zip

    下载地址:http://pan.baidu.com/s/1mhMSAkK

    官方下载地址:https://pypi.python.org/pypi/setuptools#downloads

     

    python 3.3.2

     

    mysql-connector-python-2.1.4-py3.3-win64

    下载地址:http://pan.baidu.com/s/1cDtP1O

    官方下载地址:http://dev.mysql.com/downloads/connector/python/

     

    selenium-3.0.2

    下载地址1http://pan.baidu.com/s/1bFfY4Q

    官方下载地址:https://pypi.python.org/pypi/selenium

     

     

    火狐浏览器:47.0.2

     

    geckodriver-v0.11.1-win64.zip

    下载地址1http://pan.baidu.com/s/1jI0SHTG

    官方下载地址:https://github.com/mozilla/geckodriver/releases

     

    IE8

     

    IEDriverServer

    下载地址:http://pan.baidu.com/s/1bHhOC2

     

    Chrome浏览器  54.0.2840.59 m

    下载地址:http://pan.baidu.com/s/1kUOreMr

     

    chromedriver_win32 2.2.5

    下载地址1http://chromedriver.storage.googleapis.com/index.html?path=2.25/

    下载地址2http://pan.baidu.com/s/1slGn5hV

     

    PHP版本:Apache+PHP5.3

     

    ftp服务器

     

    2、  基本配置

    安装完Python后,把chromedriver.exegeckodriverIEDriverServer.exe浏览器驱动,放到python安装目录(例:D:Program Filespython33)下,如下

    web自动化 <wbr>基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

     

    如果火狐浏览器不是安装在默认安装目录下,(例:D:Program Files (x86)Mozilla Firefox),需要在path中添加firefox.exe所在的安装目录,否则会报错,类似如下:

    Message: Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line

    然后重启浏览器和pycharm

    web自动化 <wbr>基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

     

    3、  主要功能逻辑介绍

    1

     

    4、  框架功能简介

    1、框架采用PHP web页面,管理页面对象,测试计划,测试用例,用例步骤,支持界面元素操作,支持函数执行

     

    2、可通过配置文件灵活配置运行模式:

    l  支持按测试计划运行:一次运行单个、多个指定的测试计划;

    l  支持按测试用例运行:一次运行单条测试用例

    l  支持按照执行流水编号运行:每启动一种浏览器,每执行一次都会生成一个执行编号,按流水编号运行,会自动选择上次执行的浏览器,重复运行该计划对应的测试用例(注意:目前计划创建后,其拥有的测试用例保持不变,即无法删,减)

     

    3、可通过配置文件,配置需要运行的浏览器,支持自由扩展

     

    4、可通过配置文件灵活选择测试需要的web site,和数据库

     

    5、可自动生成HTML可视化接口测试报告

     

    6、可根据配置在测试完成后,自动发送测试报告邮件,邮件发送支持SSL加密发送和非SSL加密发送,同时支持往多个邮箱发送邮件

     

    7、支持文件、控制台的日志打印,可分别控制开关

     

    8、可集成Jenkins自动运行脚本

    参考文章:Jenkins添加Windows Slave远程执行python项目脚本

     

    5、  服务端部署

    参考 Web自动化测试-服务端测试环境部署.doc”文件

     

    6、  框架模块详细介绍

    a)   config

    web自动化 <wbr>基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

    db_evn.conf包含不同环境的测试数据库,应用数据库的配置信息(目前仅用到了测试数据库

     

    web_site包含不同环境的web站点信息,包括web url,帐号,密码,验证码(目前只用到了url

     

    browser.conf提供浏览器类型配置,即需要进行测试的浏览器

     

    ftp.conf: 提供ftp站点配置信息,包括host,port,用户,密码

     

     

    log.conf包含日志配置信息,具体如下:

    web自动化 <wbr>基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

     

    mail.conf包含邮件发送配置信息,如下,

    web自动化 <wbr>基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

    注:不同类型的邮箱(发件人邮箱),需要修改配置文件为对应邮件服务器的host和端口

    smtp.163.com:25

    smtp.qq.com:465

     

    report.conf包含测试报告文件配置信息,如下

    web自动化 <wbr>基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

     

    runmodeconfig.conf包含运行模式配置信息

    web自动化 <wbr>基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

     

    screenshot.conf:提供截图配置信息

     web自动化 <wbr>基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

     

    test_env_swith: 提供环境切换

    web自动化 <wbr>基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

     

    b)   publicpkg

    web自动化 <wbr>基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

    broserconf.py浏览器配置类

     

    database.py提供数据库初始化配置,封装数据库操作,增删改查等

     

    ftp.py实现ftp上传下载,封装ftp操作

     

    mail.py实现邮件发送

     

    runmode.py运行模式配置类

     

    web.py浏览器配置类

     

    othertools.py: 工具类,实现其它功能,比如批量创建目录,转换php页面存储的数据,递归遍历指定目录下的特征文件

     

    globalvar.py主要提供全局变量,全局实例等

    注意:这里使用了__all__控制import * 能导入的名称(全局变量,全局实例等

     

    seleniumutil.py主要是封装了selenium的一些基础操作,及极少部分的py函数,支持自由扩展

     

     

    c)   web_auto_test

    web自动化 <wbr>基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

     

    说明:

    1、提供程序入口,测试计划,测试用例,测试步骤,测试报告类

    2、因时间仓促及其他原因等,对象定义、设计上或多或少存在一些不合理的地方

     

    7、  页面元素管理

    web自动化 <wbr>基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

     

    8、  用例管理

    web自动化 <wbr>基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

    注:

    1、目前“操作”仅支持元素操作,执行函数

    2、时间关系,仅实现了小部分操作

    3、关于步骤断言的想法:这块可把断言看成是步骤,步骤失败则断言失败,用例也失败,否则成功

    4、用例依赖:用例之间最好互不依赖,如果是按计划执行,可考虑调整计划中的用例执行顺序,如果是按照单个用例的执行,可在runmode.conf配置文件中按顺序添加全局初始化用例

    5、我的感觉:ui自动化这块用例之间或多或少会存在依赖,因为元素的查找依赖页面,不同操作会打开不同的页面,如 果某个操作在某个页面失败了,没返回到另一个用例查找元素需要的页面,这会执行另一个页面的操作时是否也就意味着失败呢,除非每个用例之间做到了互不依 赖?时间关系,没来得及拿本框架去做更多实验,这块待研究

     

    9、  测试计划管理

    web自动化 <wbr>基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

     

     

    10、运行结果

    web自动化 <wbr>基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架


    web自动化 <wbr>基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

     web自动化 <wbr>基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

    11、源码下载

    下载地址: 暂不打算开源,如果开源,仅在QQ群(群号:7156436)内分享

     

    下载后解压,用pycharm导入项目即可

     

    12、说明

    1、时间有限,精力有限,暂且就到这吧,有需要的可以自己扩展、修改框架。

    2PHP页面非本人编写,部分代码实现设计受其约束

    pdf版本下载:[授客]基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架.pdf

  • 相关阅读:
    小学生学python(六)类与函数
    Windows 10 搭建 Flask
    CentOS 8 上安装 python3
    6_7 selenium使用代理IP
    6_6 模拟浏览器的前进后退&窗口句柄切换
    6_5 selenium操作cookie
    6_4 行为链
    6_3 selenium操作表单元素
    6_2 selenium定位元素的方法
    6_1 selenium 安装与 chromedriver安装
  • 原文地址:https://www.cnblogs.com/shouke/p/10157651.html
Copyright © 2011-2022 走看看