zoukankan      html  css  js  c++  java
  • AutoMagic自动化测试平台简介

    PS:给想做自动化平台同学一点思路。

      AutoMagic 是一个基于WebUI的自动化管理平台。为什么叫AutoMagic呢?因为自动化(Automation)在执行起来的时候是一个很神奇的事情,它可以无人值守的模拟人的操作,就像魔术(Magic)一样。 所以我给她取名叫AutoMagic。

        AutoMagic从其工作分工应该分两部分:

      Web管理平台,它是基于Python Django框架+Mysql开发,主要用来管理自动化测试用例和设计自动化测试场景、存放界面元素标识,通过界面录入存放在数据库中进行管理,它是一个纯粹基于Selenium关键字自动化原件管理平台。

      客户端执行脚本(seleniumkeyword ),AutoMagic的执行效果展示主要靠它来体现,它的执行依附于web平台存储的用例和场景数据,seleniumkeyword可以不需要部署在服务器端,只要它能够连接到服务器端的数据库,部署在任何平台都可以执行。(这样也方便我们做分布式执行测试用例)

    安装运行环境

    在安装python、selenium、 mysqldb 的环境下运行,其它python依赖包根据关键词插件要求进行安装

    目录脚本说明

    TestSuite.py 测试用例执行脚本引擎是 ,它可以通过参数实现不同的执行方式

    -t [taskid] 指定执行的AutoMagic任务

    -u [userid] 指定执行脚本的用户

    -r [runid] 执行测试用例脚本要同步的TestRailRunid,它只有在执行 -t 参数时才会生效。

    -c [caseid] 指定要执行的单个用例的编号

    -p [projectid] 指定要执行的项目id,会依次执行项目中所有模块和用例状态是启用的所有用例

    -b [browser] 指定执行用例过程所使用浏览器,默认使用chrome浏览器,也可在执行case过程中通过openbrowser关键字重置

    Exp:

    python TestSuite.py -t 1 -u tsbc -r 1433 -b chrome

    Base.py 是我们关键字维护脚本,class Action中重定义了python selenium的一些方法,其它部分均为自定义关键字。

    自定义关键字示例:

    @Action.add_action('InputText')
    def action_InputText(action_object, step_desc, value, loc):
        """
        文本框输入内容
        :param action_object:
        :param step_desc:
        :param value: text
        :param loc:
        :return:
        """
        print loc, value
        action_object.send_keys(loc, value)

    AddCase.py 同步用例到TestRail到脚本

    -t [taskid] 指定执行同步的AutoMagic任务

    -u [userid] 指定执行脚本的用户

    -s [sctionid] 执行同步case到TestRail的那个用例集(section_id代表所在用例集)

    HTMLTestRunner.py 生成报告的脚本文件

    RestApiUtil.py、RestApiUtil.py 是发包MW模拟安全事件和发送pcap发包接口

    testrail.py TestRail的接口API

    result目录为报告接口目录

    data目录执行上传附件关键字时,附件存放目录

    nwjs-sdk-v0.19.3-win-x64 是node webkit应用chromedriver驱动

    目录结构:

    生成测试报告效果(Fail截图版本):

    生成测试报告效果(Case视频回放版本):视频回放报告生成当前只支持在Linux环境下运行

     

  • 相关阅读:
    python3 TypeError: a bytes-like object is required, not 'str'
    Centos 安装Python Scrapy PhantomJS
    Linux alias
    Vim vimrc配置
    Windows下 Python Selenium PhantomJS 抓取网页并截图
    Linux sort
    Linux RSync 搭建
    SSH隧道 访问内网机
    笔记《鸟哥的Linux私房菜》7 Linux档案与目录管理
    Tornado 错误 "Global name 'memoryview' is not defined"
  • 原文地址:https://www.cnblogs.com/tsbc/p/6244268.html
Copyright © 2011-2022 走看看