一种集成全终端分布式代理自动化测试方法技术

技术编号:36126462 阅读:13 留言:0更新日期:2022-12-28 14:33
本发明专利技术提出了一种集成全终端分布式代理自动化测试方法,涉及软件自动化测试领域,该测试方法包括以下步骤:S1:在代理服务中集成具有不同平台自动化操作功能的多个自动操作库并对这些自动化操作库进行二次封装成独立的功能函数;S2:通过FaskAp i框架以http接口协议将封装好的功能函数暴露出去;S3:在自动化脚本中调用暴露的自动化操作接口进行代理服务请求;S4:代理服务收到请求并且执行完成后,返回对应的处理结果,对其自动化操作的结果进行断言。实现了在PC和移动端均支持自动化测试。测试。测试。

【技术实现步骤摘要】
一种集成全终端分布式代理自动化测试方法


[0001]本专利技术涉及软件自动化测试领域,具体涉及一种集成全终端分布式代理自动化测试方法。

技术介绍

[0002]随着时代发展,云直播发展崛起,云直播产品涉及PC客户端(windows/mac)、移动端(android/ios),云直播又存在着不同角色类别,如讲师、嘉宾、助教、观众,且在云直播中需要多端侧进行直播场景交互测试,而业界传统中目前没有支持多平台端侧的自动化方案。
[0003]因此,本专利技术提出了一种集成全终端分布式代理自动化测试方法。

技术实现思路

[0004]针对现有技术的不足,本专利技术提出一种集成全终端分布式代理自动化测试方法,在PC端和移动端均支持自动化测试。
[0005]本专利技术的技术方案是这样实现的:
[0006]一种集成全终端分布式代理自动化测试方法,方法步骤如下:
[0007]S1:在代理服务中集成具有不同平台自动化操作功能的多个自动操作库并对这些自动化操作库进行二次封装成独立的功能函数;
[0008]S2:通过FaskApi框架以http接口协议将封装好的功能函数暴露出去;
[0009]S3:在自动化脚本中调用暴露的自动化操作接口进行代理服务请求;
[0010]S4:代理服务收到请求并且执行完成后,返回对应的处理结果,对其自动化操作的结果进行断言。
[0011]优选的,所述S1中,自动化操作库包括selenium、uiautomator2、wda、pyautogui、opencv和ocr。
[0012]优选的,所述S2中,通过FaskApi框架构建多个独立工作的API,将所有自动化操作库的功能函数以RestfulApi的形态开放出去。
[0013]优选的,所述S3中,编写自动化脚本,通过异步或同步请求接口的方式调用具体的自动化操作事件。
[0014]优选的,所述S4中,代理服务收到请求后,执行对应的自动化操作事件,并对每一个请求返回的数据进行断言,判断自动化操作与结果。。
[0015]与现有技术相比,本专利技术具有以下优点。
[0016]采用上述方法,在代理服务中集成具有不同平台自动化操作功能的多个自动操作库并对这些自动化操作库进行二次封装成独立的功能函数;通过FaskApi框架以http接口协议将封装好的功能函数暴露出去;在自动化脚本中调用暴露的自动化操作接口进行代理服务请求;代理服务收到请求并且执行完成后,返回对应的处理结果,对其自动化操作的结果进行断言,以达到自动化操作与结果的判断。对于不同平台端均可通过调用暴露出来的
具有多平台操作功能的自动化操作接口实现交互,进而在PC和移动端均支持自动化测试。
附图说明
[0017]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0018]图1为本专利技术一种集成全终端分布式代理自动化测试方法的流程示意图。
[0019]图2为实施例中的自动化引擎的结构框图。
具体实施方式
[0020]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0021]在本专利技术的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”、“第三”、“第四”等仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0022]在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利技术中的具体含义。
[0023]本实施例提出一种集成全终端分布式代理自动化测试方法,如图1所示,方法步骤如下:
[0024]S1:在代理服务中集成具有不同平台自动化操作功能的多个自动操作库并对这些自动化操作库进行二次封装成独立的功能函数;
[0025]S2:通过FaskApi框架以http接口协议将封装好的功能函数暴露出去;
[0026]S3:在自动化脚本中调用暴露的自动化操作接口进行代理服务请求;
[0027]S4:代理服务收到请求并且执行完成后,返回对应的处理结果,对其自动化操作的结果进行断言。
[0028]在本实施例中,如图1和图2所示,S1中,集成selenium、uiautomator2、wda、pyautogui、opencv、ocr的多个自动化操作库,并对这些自动化操作库进行二次封装成独立的功能函数,形成自动化引擎,对应的,selenium、uiautomator2、wda、pyautogui、opencv、ocr等为形成自动化引擎的内部对象。
[0029]在本实施例中,代理服务通过FastApi构建一个API框架,引入多个GUI自动化测试库并将多个GUI自动化测试库的自动化接口能力进行自定义二次封装;将自定义二次封装
的功能函数,用FastApi框架以接口的形式暴露出去。在自定义二次封装中,将windows、mac、android、ios底层自动化驱动封装为统一通用接口协议"Restful Api"后以接口的形式暴露出去。而多个GUI自动化测试库包括selenium、uiautomator2、wda、pyautogui、opencv,其对应windows、mac、android、ios底层自动化驱动以及图像识别等自动化驱动,并将多个自动化驱动进行自定义二次封装,将自定义二次封装功能函数通过接口的方式暴露出去。
[0030]在本实施例中,具体包装过程示例:将代理服务中暴露出来的一个Android系统的点击事件接口进行包装,包装步骤如下:
[0031](1)根据API文档(例如接口地址“/api/android/click”)
[0032](2)通过requests库上述接口进行封装程一个可直接调用的函数,例如封装函数名为click(tag,type,element,index=1)
[0033]参数说明:
[0034]tag:用于区分设备<andr本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种集成全终端分布式代理自动化测试方法,其特征在于:方法包括步骤如下:S1:在代理服务中集成具有不同平台自动化操作功能的多个自动操作库并对这些自动化操作库进行二次封装成独立的功能函数;S2:通过FaskApi框架以http接口协议将封装好的功能函数暴露出去;S3:在自动化脚本中调用暴露的自动化操作接口进行代理服务请求;S4:代理服务收到请求并且执行完成后,返回对应的处理结果,对其自动化操作的结果进行断言。2.根据权利要求1所述的一种集成全终端分布式代理自动化测试方法,其特征在于:所述步骤S1中,自动化操作库包括selenium、uiautomator2、wda、pyautogui、o...

【专利技术属性】
技术研发人员:杜晗白剑黄海亮梁瑛玮张海林鲁和平李长杰陈焕然李乐王浩洪行健冷冬丁一
申请(专利权)人:易方信息科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1