首页 > 其他分享 >AutoMagic设计思路简介及新增自定义关键字实例

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

时间:2023-05-16 19:02:40浏览次数:35  
标签:自定义 关键字 py 用例 执行 AutoMagic


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

目录

    简介

    AutoMagic介绍

    SeleniumKey介绍

    自定义关键字

简介

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

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

  1. Web管理平台,它是基于Python Django框架+Mysql开发,主要用来管理自动化测试用例和设计自动化测试场景、存放界面元素标识,通过界面录入存放在数据库中进行管理,它是一个纯粹基于Selenium关键字自动化原件管理平台。
  2. 客户端执行脚本(seleniumkeyword ),AutoMagic的执行效果展示主要靠它来体现,它的执行依附于web平台存储的用例和场景数据,seleniumkeyword可以不需要部署在服务器端,只要它能够连接到服务器端的数据库,部署在任何平台都可以执行。(这样也方便我们做分布式执行测试用例)

AutoMigc简介

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

平台结构设计

AutoMagic设计思路简介及新增自定义关键字实例_大数据_02

用例关系

AutoMagic设计思路简介及新增自定义关键字实例_数据库_03

平台页面展示

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

用例执行log展示

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

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 是我们自定义关键字维护脚本。

自定义关键字示例:

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

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, value
	action_object.send_keys(loc, value)

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

作者: Ray

 

标签:自定义,关键字,py,用例,执行,AutoMagic
From: https://blog.51cto.com/deeptest/6286460

相关文章

  • [重磅消息]AutoMagic自动化测试平台开源
    作者介绍:网名:Ray 2018年3月29日,Ray跟我说准备把AutoMagic自动化测试管理平台开源了!!!这是个好消息,因为AutoMagic在其所在的企业中实践应用,沉淀了自动化测试设计的基础理念的落地,对于平台很多细节我和Ray也曾反复讨论打磨。因此对于要从事自动化测试平台开发的测试人员来讲有很多值......
  • Java:static关键字
    (一)static关键字的基本用法1.static关键字基本概念我们可以一句话来概括:方便在没有创建对象的情况下来进行调用。也就是说:被static关键字修饰的不需要创建对象去调用,直接根据类名就可以去访问。2.static关键字修饰类Java里面static一般用来修饰成员变量或函数。但有一种特殊用......
  • Newtonsoft.JSON 自定义JsonConverter
    引用:https://www.cjavapy.com/article/2513/https://www.cnblogs.com/weihanli/p/11080531.htmlhttps://www.cnblogs.com/Lulus/p/16968656.htmlhttps://www.cjavapy.com/article/2513/https://www.cnblogs.com/net-sky/p/16563025.htmlpublicclassDecimalConver......
  • mybatis自定义类型转换器
    Mybatis类型转换介绍[url]http://haohaoxuexi.iteye.com/blog/1847854[/url]mybatis提供了对自定义的类型转换器(typeHandler)的支持,因此我们可以自己编写类型转换器来实现这一自动转换的功能。[b][color=red]注意:1.使用的时候,resultMap也select的SQL......
  • 16、MapReduce的基本用法示例-自定义序列化、排序、分区、分组和topN
    文章目录Hadoop系列文章目录一、pom.xml与测试数据说明、日志配置1、pom.xml2、数据字段说明3、日志配置二、序列化1、需求2、实现说明3、实现1)、bean2)、Mapper3)、Reducer4)、Driver4、验证三、排序1、需求2、实现说明3、实现1)、bean2)、Mapper3)、Reducer4)、Driver4、验证四、分区1......
  • 第十三篇——通达信指标公式绘图函数简介——自定义指标颜色、线型等(从零起步编写通达
    内容提要:本文简单介绍了通达信指标公式绘图函数的三种类型——画线函数、标记函数、修饰函数。 在之前的8篇文章中,介绍了通达信指标公式编写常用的18个函数。开始讲的几个函数比较简单,到后面一些函数理解起来都比较困难,更别说使用了,大家在看文章的时候可能也是云里雾里。学......
  • AOP —— 切面类 —— 通用配置和自定义配置
    //通用配置/*@Pointcut("execution(**..*.*(..))")第一个*表示匹配所有返回值类型,包括void第二个*表示所有层级下的包第三个*表示当前包下的所有类最后一个*表示匹配任意方法名..表示0到多个参数**表示1或多个文件......
  • 滚动条样式自定义
    ::-webkit-scrollbar-track-piece{  width:1px;  height:1px;  background-color:#0c1e26;}::-webkit-scrollbar{  width:1px;  height:1px;  background-color:#16d0ff;}::-webkit-scrollbar-thumb{  width:1px;  heig......
  • 【C++新特性】nullptr关键字
    原文链接:http://blog.csdn.net/xiejingfa/article/details/50478512 熟悉C++的童鞋都知道,为了避免“野指针”(即指针在首次使用之前没有进行初始化)的出现,我们声明一个指针后最好马上对其进行初始化操作。如果暂时不明确该指针指向哪个变量,则需要赋予NULL值。除了NULL之外,C++11新......
  • FCM聚类,代码对数据先进行归一化然后聚类 可自定义聚类个数,求
    FCM聚类,代码对数据先进行归一化然后聚类可自定义聚类个数,求得每类的具体数据matlab代码,备注清楚,更改为自己的数据和要求即可ID:4730705546827267......