CN115118687B - 消息推送方法、装置、存储介质及计算机设备 - Google Patents

消息推送方法、装置、存储介质及计算机设备 Download PDF

Info

Publication number
CN115118687B
CN115118687B CN202210737404.3A CN202210737404A CN115118687B CN 115118687 B CN115118687 B CN 115118687B CN 202210737404 A CN202210737404 A CN 202210737404A CN 115118687 B CN115118687 B CN 115118687B
Authority
CN
China
Prior art keywords
message
pushed
interface
terminal equipment
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210737404.3A
Other languages
English (en)
Other versions
CN115118687A (zh
Inventor
卞晓瑜
肖鸣林
杜文汇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yida Technology Shanghai Co ltd
Original Assignee
Yida Technology Shanghai Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yida Technology Shanghai Co ltd filed Critical Yida Technology Shanghai Co ltd
Priority to CN202210737404.3A priority Critical patent/CN115118687B/zh
Publication of CN115118687A publication Critical patent/CN115118687A/zh
Application granted granted Critical
Publication of CN115118687B publication Critical patent/CN115118687B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4826End-user interface for program selection using recommendation lists, e.g. of programs or channels sorted out according to their score
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供了一种消息推送方法、装置、存储介质及计算机设备,可以基于应用界面自动测试函数库,在终端设备上模拟用户的操作行为,进而对安装在终端设备上的聊天应用进行UI自动化操作。由于本申请是通过模拟用户的操作行为来实现消息批量推送的,因此,不会受到聊天应用的接口发送次数限制的影响,从而可实现发送次数不受限。同时,由于本申请是基于应用界面自动测试函数库来实现的,不涉及AI范畴,因此可简化开发过程。由此可见,本申请可同时实现发送次数不受限和简便的开发过程。

Description

消息推送方法、装置、存储介质及计算机设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种消息推送方法、装置、存储介质及计算机设备。
背景技术
随着直播行业的快速发展,越来越多的机构需要建立私域运营。 以教育机构为例,一些教育机构已经采用线上直播授课的模式来进行授课,在授课之前,需要在办公用聊天应用中,对多个群聊和多个个人用户群发通知消息,以预告直播课程的开课时间、课程主题及课程时间等信息。又如销售机构,随着营销方式的更新迭代,已有一些销售机构选择在办公用聊天应用上群发广告消息,以达到维护客户及广告营销的目的。为提高消息群发效率,有必要提供一种可以进行批量消息推送的方案,以自动群发消息。
目前,办公用聊天应用多为企业微信。在企业微信中,受限于企业微信的窗口安全性策略,开发人员无法直接解析企业微信底层的定位元素。因此,现有技术中,企业微信消息的自动群发一般是通过基于计算机视觉(Computer Vision,以下简称为CV)或者调用企业微信的官方接口来实现的。
其中,基于CV的方式是指在计算机设备上安装电脑版企业微信,通过CV识别定位和OCR(Optical Character Recognition,光学字符识别)文本识别的方式来在电脑版企业微信中实现批量消息推送。然而,由于CV属于AI(Artificial Intelligence,人工智能)范畴,因此无法保证实现100%的定位准确率和文本获取的正确率。同时,在开发消息推送软件程序时,开发过程繁琐,需要反复调试当前识别模块的准确度问题。
而调用企业微信的官方接口的方式是指通过调用企业微信官方开放的“企业群发接口”来添加消息群发任务,当消息群发任务执行时,企业微信将会自动向相关用户或群聊发送消息。然而,在调用接口时,企业微信并不能直接将消息推送至群聊或个人用户处,而需要首先经过成员确认。同时,每天只能向同一位个人用户或同一个群聊自动发送一条消息,超过接收上限的个人用户或群聊将无法在当天收到群发消息。也即,此种实现方式存在次数有限的问题。
由此可见,现有技术在实现批量消息推送时,无法同时实现发送次数不受限和简便的开发过程。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中无法同时实现发送次数不受限和简便开发过程的技术缺陷。
第一方面,本申请实施例提供了一种消息推送方法,该方法执行于配置有应用界面自动测试函数库的计算机设备,所述应用界面自动测试函数库包括用于在终端设备上模拟不同的用户操作行为的多个行为模拟函数。该方法包括:
获取待推送联系名称列表及待推送消息的数据属性;
依次将所述待推送联系名称列表中的每个待推送联系名称作为目标名称;
若未在聊天应用的目标聊天窗口界面内发送待推送消息,则在所述终端设备未显示所述聊天应用的消息列表界面时,根据所述终端设备的当前显示界面信息调用对应的行为模拟函数,以触发所述终端设备显示所述消息列表界面;所述目标聊天窗口界面为目标名称对应的聊天窗口界面;
若未在所述目标聊天窗口界面内发送所述待推送消息,则在所述终端设备显示所述消息列表界面时,根据联系窗口搜索控件的定位信息,调用用于在所述终端设备上模拟用户点击行为的点击模拟函数,以使所述终端设备响应于所述聊天窗口搜索控件的点击事件,并显示待搜索界面;
根据所述目标名称,调用用于在所述终端设备上模拟用户文本输入行为的文本输入函数,以在所述待搜索界面中输入所述目标名称,使得所述终端设备显示搜索结果界面;
根据所述搜索结果界面中结果显示控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述结果显示控件的点击事件,并显示所述目标聊天窗口界面;
根据所述待推送消息的数据属性调用对应的行为模拟函数,以使所述终端设备在所述目标聊天窗口界面内发送所述待推送消息,直至所述终端设备向所述待推送联系名称列表中的全部联系名称进行消息推送。
在其中一个实施例中,所述待推送消息的数据属性包括所述待推送消息的消息类型,以及所述计算机设备中用于存储消息生成素材的内容存储地址;所述消息生成素材用于生成所述待推送消息;
根据所述待推送消息的数据属性调用对应的行为模拟函数,以使所述终端设备在所述目标聊天窗口界面内发送所述待推送消息的步骤,包括:
若所述待推送消息的消息类型为多媒体消息,则从所述内容存储地址中读取作为所述消息生成素材的多媒体文件;
基于所述聊天应用在所述终端设备上的多媒体默认存储路径,向所述终端设备发送所述多媒体文件;
向所述终端设备发送刷新控制指令,所述刷新控制指令用于指示所述终端设备广播多媒体数据刷新消息;
根据所述目标聊天窗口界面中多媒体文件选择控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述多媒体文件选择控件的点击事件,并显示多媒体文件选择界面;
若所述多媒体文件选择界面包括至少一个多媒体文件展示控件,则基于所述多媒体文件选择界面中首个多媒体文件展示控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述首个多媒体文件展示控件的点击事件;
基于所述多媒体文件选择界面中第一确认发送控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述第一确认发送控件的点击事件,并在所述目标聊天窗口界面内发送所述待推送消息。
在其中一个实施例中,基于所述聊天应用在所述终端设备上的多媒体默认存储路径,向所述终端设备发送所述多媒体文件的步骤之前,包括:
向所述终端设备发送缓存清空指令,所述缓存清空指令用于指示所述终端设备清除所述多媒体默认存储路径下的全部多媒体文件。
在其中一个实施例中,根据所述待推送消息的数据属性调用对应的行为模拟函数,以使所述终端设备在所述目标聊天窗口界面内发送所述待推送消息的步骤,还包括:
若所述多媒体文件选择界面中不包括多媒体文件展示控件,则向所述终端设备发送图库启动指令,以指示所述终端设备启动图库应用;
在所述终端设备启动所述图库应用后,向所述终端设备发送图库关闭指令,以指示所述终端设备关闭所述图库应用;
在所述终端设备关闭所述图库应用后,进入根据所述目标聊天窗口界面中多媒体文件选择控件的定位信息,调用所述点击模拟函数的步骤。
在其中一个实施例中,所述待推送消息的数据属性包括所述待推送消息的消息类型,以及所述计算机设备中用于存储消息生成素材的内容存储地址;所述消息生成素材用于生成所述待推送消息;
根据所述待推送消息的数据属性调用对应的行为模拟函数,以使所述终端设备在所述目标聊天窗口界面内发送所述待推送消息的步骤,包括:
若所述待推送消息的消息类型为纯文本消息,则从所述内容存储地址中读取作为所述消息生成素材的消息文本;
根据所述消息文本及所述目标聊天窗口界面中消息文本输入控件的定位信息,调用所述文本输入函数,以在所述消息文本输入控件中输入所述消息文本;
基于所述目标聊天窗口界面中第二确认发送控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述第二确认发送控件的点击事件,并在所述目标聊天窗口界面内发送所述待推送消息。
在其中一个实施例中,根据所述搜索结果界面中结果显示控件的定位信息,调用所述点击模拟函数的步骤,包括:
根据所述搜索结果界面中每一结果显示控件的定位信息,调用用于获取文本的文本获取函数,以获取每一结果显示控件所显示的联系名称;
将联系名称为所述目标名称的结果显示控件作为目标结果显示控件;
根据所述目标结果显示控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述目标结果显示控件的点击事件,并显示所述目标聊天窗口界面。
在其中一个实施例中,获取待推送联系名称列表的步骤,包括:
获取待推送配置文件,并从所述待推送配置文件中提取各个待推送群聊名称及各个待推送用户标签;
将各个所述待推送群聊名称写入至所述待推送联系名称列表中;
依次将每个待推送用户标签作为目标标签;
根据所述终端设备的当前显示界面信息调用对应的行为模拟函数,以使所述终端设备显示所述聊天应用的目标用户标签界面;所述目标用户标签界面展示所述目标标签下全部用户的用户名称;
根据所述目标用户标签界面中每一用户名称显示控件的定位信息,调用用于获取文本的文本获取函数,以分别获取每一用户名称显示控件所显示的用户名称;
将各所述用户名称显示控件所显示的用户名称写入至所述待推送联系名称列表,直至获取全部待推送用户标签下的用户名称。
第二方面,本申请实施例提供了一种消息推送装置,该装置执行于配置有应用界面自动测试函数库的计算机设备,所述应用界面自动测试函数库包括用于在终端设备上模拟不同的用户操作行为的多个行为模拟函数。所述装置包括:
推送信息获取模块,用于获取待推送联系名称列表及待推送消息的数据属性;
目标名称确定模块,用于依次将所述待推送联系名称列表中的每个待推送联系名称作为目标名称;
消息列表界面跳转模块,用于在未在聊天应用的目标聊天窗口界面内发送待推送消息的情况下,当所述终端设备未显示所述聊天应用的消息列表界面时,根据所述终端设备的当前显示界面信息调用对应的行为模拟函数,以触发所述终端设备显示所述消息列表界面;所述目标聊天窗口界面为目标名称对应的聊天窗口界面;
搜索控件点击模块,用于在未在所述目标聊天窗口界面内发送所述待推送消息的情况下,当所述终端设备显示所述消息列表界面时,根据联系窗口搜索控件的定位信息,调用用于在所述终端设备上模拟用户点击行为的点击模拟函数,以使所述终端设备响应于所述聊天窗口搜索控件的点击事件,并显示待搜索界面;
搜索文本输入模块,用于根据所述目标名称,调用用于在所述终端设备上模拟用户文本输入行为的文本输入函数,以在所述待搜索界面中输入所述目标名称,使得所述终端设备显示搜索结果界面;
搜索结果选择模块,用于根据所述搜索结果界面中结果显示控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述结果显示控件的点击事件,并显示所述目标聊天窗口界面;
消息发送模块,用于根据所述待推送消息的数据属性调用对应的行为模拟函数,以使所述终端设备在所述目标聊天窗口界面内发送所述待推送消息,直至所述终端设备向所述待推送联系名称列表中的全部联系名称进行消息推送。
第三方面,本申请实施例提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例所述消息推送方法的步骤。
第四方面,本申请实施例提供了一种计算机设备,该计算机设备包括:一个或多个处理器,以及存储器;所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行上述任一实施例所述消息推送方法的步骤。
在本申请的消息推送方法、装置、存储介质和计算机设备中,在获取到待推送联系名称列表后,可以依次将待推送联系名称列表中的每个待推送联系名称作为目标名称。若未在聊天应用中向目标名称所对应的聊天发送待推送消息,则可在终端设备未显示聊天应用的消息列表界面时,根据终端设备的当前显示界面信息调用对应的行为模拟函数,以触发终端设备显示消息列表界面。当终端设备显示消息列表界面时,根据联系窗口搜索控件的定位信息,调用用于在终端设备上模拟用户点击行为的点击模拟函数,以使终端设备响应于聊天窗口搜索控件的点击事件,并显示待搜索界面。根据目标名称,调用用于在终端设备上模拟用户文本输入行为的文本输入函数,以在待搜索界面中输入目标名称,使得终端设备显示搜索结果界面。根据搜索结果界面中结果显示控件的定位信息,调用点击模拟函数,以使终端设备响应于结果显示控件的点击事件,并显示目标聊天窗口界面。根据待推送消息的数据属性调用对应的行为模拟函数,以使终端设备在目标聊天窗口界面内发送待推送消息,直至终端设备向待推送联系名称列表中的全部联系名称进行消息推送。如此,可基于应用界面自动测试函数库,在终端设备上模拟用户的操作行为,进而对安装在终端设备上的聊天应用进行UI自动化操作。由于本申请是通过模拟用户的操作行为来实现消息批量推送的,因此,不会受到聊天应用的接口发送次数限制的影响,从而可实现发送次数不受限。同时,由于本申请是基于应用界面自动测试函数库来实现的,不涉及AI范畴,因此可简化开发过程。由此可见,本申请可同时实现发送次数不受限和简便的开发过程。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为一实施例中消息推送方法的应用环境图;
图2为一实施例中消息推送方法的流程示意图;
图3为一实施例中根据所述待推送消息的数据属性调用对应的行为模拟函数步骤的流程示意图之一;
图4为一实施例中根据所述待推送消息的数据属性调用对应的行为模拟函数步骤的流程示意图之二;
图5为一实施例中消息推送装置的示意性结构框图;
图6为一实施例中计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的消息推送方法可以应用于计算机设备102与终端设备104交互的应用环境中。其中,计算机设备102可以但不限于是个人电脑或笔记本电脑等,终端设备104可以通过任意方式来实现,只需终端设备104能够安装移动版聊天应用的。例如终端设备104可以通过计算机设备102上安装的安卓虚拟机/安卓模拟器来实现,或者终端设备104可以采用一独立于计算机设备102的物理设备来实现,如手机或者平板。当终端设备104采用独立物理设备来实现时,本申请的应用环境图可如图1所示,在此情况下,计算机设备102可以有线连接或无线连接终端设备104。在其中一个实施例中,计算机设备102可以通过WIFI或者USB(Universal Serial Bus,通用串行总线)与终端设备104相连接。
计算机设备102可以配置有应用界面自动测试函数库,其中,应用界面自动测试函数库是指能够进行应用界面自动化测试的工具。该函数库包括多个行为模拟函数,各个行为模拟函数可以用于在终端设备104上模拟不同的用户操作行为。例如,函数库中可以包括点击模拟函数,该点击模拟函数能够用于模拟用户的点击操作,因此,在计算机设备102调用该点击模拟函数后,终端设备104将会识别到点击事件,并对该点击事件进行响应。又如,函数库中可以包括滑动模拟函数,该滑动模拟函数能够用于模拟用户的滑动操作,因此,计算机设备102可以通过调用该滑动模拟函数,触发终端设备104识别到滑动事件并对此进行识别。
可以理解,计算机设备102可以配置任意类型的应用界面自动测试函数库,例如可以采用UIautomator2、Appium或Airtest。在下述实施例中,为便于说明,本申请以应用界面自动测试函数库为UIautomator2,聊天应用为企业微信为例进行说明。当采用UIautomator2作为应用界面自动测试函数库时,计算机设备102和终端设备104可按照下述步骤进行前置环境安装:
(1)在计算机设备102上进行Python环境安装;
(2)在计算机设备102上安装adb工具,并配置环境变量;
(3)在计算机设备102上安装UIautomator2;
(4)在计算机设备102上安装终端设备元素查看器,如Weditor;
(5)将终端设备104调整为开发者模式,并开启USB调试模式;
(6)在终端设备104上安装移动版企业微信。
在完成前置环境安装之后,计算机设备102可按照下述步骤进行环境验证:
(1)运行命令adb devices查看是否存在正常连接的设备列表;
(2)运行命令 python -m weditor 跳转至web端元素查看页面,输入终端设备104的IP(Internet Protocol,网际互连协议)地址和端口,查看计算机设备102是否可以正常连接终端设备104,并正常加载终端设备104的应用界面结构信息(hierarchy);
(3)直接在weditor coding界面运行d.info,查看计算机设备102是否能够正常输出终端设备104的当前应用界面结构信息。
当采用UIautomator2作为应用界面自动测试函数库时,Python将会使用UIautomator2编写执行动作。UIautomator2将会使用初始化过程(即init过程),令终端设备104安装守护进程atx-agent。随后,守护进程atx-agent将会在终端设备104启动UIautomator2服务,即启动终端设备104的http(Hyper Text Transfer Protocol,超文本传输协议)服务器,以对计算机设备102发送的指令进行监听。具体而言,计算机设备102在执行python指定动作脚本时,将通过守护进程atx-agent发送http请求到终端设备104的服务器端,指令的传输路径为:AutomatorHttpserver→JsonRPCServer(封装原生UIautomator操作,json串形式传输) →UIautomator。当终端设备104的服务器端接收到计算机设备102发送的http请求后,终端设备104将会执行指定的操作事件,并进行响应。
在一个实施例中,本申请提供了一种消息推送方法,以该方法执行于图1所示的计算机设备为例进行说明。如图2所示,该方法具体包括如下步骤:
S202,获取待推送联系名称列表及待推送消息的数据属性。
其中,待推送联系名称列表包括了待进行消息推送的全部联系名称,可以包括群聊名称和个人用户的用户名称。其中,个人用户是指相对于一对多的群聊的,能够进行一对一沟通的用户,例如企业微信中的联系人。
在其中一个实施例中,在执行步骤204之前,本申请的消息推送方法还可包括以下步骤:
根据所述终端设备的当前显示界面信息调用对应的行为模拟函数,以触发所述终端设备打开聊天应用、登录聊天应用以及进入聊天应用的联系人显示界面。可以理解,计算机设备所调用的行为模拟函数,以及调用各行为模拟函数的先后顺序,均可依据终端设备的当前显示界面信息来确定,本申请对此不作具体限制。本实施例中,在进行消息推送之前先通过UIautomator2对聊天应用进行初始化,从而可预先发现终端设备的软硬件环境问题,以便于开发人员尽早介入处理,进而可提高消息推送的成功率和效率。
S204,依次将所述待推送联系名称列表中的每个待推送联系名称作为目标名称。
例如,当待推送联系名称列表中包括2个待推送联系名称N1和N2时,计算机设备可以将待推送联系名称N1作为目标名称,并执行步骤S206至步骤S214,以在待推送联系名称N1所对应的聊天中推送消息。在向待推送联系名称N1发送待推送消息后,计算机设备可将待推送联系名称N2作为目标名称,并执行步骤S206至步骤S214,以在待推送联系名称N2对应的聊天中推送消息。
在其中一个实施例中,计算机设备可以通过遍历的方式依次将待推送联系名称列表中的每个待推送联系名称作为目标名称。在另一个实施例中,计算机设备可记录有每个待推送联系名称的推送状态,该推送状态用于反映在本次消息推送中,计算机设备是否已向该待推送联系名称推送消息。计算机设备可在推送状态为未推送的待推送联系名称中随机选取一个作为当前轮次的目标名称。
S206,若未在聊天应用的目标聊天窗口界面内发送待推送消息,则在所述终端设备未显示所述聊天应用的消息列表界面时,根据所述终端设备的当前显示界面信息调用对应的行为模拟函数,以触发所述终端设备显示所述消息列表界面;所述目标聊天窗口界面为目标名称对应的聊天窗口界面。
其中,聊天应用的消息列表界面是指用于显示聊天消息的列表界面。
具体而言,若计算机设备仍未在目标名称所对应的聊天窗口界面中发送待推送消息,则可确定计算机设备还未向目标名称所对应的聊天推送消息。在此情况下,计算机设备需要执行步骤S206至S214,以在目标名称对应的聊天中推送消息。若终端设备当前所显示的界面非聊天应用的消息列表界面,则计算机设备可根据终端设备的当前显示界面信息调用应用界面自动测试函数库中对应的行为模拟函数,以触发终端设备显示聊天应用的消息列表界面。
可以理解,计算机设备所调用的行为模拟函数,以及调用各行为模拟函数的先后顺序,均可依据终端设备的当前显示界面信息来确定,本申请对此不作具体限制。例如,若终端设备当前显示聊天窗口界面,且当前显示的聊天窗口界面非目标聊天窗口界面,则计算机设备可根据返回控件的定位信息,调用点击模拟函数,以使终端设备响应于返回控件的点击事件,并显示消息列表界面。
S208,若未在所述目标聊天窗口界面内发送所述待推送消息,则在所述终端设备显示所述消息列表界面时,根据联系窗口搜索控件的定位信息,调用用于在所述终端设备上模拟用户点击行为的点击模拟函数,以使所述终端设备响应于所述聊天窗口搜索控件的点击事件,并显示待搜索界面。
其中,联系窗口搜索控件是指用于根据联系名称搜索出相关聊天的控件。在其中一个实施例中,该联系窗口搜索控件为搜索按钮。
具体而言,若计算机设备仍未在目标名称所对应的聊天窗口界面中发送待推送消息,且终端设备的当前显示界面为聊天应用的消息列表界面,则计算机设备可以根据联系窗口搜索控件的定位信息,调用应用界面自动测试函数库中的点击模拟函数,以模拟用户点击联系窗口搜索控件的操作。如此,可使得终端设备识别到联系窗口搜索控件所对应的位置发生点击事件,并对此进行响应,以显示待搜索界面。
在其中一个实施例中,计算机设备可以根据联系窗口搜索控件的XPath定位信息调用点击模拟函数,以使终端设备可以根据联系窗口搜索控件的XPath定位信息获取联系窗口搜索控件在消息列表界面中的坐标值(即搜索控件坐标值),并响应于该坐标值的点击事件,从而可进入待搜索界面。
S210,根据所述目标名称,调用用于在所述终端设备上模拟用户文本输入行为的文本输入函数,以在所述待搜索界面中输入所述目标名称,使得所述终端设备显示搜索结果界面。
具体而言,计算机设备可以根据目标名称调用应用界面自动测试函数库中的文本输入函数send_text(),以在待搜索界面中输入目标名称,如在待搜索页面的名称输入框中输入目标名称,使得聊天应用可以以目标名称作为关键词进行搜索,并显示搜索界面界面。在其中一个实施例中,计算机设备可以根据待搜索界面中名称输入框的XPath定位信息,调用文本输入函数send_text(),以在名称输入框中输入目标名称。
S212,根据所述搜索结果界面中结果显示控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述结果显示控件的点击事件,并显示所述目标聊天窗口界面。
其中,结果显示控件是指用于搜索结果的控件,其可显示搜索结果所对应的联系名称及聊天头像。
具体而言,计算机设备可以根据结果显示控件的定位信息,调用应用界面自动测试函数库中的点击模拟函数,以模拟用户点击结果显示控件的操作。如此,可使得终端设备识别到结果显示控件所对应的位置发生点击事件,并对此进行响应,以进入目标名称所对应的聊天窗口界面。
在其中一个实施例中,计算机设备可以根据结果显示控件的XPath定位信息调用点击模拟函数,以使终端设备可以根据结果显示控件的XPath定位信息获取结果显示控件在搜索结果界面中的坐标值,并响应于该坐标值的点击事件,从而可进入目标聊天窗口界面。
S214,根据所述待推送消息的数据属性调用对应的行为模拟函数,以使所述终端设备在所述目标聊天窗口界面内发送所述待推送消息,直至所述终端设备向所述待推送联系名称列表中的全部联系名称进行消息推送。
在进入目标聊天窗口界面后,计算机设备可以根据待推送消息的数据属性调用相应的行为模拟函数,以模拟用户的不同操作行为,进而可在目标聊天窗口界面中发送待推送消息,完成当前轮次的消息推送。
若待推送联系名称列表中还存在未进行消息推送的联系名称,则可对目标名称进行更新,并执行步骤S206至S214,直至待推送联系名称列表中不存在未进行消息推送的联系名称。
本申请实施例中,可基于应用界面自动测试函数库,在终端设备上模拟用户的操作行为,进而对安装在终端设备上的聊天应用进行UI自动化操作。由于本申请是通过模拟用户的操作行为来实现消息批量推送的,因此,不会受到聊天应用的接口发送次数限制的影响,从而可实现发送次数不受限。同时,由于本申请是基于应用界面自动测试函数库来实现的,不涉及AI范畴,因此可简化开发过程。由此可见,本申请可同时实现发送次数不受限和简便的开发过程。
在一个实施例中,所述待推送消息的数据属性包括所述待推送消息的消息类型,以及所述计算机设备中用于存储消息生成素材的内容存储地址。其中,所述消息生成素材用于生成所述待推送消息。
如图3所示,根据所述待推送消息的数据属性调用对应的行为模拟函数,以使所述终端设备在所述目标聊天窗口界面内发送所述待推送消息的步骤,包括:
S302,若所述待推送消息的消息类型为多媒体消息,则从所述内容存储地址中读取作为所述消息生成素材的多媒体文件。
计算机设备可读取内容存储地址中所存储的数据,该数据即为多媒体文件,该多媒体文件用于生成待推送消息。在其中一个实施例中,多媒体文件可以为图片文件或者视频文件。
S306,基于所述聊天应用在所述终端设备上的多媒体默认存储路径,向所述终端设备发送所述多媒体文件。
计算机设备可以将多媒体文件推送到终端设备的多媒体默认存储路径下。在进行消息推送时,聊天应用会在读取终端设备的多媒体默认存储路径下的全部文件并展示,以供用户选择。在其中一个实施例中,可以通过如下指令完成多媒体文件的发送:
'adb push '+pc_path+' adb shell rm -r /storage/emulated/0/Pictures/'+ file_name
S308,向所述终端设备发送刷新控制指令,所述刷新控制指令用于指示所述终端设备广播多媒体数据刷新消息。
终端设备在接收到计算机设备发送的多媒体文件后,无法立刻识别并展示该多媒体文件。因此,为避免此情况导致的错发消息或无法发送消息等问题,计算机设备可向终端设备发送刷新控制指令,以指示终端设备广播多媒体数据刷新消息,使得终端设备内的各进程均进行多媒体数据刷新,并对计算机设备发送的多媒体文件进行识别。在其中一个实施例中,可通过如下指令完成步骤S308:
'adb shell am broadcast -a android.intent.action.MEDIA_SCANNER_SCAN_FILE -d file://storage/emulated/0/Pictures/'+ file_name
S310,根据所述目标聊天窗口界面中多媒体文件选择控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述多媒体文件选择控件的点击事件,并显示多媒体文件选择界面。
计算机设备可通过调用对应的行为模拟函数,来模拟人工进入多媒体文件选择界面的操作。在其中一个实施例中,计算机设备可以根据多媒体文件选择控件的XPath定位信息调用点击模拟函数,以模拟用户点击多媒体文件选择控件的操作,使得终端设备可显示多媒体文件选择界面。
S312,若所述多媒体文件选择界面包括至少一个多媒体文件展示控件,则基于所述多媒体文件选择界面中首个多媒体文件展示控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述首个多媒体文件展示控件的点击事件。
具体而言,多媒体文件选择界面可展示多媒体默认存储路径下的全部多媒体文件,且每个多媒体文件通过一个多媒体文件展示控件来展示。若多媒体文件选择界面包括至少一个多媒体文件展示控件,则计算机设备可选择第一个可发送的多媒体文件进行发送。在一个实施例中,首个多媒体展示控件可以为位于多媒体文件选择界面最上方一栏的左侧第一个多媒体展示控件。
在其中一个实施例中,计算机设备可以基于多媒体文件展示控件的XPath定位信息,调用所述点击模拟函数,以模拟用户点击首个多媒体文件展示控件的操作。
S314,基于所述多媒体文件选择界面中第一确认发送控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述第一确认发送控件的点击事件,并在所述目标聊天窗口界面内发送所述待推送消息。
在选择了多媒体文件后,计算机设备可模拟用户对于多媒体文件选择界面中第一确认发送控件的点击操作,以在目标聊天界面中发送选中的多媒体文件。
本实施例中,可通过模拟用户的操作行为来实现多媒体消息的自动推送,拓宽了消息推送方法的应用范围和适用性。
在一个实施例中,在一个实施例中,如图4所示,基于所述聊天应用在所述终端设备上的多媒体默认存储路径,向所述终端设备发送所述多媒体文件的步骤之前,包括:
S304,向所述终端设备发送缓存清空指令,所述缓存清空指令用于指示所述终端设备清除所述多媒体默认存储路径下的全部多媒体文件。
在其中一个实施例中,缓存清空指令还可用于指示终端设备清除终端设备上聊天应用的图片缓存。例如,可通过如下命令实现步骤S304:
adb shell rm -r /storage/emulated/0/tencent/WeixinWork/#清空企微的图片缓存
adb shell rm -r /storage/emulated/0/Pictures/#清除所述多媒体默认存储路径下的全部多媒体文件。
如此,一方面可以避免图片缓存及多媒体文件占用终端设备过多的存储空间,从而可加快终端设备的运行效率,进而可加快消息推送的效率。另一方面,还可避免图片缓存及其他多媒体文件,对多媒体文件选择界面中的多媒体文件展示结果造成影响,从而可确保首个展示的多媒体文件为计算机设备发送的多媒体文件,实现消息的准确推送。
在一个实施例中,如图4所示,根据所述待推送消息的数据属性调用对应的行为模拟函数,以使所述终端设备在所述目标聊天窗口界面内发送所述待推送消息的步骤,还包括:
S316,若所述多媒体文件选择界面中不包括多媒体文件展示控件,则向所述终端设备发送图库启动指令,以指示所述终端设备启动图库应用。
具体而言,若多媒体文件选择界面中不包括多媒体文件展示控件,则表明刷新控制指令没有生效,为使终端设备能够识别出计算机设备发送的多媒体文件,进而令该多媒体文件出现在多媒体文件选择界面中,计算机设备需要在终端设备上启动图库应用,以使终端设备刷新存储空间并识别前述多媒体文件。在其中一个实施例中, d.app_start("com.android.gallery3d")实现步骤S316。
S318,在所述终端设备启动所述图库应用后,向所述终端设备发送图库关闭指令,以指示所述终端设备关闭所述图库应用。在所述终端设备关闭所述图库应用后,进入S310。
在其中一个实施例中,计算机设备可等待启动图库应用的2秒后,关闭图库应用,并在关闭图库应用后进入步骤S310,以进入多媒体文件选择界面,并在多媒体文件选择界面中选择作为消息素材的多媒体文件进行发送。进一步地,可通过指令time.sleep(2)等待2秒,并通过指令d.app_stop("com.android.gallery3d")关闭图库应用。
本实施例中,在多媒体文件选择界面中不包括多媒体文件展示控件的情况下,计算机设备可通过在终端设备上开启图库应用,以使终端设备刷新存储空间并识别计算机设备发送的多媒体文件。如此,可避免错发消息或无法发送消息等问题,进一步实现消息的准确推送。
在一个实施例中,所述待推送消息的数据属性包括所述待推送消息的消息类型,以及所述计算机设备中用于存储消息生成素材的内容存储地址。其中,所述消息生成素材用于生成所述待推送消息。
根据所述待推送消息的数据属性调用对应的行为模拟函数,以使所述终端设备在所述目标聊天窗口界面内发送所述待推送消息的步骤,包括:
若所述待推送消息的消息类型为纯文本消息,则从所述内容存储地址中读取作为所述消息生成素材的消息文本;
根据所述消息文本及所述目标聊天窗口界面中消息文本输入控件的定位信息,调用所述文本输入函数,以在所述消息文本输入控件中输入所述消息文本;
基于所述目标聊天窗口界面中第二确认发送控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述第二确认发送控件的点击事件,并在所述目标聊天窗口界面内发送所述待推送消息。
具体而言,若待推送消息的消息类型为纯文本消息,则计算机设备可通过目标聊天窗口界面中消息文本输入控件的定位信息(如XPath定位信息)调用文本输入函数send_text(),以使终端设备在目标聊天窗口界面中定位至消息文本输入控件,并在消息文本输入控件中输入消息文本。在输入消息文本后,计算机设备可根据目标聊天窗口界面中第二确认发送控件的定位信息,调用点击模拟函数,以模拟用户点击目标聊天窗口界面中第二确认发送控件的操作,进而完成消息文本的发送。在其中一个实施例中,该第二确认发送控件可以为发送按钮。如此,可通过模拟用户的操作行为来实现纯文本消息的自动推送,拓宽了消息推送方法的应用范围和适用性。
在一个实施例中,在一个实施例中,根据所述搜索结果界面中结果显示控件的定位信息,调用所述点击模拟函数的步骤,包括:
根据所述搜索结果界面中每一结果显示控件的定位信息,调用用于获取文本的文本获取函数,以获取每一结果显示控件所显示的联系名称;
将联系名称为所述目标名称的结果显示控件作为目标结果显示控件;
根据所述目标结果显示控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述目标结果显示控件的点击事件,并显示所述目标聊天窗口界面。
在搜索后,搜索结果界面中可能会出现联系名称非目标名称的搜索结果,因此,计算机设备可对搜索结果界面所显示的信息进行二次结果核对,以根据核对结果确定是否查找成功。
具体而言,计算机设备可以获取搜索结果界面中每一结果显示控件所对应的联系名称,并将每一个联系名称与目标名称进行匹配。若某个结果显示控件所对应的联系名称为目标名称,则该结果显示控件为目标结果显示控件。计算机设备可以基于目标结果显示控件的定位信息调用所述点击模拟函数,以进入目标名称所对应的聊天窗口界面中。如此,可避免消息的错发,以实现消息的准确推送。
在一个实施例中,获取待推送联系名称列表的步骤,包括:
获取待推送配置文件,并从所述待推送配置文件中提取各个待推送群聊名称及各个待推送用户标签;
将各个所述待推送群聊名称写入至所述待推送联系名称列表中;
依次将每个待推送用户标签作为目标标签;
根据所述终端设备的当前显示界面信息调用对应的行为模拟函数,以使所述终端设备显示所述聊天应用的目标用户标签界面;所述目标用户标签界面展示所述目标标签下全部用户的用户名称;
根据所述目标用户标签界面中每一用户名称显示控件的定位信息,调用用于获取文本的文本获取函数,以分别获取每一用户名称显示控件所显示的用户名称;
将各所述用户名称显示控件所显示的用户名称写入至所述待推送联系名称列表,直至获取全部待推送用户标签下的用户名称。
具体而言,待推送配置文件中可以配置有推送时间、待推送消息的消息类型、内容存储地址、各个待推送群聊名称以及各个待推送用户标签等信息。计算机设备可从待推送配置文件中提取各配置信息,并将提取得到的各个待推送群聊名称写入至待推送联系名称列表中。此外,计算机设备还可将每个待推送用户标签下的全部用户名称写入至待推送联系名称列表中,已得到该待推送配置文件所对应的待推送联系名称列表。
在其中一个实施例中,获取待推送配置文件的步骤可以为:计算机设备可以获取已执行文件名称列表,并周期性获取计算机设备的指定路径下全部配置文件的文件名称。在得到指定路径下全部配置文件的文件名称后,计算机设备可以分别将每个配置文件的文件名称与已执行文件名称列表进行匹配。若已执行文件名称列表中不存在该配置文件的文件名称,则可将配置文件作为待推送配置文件。进一步地,当计算机设备向待推送配置文件中配置的全部联系名称进行消息推送后,计算机设备可将在已执行文件列表中记录待推送配置文件的文件名称。
在其中一个实施例中,计算机设备还可从待推送配置文件中提取推送时间,并在推送时间到来时,执行上述任一实施例中的步骤,以实现定时推送。
下面对本申请实施例提供的消息推送装置进行描述,下文描述的消息推送装置与上文描述的消息推送方法可相互对应参照。
在一个实施例中,本申请提供了一种消息推送装置400。该消息推送装置400执行于配置有应用界面自动测试函数库的计算机设备,所述应用界面自动测试函数库包括用于在终端设备上模拟不同的用户操作行为的多个行为模拟函数。如图5所示,该消息推送装置400可以包括推送信息获取模块410、目标名称确定模块420、消息列表界面跳转模块430、搜索控件点击模块440、搜索文本输入模块450、搜索结果选择模块460和消息发送模块470。其中:
推送信息获取模块410,用于获取待推送联系名称列表及待推送消息的数据属性;
目标名称确定模块420,用于依次将所述待推送联系名称列表中的每个待推送联系名称作为目标名称;
消息列表界面跳转模块430,用于在未在聊天应用的目标聊天窗口界面内发送待推送消息的情况下,当所述终端设备未显示所述聊天应用的消息列表界面时,根据所述终端设备的当前显示界面信息调用对应的行为模拟函数,以触发所述终端设备显示所述消息列表界面;所述目标聊天窗口界面为目标名称对应的聊天窗口界面;
搜索控件点击模块440,用于在未在所述目标聊天窗口界面内发送所述待推送消息的情况下,当所述终端设备显示所述消息列表界面时,根据联系窗口搜索控件的定位信息,调用用于在所述终端设备上模拟用户点击行为的点击模拟函数,以使所述终端设备响应于所述聊天窗口搜索控件的点击事件,并显示待搜索界面;
搜索文本输入模块450,用于根据所述目标名称,调用用于在所述终端设备上模拟用户文本输入行为的文本输入函数,以在所述待搜索界面中输入所述目标名称,使得所述终端设备显示搜索结果界面;
搜索结果选择模块460,用于根据所述搜索结果界面中结果显示控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述结果显示控件的点击事件,并显示所述目标聊天窗口界面;
消息发送模块470,用于根据所述待推送消息的数据属性调用对应的行为模拟函数,以使所述终端设备在所述目标聊天窗口界面内发送所述待推送消息,直至所述终端设备向所述待推送联系名称列表中的全部联系名称进行消息推送。
在一个实施例中,所述待推送消息的数据属性包括所述待推送消息的消息类型,以及所述计算机设备中用于存储消息生成素材的内容存储地址;所述消息生成素材用于生成所述待推送消息。
消息发送模块470包括多媒体文件读取单元、多媒体文件发送单元、刷新控制单元、多媒体文件选择控件点击单元、多媒体文件展示控件点击单元和第一确认发送控件点击单元。其中:
多媒体文件读取单元用于在所述待推送消息的消息类型为多媒体消息的情况下,从所述内容存储地址中读取作为所述消息生成素材的多媒体文件。
多媒体文件发送单元用于基于所述聊天应用在所述终端设备上的多媒体默认存储路径,向所述终端设备发送所述多媒体文件。
刷新控制单元用于向所述终端设备发送刷新控制指令,所述刷新控制指令用于指示所述终端设备广播多媒体数据刷新消息。
多媒体文件选择控件点击单元用于根据所述目标聊天窗口界面中多媒体文件选择控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述多媒体文件选择控件的点击事件,并显示多媒体文件选择界面。
多媒体文件展示控件点击单元用于在所述多媒体文件选择界面包括至少一个多媒体文件展示控件的情况下,基于所述多媒体文件选择界面中首个多媒体文件展示控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述首个多媒体文件展示控件的点击事件。
第一确认发送控件点击单元用于基于所述多媒体文件选择界面中第一确认发送控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述第一确认发送控件的点击事件,并在所述目标聊天窗口界面内发送所述待推送消息。
在一个实施例中,消息发送模块470还包括缓存清空单元,该缓存清空单元用于在向所述终端设备发送所述多媒体文件之前,向所述终端设备发送缓存清空指令,所述缓存清空指令用于指示所述终端设备清除所述多媒体默认存储路径下的全部多媒体文件。
在一个实施例中,消息发送模块470还包括图库启动单元、图库关闭单元和跳转单元。其中,图库启动单元用于若所述多媒体文件选择界面中不包括多媒体文件展示控件,则向所述终端设备发送图库启动指令,以指示所述终端设备启动图库应用。图库关闭单元用于在所述终端设备启动所述图库应用后,向所述终端设备发送图库关闭指令,以指示所述终端设备关闭所述图库应用。跳转单元用于在所述终端设备关闭所述图库应用后,进入多媒体文件选择控件单元。
在一个实施例中,所述待推送消息的数据属性包括所述待推送消息的消息类型,以及所述计算机设备中用于存储消息生成素材的内容存储地址;所述消息生成素材用于生成所述待推送消息。
消息推送单元包括消息文本获取单元、消息文本输入单元和第二确认发送控件点击单元。其中,消息文本获取单元用于在所述待推送消息的消息类型为纯文本消息的情况下,从所述内容存储地址中读取作为所述消息生成素材的消息文本。消息文本输入单元用于根据所述消息文本及所述目标聊天窗口界面中消息文本输入控件的定位信息,调用所述文本输入函数,以在所述消息文本输入控件中输入所述消息文本。第二确认发送控件点击单元用于基于所述目标聊天窗口界面中第二确认发送控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述第二确认发送控件的点击事件,并在所述目标聊天窗口界面内发送所述待推送消息。
在一个实施例中,搜索结果选择模块460包括显示名称获取单元、目标控件确定单元以及目标控件点击单元。其中,显示名称获取单元用于根据所述搜索结果界面中每一结果显示控件的定位信息,调用用于获取文本的文本获取函数,以获取每一结果显示控件所显示的联系名称。目标控件确定单元用于将联系名称为所述目标名称的结果显示控件作为目标结果显示控件。目标控件点击单元用于根据所述目标结果显示控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述目标结果显示控件的点击事件,并显示所述目标聊天窗口界面。
在一个实施例中,推送信息获取模块410包括配置文件获取单元、群聊名称写入单元、目标标签确定单元、目标用户标签界面跳转单元、用户名称获取单元及用户名称写入单元。其中:
配置文件获取单元,用于获取待推送配置文件,并从所述待推送配置文件中提取各个待推送群聊名称及各个待推送用户标签;
群聊名称写入单元,用于将各个所述待推送群聊名称写入至所述待推送联系名称列表中;
目标标签确定单元,用于依次将每个待推送用户标签作为目标标签;
目标用户标签界面跳转单元,用于根据所述终端设备的当前显示界面信息调用对应的行为模拟函数,以使所述终端设备显示所述聊天应用的目标用户标签界面;所述目标用户标签界面展示所述目标标签下全部用户的用户名称;
用户名称获取单元,用于根据所述目标用户标签界面中每一用户名称显示控件的定位信息,调用用于获取文本的文本获取函数,以分别获取每一用户名称显示控件所显示的用户名称;
用户名称写入单元,用于将各所述用户名称显示控件所显示的用户名称写入至所述待推送联系名称列表,直至获取全部待推送用户标签下的用户名称。
在一个实施例中,本申请还提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述消息推送方法的步骤。
在一个实施例中,本申请还提供了一种计算机设备。所述计算机设备中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述消息推送方法的步骤。在其中一个实施例中,该计算机设备可以是个人电脑等。
示意性地,如图6所示,图6为本申请实施例提供的一种计算机设备的内部结构示意图。参照图6,计算机设备900包括处理组件902,其进一步包括一个或多个处理器,以及由存储器901所代表的存储器资源,用于存储可由处理组件902的执行的指令,例如应用程序。存储器901中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件902被配置为执行指令,以执行上述任意实施例的消息推送方法。
计算机设备900还可以包括一个电源组件903被配置为执行计算机设备900的电源管理,一个有线或无线网络接口904被配置为将计算机设备900连接到网络,和一个输入输出(I/O)接口905。计算机设备900可以操作基于存储在存储器901的操作系统。
本领域技术人员可以理解,本申请示出的计算机设备的内部结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本文中,“一”、“一个”、“所述”、“该”和“其”也可以包括复数形式,除非上下文清楚指出另外的方式。多个是指至少两个的情况,如2个、3个、5个或8个等。“和/或”包括相关所列项目的任何及所有组合。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种消息推送方法,其特征在于,所述方法执行于配置有应用界面自动测试函数库的计算机设备,所述应用界面自动测试函数库包括用于在终端设备上模拟不同的用户操作行为的多个行为模拟函数;所述方法包括:
获取待推送联系名称列表及待推送消息的数据属性;
依次将所述待推送联系名称列表中的每个待推送联系名称作为目标名称;
若未在聊天应用的目标聊天窗口界面内发送待推送消息,则在所述终端设备未显示所述聊天应用的消息列表界面时,根据所述终端设备的当前显示界面信息调用对应的行为模拟函数,以触发所述终端设备显示所述消息列表界面;所述目标聊天窗口界面为目标名称对应的聊天窗口界面;
若未在所述目标聊天窗口界面内发送所述待推送消息,则在所述终端设备显示所述消息列表界面时,根据联系窗口搜索控件的定位信息,调用用于在所述终端设备上模拟用户点击行为的点击模拟函数,以使所述终端设备响应于所述聊天窗口搜索控件的点击事件,并显示待搜索界面;
根据所述目标名称,调用用于在所述终端设备上模拟用户文本输入行为的文本输入函数,以在所述待搜索界面中输入所述目标名称,使得所述终端设备显示搜索结果界面;
根据所述搜索结果界面中结果显示控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述结果显示控件的点击事件,并显示所述目标聊天窗口界面;
根据所述待推送消息的数据属性调用对应的行为模拟函数,以使所述终端设备在所述目标聊天窗口界面内发送所述待推送消息,直至所述终端设备向所述待推送联系名称列表中的全部联系名称进行消息推送。
2.根据权利要求1所述的消息推送方法,其特征在于,所述待推送消息的数据属性包括所述待推送消息的消息类型,以及所述计算机设备中用于存储消息生成素材的内容存储地址;所述消息生成素材用于生成所述待推送消息;
根据所述待推送消息的数据属性调用对应的行为模拟函数,以使所述终端设备在所述目标聊天窗口界面内发送所述待推送消息的步骤,包括:
若所述待推送消息的消息类型为多媒体消息,则从所述内容存储地址中读取作为所述消息生成素材的多媒体文件;
基于所述聊天应用在所述终端设备上的多媒体默认存储路径,向所述终端设备发送所述多媒体文件;
向所述终端设备发送刷新控制指令,所述刷新控制指令用于指示所述终端设备广播多媒体数据刷新消息;
根据所述目标聊天窗口界面中多媒体文件选择控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述多媒体文件选择控件的点击事件,并显示多媒体文件选择界面;
若所述多媒体文件选择界面包括至少一个多媒体文件展示控件,则基于所述多媒体文件选择界面中首个多媒体文件展示控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述首个多媒体文件展示控件的点击事件;
基于所述多媒体文件选择界面中第一确认发送控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述第一确认发送控件的点击事件,并在所述目标聊天窗口界面内发送所述待推送消息。
3.根据权利要求2所述的方法,其特征在于,基于所述聊天应用在所述终端设备上的多媒体默认存储路径,向所述终端设备发送所述多媒体文件的步骤之前,包括:
向所述终端设备发送缓存清空指令,所述缓存清空指令用于指示所述终端设备清除所述多媒体默认存储路径下的全部多媒体文件。
4.根据权利要求3所述的方法,其特征在于,根据所述待推送消息的数据属性调用对应的行为模拟函数,以使所述终端设备在所述目标聊天窗口界面内发送所述待推送消息的步骤,还包括:
若所述多媒体文件选择界面中不包括多媒体文件展示控件,则向所述终端设备发送图库启动指令,以指示所述终端设备启动图库应用;
在所述终端设备启动所述图库应用后,向所述终端设备发送图库关闭指令,以指示所述终端设备关闭所述图库应用;
在所述终端设备关闭所述图库应用后,进入根据所述目标聊天窗口界面中多媒体文件选择控件的定位信息,调用所述点击模拟函数的步骤。
5.根据权利要求1所述的消息推送方法,其特征在于,所述待推送消息的数据属性包括所述待推送消息的消息类型,以及所述计算机设备中用于存储消息生成素材的内容存储地址;所述消息生成素材用于生成所述待推送消息;
根据所述待推送消息的数据属性调用对应的行为模拟函数,以使所述终端设备在所述目标聊天窗口界面内发送所述待推送消息的步骤,包括:
若所述待推送消息的消息类型为纯文本消息,则从所述内容存储地址中读取作为所述消息生成素材的消息文本;
根据所述消息文本及所述目标聊天窗口界面中消息文本输入控件的定位信息,调用所述文本输入函数,以在所述消息文本输入控件中输入所述消息文本;
基于所述目标聊天窗口界面中第二确认发送控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述第二确认发送控件的点击事件,并在所述目标聊天窗口界面内发送所述待推送消息。
6.根据权利要求1所述的消息推送方法,其特征在于,根据所述搜索结果界面中结果显示控件的定位信息,调用所述点击模拟函数的步骤,包括:
根据所述搜索结果界面中每一结果显示控件的定位信息,调用用于获取文本的文本获取函数,以获取每一结果显示控件所显示的联系名称;
将联系名称为所述目标名称的结果显示控件作为目标结果显示控件;
根据所述目标结果显示控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述目标结果显示控件的点击事件,并显示所述目标聊天窗口界面。
7.根据权利要求1至6任一项所述的方法,其特征在于,获取待推送联系名称列表的步骤,包括:
获取待推送配置文件,并从所述待推送配置文件中提取各个待推送群聊名称及各个待推送用户标签;
将各个所述待推送群聊名称写入至所述待推送联系名称列表中;
依次将每个待推送用户标签作为目标标签;
根据所述终端设备的当前显示界面信息调用对应的行为模拟函数,以使所述终端设备显示所述聊天应用的目标用户标签界面;所述目标用户标签界面展示所述目标标签下全部用户的用户名称;
根据所述目标用户标签界面中每一用户名称显示控件的定位信息,调用用于获取文本的文本获取函数,以分别获取每一用户名称显示控件所显示的用户名称;
将各所述用户名称显示控件所显示的用户名称写入至所述待推送联系名称列表,直至获取全部待推送用户标签下的用户名称。
8.一种消息推送装置,其特征在于,所述装置执行于配置有应用界面自动测试函数库的计算机设备,所述应用界面自动测试函数库包括用于在终端设备上模拟不同的用户操作行为的多个行为模拟函数;所述装置包括:
推送信息获取模块,用于获取待推送联系名称列表及待推送消息的数据属性;
目标名称确定模块,用于依次将所述待推送联系名称列表中的每个待推送联系名称作为目标名称;
消息列表界面跳转模块,用于在未在聊天应用的目标聊天窗口界面内发送待推送消息的情况下,当所述终端设备未显示所述聊天应用的消息列表界面时,根据所述终端设备的当前显示界面信息调用对应的行为模拟函数,以触发所述终端设备显示所述消息列表界面;所述目标聊天窗口界面为目标名称对应的聊天窗口界面;
搜索控件点击模块,用于在未在所述目标聊天窗口界面内发送所述待推送消息的情况下,当所述终端设备显示所述消息列表界面时,根据联系窗口搜索控件的定位信息,调用用于在所述终端设备上模拟用户点击行为的点击模拟函数,以使所述终端设备响应于所述聊天窗口搜索控件的点击事件,并显示待搜索界面;
搜索文本输入模块,用于根据所述目标名称,调用用于在所述终端设备上模拟用户文本输入行为的文本输入函数,以在所述待搜索界面中输入所述目标名称,使得所述终端设备显示搜索结果界面;
搜索结果选择模块,用于根据所述搜索结果界面中结果显示控件的定位信息,调用所述点击模拟函数,以使所述终端设备响应于所述结果显示控件的点击事件,并显示所述目标聊天窗口界面;
消息发送模块,用于根据所述待推送消息的数据属性调用对应的行为模拟函数,以使所述终端设备在所述目标聊天窗口界面内发送所述待推送消息,直至所述终端设备向所述待推送联系名称列表中的全部联系名称进行消息推送。
9.一种存储介质,其特征在于:所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项所述消息推送方法的步骤。
10.一种计算机设备,其特征在于,包括:一个或多个处理器,以及存储器;
所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如权利要求1至7中任一项所述消息推送方法的步骤。
CN202210737404.3A 2022-06-27 2022-06-27 消息推送方法、装置、存储介质及计算机设备 Active CN115118687B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210737404.3A CN115118687B (zh) 2022-06-27 2022-06-27 消息推送方法、装置、存储介质及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210737404.3A CN115118687B (zh) 2022-06-27 2022-06-27 消息推送方法、装置、存储介质及计算机设备

Publications (2)

Publication Number Publication Date
CN115118687A CN115118687A (zh) 2022-09-27
CN115118687B true CN115118687B (zh) 2023-07-04

Family

ID=83331605

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210737404.3A Active CN115118687B (zh) 2022-06-27 2022-06-27 消息推送方法、装置、存储介质及计算机设备

Country Status (1)

Country Link
CN (1) CN115118687B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117032467B (zh) * 2023-10-08 2024-01-09 成都卓拙科技有限公司 与聊天机器人交互的方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103916835A (zh) * 2014-04-29 2014-07-09 合肥汇众知识产权管理有限公司 一种专利信息短信群发方法
CN105306600A (zh) * 2015-11-24 2016-02-03 阿里巴巴集团控股有限公司 消息推送方法及装置
CN107846344A (zh) * 2016-09-18 2018-03-27 阿里巴巴集团控股有限公司 即时通讯工具中的批量推送消息的方法、装置及电子设备
CN113765775A (zh) * 2021-09-08 2021-12-07 深圳腾银信息咨询有限责任公司 一种赋能企业微信一键精准群发的方法
CN113852542A (zh) * 2021-09-26 2021-12-28 湖南于一科技有限公司 一键群发的方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10747656B2 (en) * 2018-11-27 2020-08-18 Fmr Llc Systems and methods for mobile automation testing by emulating human behaviors

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103916835A (zh) * 2014-04-29 2014-07-09 合肥汇众知识产权管理有限公司 一种专利信息短信群发方法
CN105306600A (zh) * 2015-11-24 2016-02-03 阿里巴巴集团控股有限公司 消息推送方法及装置
CN107846344A (zh) * 2016-09-18 2018-03-27 阿里巴巴集团控股有限公司 即时通讯工具中的批量推送消息的方法、装置及电子设备
CN113765775A (zh) * 2021-09-08 2021-12-07 深圳腾银信息咨询有限责任公司 一种赋能企业微信一键精准群发的方法
CN113852542A (zh) * 2021-09-26 2021-12-28 湖南于一科技有限公司 一键群发的方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN115118687A (zh) 2022-09-27

Similar Documents

Publication Publication Date Title
US11822919B2 (en) Auto-generation of API documentation via implementation-neutral analysis of API traffic
Billi et al. A unified methodology for the evaluation of accessibility and usability of mobile applications
WO2018228211A1 (zh) 应用转换方法、装置及设备
US20170017505A1 (en) Method and system for intelligent cloud planning and decommissioning
CN102142016A (zh) 跨浏览器交互活动记录、回放以及编辑
CN115065652B (zh) 消息回复方法、装置、存储介质及计算机设备
CN110825618A (zh) 一种生成测试用例的方法及相关装置
CN112148580B (zh) 测试方法、装置及电子设备
CN110515514B (zh) 一种数据处理方法、装置及存储介质
CN115118687B (zh) 消息推送方法、装置、存储介质及计算机设备
CN113407284A (zh) 导航界面的生成方法、装置、存储介质及电子设备
Semertzidis Mobile application development to enhance higher education lectures
CN112015635A (zh) 页面测试方法、页面测试装置、电子设备及存储介质
US20170277710A1 (en) Data comparison
CN114003567A (zh) 数据采集的方法及相关装置
CN112650959B (zh) 页面加载时长的统计方法、装置、设备及存储介质
CN112988586A (zh) 一种控件测试方法、装置、电子设备及存储介质
CN116756016A (zh) 多浏览器测试方法、装置、设备、介质及程序产品
CN109144841B (zh) 广告应用的识别方法和装置、计算机设备和存储介质
CN115827457A (zh) 浏览器兼容性测试方法以及相关设备
KR20240068388A (ko) 실무 역량 과제 테스트 환경 구축 방법과 이를 위한 프로그램 및 서버
CN114356451B (zh) 应用执行方法、应用执行装置、设备及存储介质
Haapala Analyzing and Improving the Loading Performance of Large-scale Websites on Mobile Devices
CN116524986B (zh) 存储产品的系统级测试方法和系统
CN113392008B (zh) 小程序测试方法、装置、电子设备、存储介质及程序产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant