AutoMagic设计思路简介及新增自定义关键字实例

article/2025/9/18 5:36:29

目录

    简介

    AutoMagic介绍

    SeleniumKey介绍

    自定义关键字


简介

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

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

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

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


AutoMigc简介

自动化测试管理平台,可以进行用户、产品、项目、模块、测试用例、测试元素、测试关键字、测试报告的管理等。

平台结构设计


用例关系


平台页面展示

用例执行log展示


Seleniumkeyword介绍

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

安装运行环境

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

目录脚本说明

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

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

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

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

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

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

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

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

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

Exp:

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

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

自定义关键字示例:

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 的应用


关键字创建分为两部分:

  • automagic平台关键字

  • seleniumkeyword中的关键字 两者是一一对应的,界面添加关键字名称和描述,后台写关键字实现方法,缺一不可。

平台已经内置的一些关键字写在 Base.py中。

前台可以使用该sql文件进行导入 autoplat_keyword.sql

自定义的关键字 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, valueaction_object.send_keys(loc, value)


github地址: https://github.com/radiateboy/automagic


作者: Ray

博客地址:http://www.cnblogs.com/tsbc/

作者Email: tsbc@vip.qq.com

声明:本文转载,著作权归作者所有。


http://chatgpt.dhexx.cn/article/xaviEXj9.shtml

相关文章

AutoMagic-开源自动化平台的容器化构建

github上看到AutoMagic自动化平台开源了,一时手痒,就试着搭了一套环境,现在把思路和大家说一说。 AutoMagic从其工作分工分两部分: 1:Web端管理平台 管理平台基于Python Django框架Mysql开发,主要用来管理自…

Automagic Premium 安卓上的自动化神器

每当我使用手机时,就对各种App的签到领奖非常反感,如果不签好像吃了亏,签一次花的时间自己也觉得不值。这时候我就在想,如果有一个App,能够自动帮我完成这种每天重复执行的任务就好了。之前找到一个叫uiautomator2的py…

[重磅消息]AutoMagic自动化测试平台开源

作者介绍: 网名: Ray 介绍:笑起来像个孩子,冷起来是个迷。 博客:http://www.cnblogs.com/tsbc/ 2018年3月29日,Ray跟我说准备把AutoMagic自动化测试管理平台开源了!!! 这是个好消息&…

AutoMagic使用说明

简介 自动化测试管理平台,可以进行用户、产品、项目、模块、测试用例、测试元素、测试关键字、测试报告的管理等。 Github地址:https://github.com/radiateboy/automagic/ 用户和产品管理 本平台是自动化管理平台,整个平台结构是 用户>产品…

AutoMagic使用说明以及图文操作步骤

一、简介 自动化测试管理平台,可以进行用户、产品、项目、模块、测试用例、测试元素、测试关键字、测试报告的管理等。 二、平台结构设计 三、用例关系 四、用户和产品管理 本平台是自动化管理平台,整个平台结构是 用户>产品>项目>模块>…

automagic 使用_使用Automagic在Android设备上自动化任务

automagic 使用 Automation is always a good thing, and we’ve looked at various ways in which you can automate tasks on your Android. AutoMagic takes a different approach to things, making it possible to create flow charts that are used to trigger actions b…

AutoMagic-开源自动化平台构建思路

最近在github上看到AutoMagic自动化平台开源了,一时手痒,就试着搭了一套环境,现在把思路和大家说一说。 AutoMagic从其工作分工分两部分: 1:Web端管理平台 管理平台基于Python Django框架Mysql开发,主要用来…

VMware中卸载Ubuntu

1、右键>>管理>>从磁盘中删除 2、点击“是”,磁盘路径安装Ubuntu的文件一并删除

Ubuntu系统的卸载与安装

Ubuntu系统的卸载与安装 卸载 如果要重装Ubuntu系统,在重装之前需要先把原来系统进行删除,并且删除引导向 具体步骤参考:https://blog.csdn.net/Spacegene/article/details/86659349 用管理员权限打开记事本:https://zhidao.bai…

Ubuntu 22.04 双系统安装和卸载

前言: 一,为什么选择Ubuntu系统? 1.免费且提供长期系统维护支持;2.是主流的Linux服务器发行版; 3.强大的Shell;4.简洁好看的图形化UI界面;5.丰富的软件支持; 二,如何联系我&…

3种方法来卸载Ubuntu软件

1 使用Synaptic软件包管理器进行卸载 1 打开软件包管理器。Ubuntu自带了一个GUI(Graphical User Interface,图形化用户界面)软件包管理器,它可以让你在一个可视化窗口中卸载程序。如果你不习惯使用命令行,这一工具将非…

在Win10和Ubuntu双系统下卸载Ubuntu系统的方法

一、清除Ubuntu系统 删除Ubuntu系统使用的几个分区(包括EFI分区),注意不要删除Windows的EFI分区;如果不确定Ubuntu相关分区,可以通过[WindowsX]选择磁盘管理,通过分区大小进行对比判断。 二、删除开启引导启动项 删除了Ubuntu系…

电脑双系统完美卸载Ubuntu

【由于自己经常在Ubuntu下跑各种包,经常遇到依赖项不兼容问题,所以有时需要卸载重装Ubnutu系统,故写下此文以备查阅;本文是在多次卸载经验后摸索出来的方法,可以在不影响Windows系统下成功的完成Ubuntu系统的卸载】 1…

Windows+Ubuntu双系统下卸载Ubuntu

记录一下自己卸载Ubuntu的步骤,防止以后再卸载重新找教程。 1.删除Ubuntu的分区 步骤1:打开 “ 我的电脑 ”,选择 “ 管理 ”,点击 “ 磁盘管理 ”。 步骤2:确定Ubuntu系统所在的磁盘分区(我的是磁盘1的磁…

卸载ubuntu系统简单实用

删除EFI分区部分主要参考博客https://blog.csdn.net/mtllyb/article/details/78635757 因为我最近需要更新ubuntu系统,参考了好多教程,感觉还是很麻烦的,我就是直接删除了ubuntu的系统分区,因为我对ubuntu系统的具体结构也不是很了解,不知道会不会有什么隐患.不过我更新ubuntu…

UBUNTU卸载重装

卸载 (该部分修改自(1条消息) 在win10Ubuntu双系统下,完美卸载Ubuntu_guikunchen的博客-CSDN博客_卸载ubuntu) 打开磁盘管理,直接右键将ubuntu相关分区删除掉,删除掉之后,会标示为未分配。(上述…

win10+Ubuntu双系统下,完美卸载Ubuntu

1 背景 win10与Ubuntu16.04均为UEFI分区。 2 清除ubuntu系统 使用软件:diskgenius   删除Ubuntu系统使用的几个分区(包括EFI分区),注意不要删除Windows的EFI分区。 若不确定Ubuntu相关分区,可通过【WindowsX】 选择…

win11卸载Ubuntu 20.04 WSL

Ubuntu 20.04 LTS可以通过Microsoft Store进行安装,但是不能通过Microsoft Store卸载。现列举两种卸载方式。 通过应用与功能卸载 1、查找到安装的ubuntu 2、卸载 通过Windows终端卸载 1、查看当前环境安装的wsl wsl --list2、注销(卸载&#xf…

在win10+Ubuntu双系统下,完美卸载Ubuntu

背景 机器:惠普 暗影精灵3 win10与Ubuntu16.04均为UEFI分区 清除ubuntu系统 使用软件:diskgenius   删除Ubuntu系统使用的几个分区(包括EFI分区),注意不要删除Windows的EFI分区 若不确定Ubuntu相关分区&#xff0…

windows下Ubuntu卸载

简单记录下Ubuntu卸载步骤 清除/home、/ 等分区 直接打开磁盘管理,选择要删除的分区点击删除卷即可 清除EFI分区 winr 输入diskpart 输入‘list disk’查看磁盘信息 我ubuntu装在磁盘1上,所以我输入‘select disk 1 ’选择磁盘一 输入list partti…