暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

开源自动化测试平台-automatic

805



介绍


开发者不详,只能说适合我们测试人员/测试开发进行学习、或者在企业中需要使用自动化技术没有编码能力的测试同学们进行使用、或者想快速在公司中实现自动化测试落地且不想进行自己编写自动化测试框架及脚本的测试工程师们可以进行下载并使用、搭建起来比较简单、上手也比较简单。


网上说这个是一个名为 Sign upradiateboy 进行开发的、小编也看了下这个项目就完全是一个个人项目,额为什么怎么说呢?在下面再给各位解释。本教程已经是小编进行写的非常详细了、看到懂文字就能安装哦!!!



这是他的公众号





平台搭建


环境配置


  1. Python 3.8+

  2. Django 3.0.5+


安装依赖


进行解压后进入 D:\automagic-master\requirements



打开cmd 进行使用


    pip3 install -r requirements/base.txt


    pip3 install -r requirements/seleniumreq.txt




    进行下载对应的依赖包、下载完后进行进入 D:\automagic-master\automatic\settings 目录进行打开 common.py 文件


    找到 DATABASES  变量 进行修改mysql的对应的配置

      DATABASES = {
      'default': {
      'ENGINE': 'django.db.backends.mysql',# django的mysql驱动无需改动
      'NAME': 'AutoTest',# 数据库名称
      'USER': 'root',#数据库用户名称
      'PASSWORD': '',#数据库密码
      'HOST': '127.0.0.1',#数据库的连接地址
      'PORT': '3306',#数据库端口号
      }
      }


      以上配置需要完全配置正确否则项目运行时会出现报错。。。



      数据库初始化


      1.在项目的根目录下 D:\automagic-master 运行一下名为 init_database.py 的文件



        python init_database.py



        如果报错了就打开该文件进行修改数据库配置



        2.进行cd  automagic 进入 D:\automagic-master\automatic目录进行将django orm模型进行数据迁移


          # 依次运行以下命令
          python3 manage.py makemigrations
          python3 manage.py migrate
          python3 manage.py loaddata initial_data.json


          如果在运行第一条时出现错误那么就得进行修改D:\automagic-master\automatic\settings\common.py DATABASES 数据库配置


          如果还出现错误可以进行在公众号找到我的微信号进行专业解答!!!与协助进行搭建!!!



          创建管理员用户


            python3 manage.py createsuperuser

            按照提示进行输入要创建的用户名、邮箱、密码(8位以上,字母、字符、数字的组合)


            好了到了这一步,你则已经万事俱备了、只差开始运行、进行体验一翻了!!!



            启动django服务

              python3 manage.py runserver 0.0.0.0:8000






              出现没有报错的情况那么就可以使用本机的地址进行访问了




              使用http://127.0.0.1:8000 即可进入网站


              可以使用你创建的超级管理员进行登录、或者进行自行注册账号进入系统


              噢不我知道你想说 注册点不开页面、没错是本身就没有这个页面和功能、等着小编有时间进行写个页面吧!!!



              登录之后就会进入这个页面




              emm ... 什么页面看起来有点不符合你的要求???要不你自己写个给我看看???


              小编认为作为一个全栈开发对于审美这方面其实不需要这么高的要求拉!!!


              只要能正常使用功能强大且齐全就可以了。。。



              小编用了一下就开始给你写这篇文章的,而且还是在工作中在忙碌的书写哦!什么发现小编在摸鱼。。。

              emm 也不是啦!!! 其实是现在开发在开发一个新的功能我正好有空才有时间进行给大家带来福利的哦!!

              我们先来使用一下这个开源平台吧!!


              使用

              1.首先需要创建一个产品

              2.创建之后点击进入创建项目

              3.进入项目中创建模块


              4.进入用户管理里面进行管理项目

              5.再进入任务管理里面创建一个测试任务

              切换项目

              6.进行进入用例管理创建测试用例


              7.进行运行用例 默认启动的chrome 需要本地安装浏览器驱动

              如果需要修改其他的浏览器的话进行修改源码 D:\automagic-master\seleniumkeyword\TestSuite.py  185行

              如果运行错误一定是驱动出了问题、版本不对应浏览器版本、环境变量没有配置、浏览器驱动位置放错了

              正常运行起来了



              整体的一个测试脚本体验一下


              运行完后可以在这里查看调试信息


              测试报告???额这就要吐槽一下了、平台连报告都没有嘛???

              欸这别急测试报告它给我们放到了项目的目录中了

              D:\automagic-master\seleniumkeyword\result

              为了让没有Django基础的同学更友好的使用这个平台我将项目目录一起介绍一遍


              │  admin.py  django 的admin后台文件可以用于创建后台管理平台

              http://127.0.0.1:8000/admin/ 浏览器输入后就可以进入了 就是一些配置信息

                from django.contrib import admin
                # Register your models here.
                from automatic.element import models
                class ElementAdmin(admin.ModelAdmin):
                list_display = (id, 'descr', 'projectid', 'moduleid', 'locmode', 'location', 'createat', 'createtime', 'updateat', 'updatetime')
                search_fields = ('keyword', 'kwdescr')
                admin.site.register(models.Element, ElementAdmin)


                python django 自带的admin后台


                │  apps.py  app配置信息 就是一个app的名称变量

                │  forms.py  模型表单验证

                │  models.py 数据库orm模型

                │  tests.py 单元测试

                │  urls.py  django 路由配置

                │  views.py  视图文件

                │  __init__.py

                ├─migrations  数据迁移时会生成一个.py文件在这里存放可以进行删除里面的文件

                │  │  0001_initial.py

                │  │  __init__.py


                其他与其相似的目录都称之为app


                django 框架的核心配置 都在settings文件中、这里开发者把名字改了


                这个二个为静态资源文件存放的是html、js、css、图片等文件由django进行渲染前端就能展示


                这几个为django框架的重要文件 wsgi为django启动的wsgi服务

                urls为路由配置

                其他与wsgi一样是启动文件


                这个UI自动化的核心模块





                │  AddCase.py

                │  Base.py

                │  CustomKeyword.py

                │  HTMLTestRunner.py

                │  mwupgrade.py

                │  popautomagic.py

                │  README.MD

                │  RestApiUtil.py

                │  settings.py

                │  SimulatorUtil.py

                │  testrail.py

                │  testraildemo.py

                │  TestSuite.py

                │  __init__.py

                ├─data 存放下载的数据文件及文件存放目录

                │      readme.md

                ├─result  存放测试报告的目录


                │  │

                │  ├─2021-03-02

                │  │      2021-03-02-18_48_43_result.html

                │  │      2021-03-02-18_50_19_result.html


                ├─sendlog  日志模块的实现

                │  │  guitest.py

                │  │  mysetup.py

                │  │  randip.py

                │  │  randomip.py

                │  │  README.md

                │  │  send.config

                │  │  sendingdata.py

                │  │  syslogc.py

                │  │  tcpsendingsyslog.py

                │  │  tcpsendtest.py

                │  │  udpsendingsyslog.py

                │  │  weighted_choice.py

                │  │  __init__.py

                │  AddCase.py  添加测试用例逻辑实现

                │  Base.py  测试的基类主要对 selenium API 进行二次封装

                │  CustomKeyword.py  关键字驱动

                │  HTMLTestRunner.py 测试报告模块

                │  mwupgrade.py  没有什么用的,语法还是python2的 这是一个demo

                │  popautomagic.py demo

                │  README.MD

                │  RestApiUtil.py 用于接口测试模块

                │  settings.py 配置文件

                │  SimulatorUtil.py

                │  testrail.py

                │  testraildemo.py

                │  TestSuite.py 用例执行主要靠这个文件

                │  __init__.py




                有了测试平台我们可以在不需要进行编写代码的情况下随时开展自动化测试

                好了教程就到这了、如果想要更多使用教程、后续进行更新。。。


                小编也准备写一个测试平台、如果有兴趣的可以加入开发中来哦!!!我们需要你会前端或者后端或者自动化测试框架的编写能力或者有一定的python基础哦!!!是小编带队进行开发哦!!!具体的功能和技术架构会在之后发布!!!


                如果对你有帮助请帮忙关注一下!!!并进行分享给身边的人好东西一起分享嘛!!!


                在后台进行选择自动化测试平台源码可以获得源码下载地址哦!!!


                以下是该项目的脚本运行的脚本实现可以看看

                Seleniumkeyword介绍



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


                这个执行脚本就在项目里了、可以去学习下如何实现的之后可以自己自行开发属于自己的开发平台及测试工具哦




                安装运行环境


                在安装python、selenium、 mysqldb 、chromedriver 的环境下运行


                目录脚本说明


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


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

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

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

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

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

                -b [ chrome | chrome-headless | firefox | firefox-headless | ie | safari | nw ] 指定执行用例过程所使用浏览器,默认使用chrome浏览器

                -v [1] 指定是否启用录屏功能(仅支持Linux系统,需要安装recordmydesktop录屏软件)

                -d [1] 钉钉消息接口,启用后可以将测试结果发送的钉钉群中


                Exp:


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


                CustomKeyword.py 是我们自定义关键字维护脚本。


                自定义关键字示例:


                  @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目录:执行上传附件关键字,附件存放目录


                  sendlog目录:通过tcp、udp 514 发送Syslog 的应用




                  文章转载自测试前沿布道者,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                  评论