CN105117337B - 应用调试方法、客户端及调试平台 - Google Patents

应用调试方法、客户端及调试平台 Download PDF

Info

Publication number
CN105117337B
CN105117337B CN201510531286.0A CN201510531286A CN105117337B CN 105117337 B CN105117337 B CN 105117337B CN 201510531286 A CN201510531286 A CN 201510531286A CN 105117337 B CN105117337 B CN 105117337B
Authority
CN
China
Prior art keywords
debugging
terminal
user
application
debugged
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
CN201510531286.0A
Other languages
English (en)
Other versions
CN105117337A (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.)
Xiaomi Inc
Original Assignee
Xiaomi Inc
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 Xiaomi Inc filed Critical Xiaomi Inc
Priority to CN201510531286.0A priority Critical patent/CN105117337B/zh
Publication of CN105117337A publication Critical patent/CN105117337A/zh
Application granted granted Critical
Publication of CN105117337B publication Critical patent/CN105117337B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本公开是关于一种应用调试方法、客户端及调试平台,包括:根据用户的调试请求,向用户推送至少两个调试平台支持的终端型号,以使用户从至少两个终端型号中选择调试所需的第一终端型号,调试请求包括待调试应用;发送安装请求,安装请求包括待调试应用和第一终端型号,调试请求用于使调试平台将待调试应用安装至与第一终端型号匹配的第一终端;发送调试指令,调试指令用于使调试平台根据调试指令,通过控制第一终端进行相应的处理,对待调试应用进行调试。通过本公开的方案,基于该实体终端的远程应用调试,从而方便、可靠、全面地检测应用与不同机型实体终端的适配性,降低应用开发和调试成本。

Description

应用调试方法、客户端及调试平台
技术领域
本公开涉及软件测试领域,尤其涉及一种应用调试方法、客户端及调试平台。
背景技术
由于安卓(Android)平台的开源特性,用户、开发者、原始设备制造商(OriginalEquipment Manufacturer,简称OEM)厂商、运营商会按照自己的个性化定制对Android系统或硬件进行改造。并且随着Android系统版本的不断升级,以及Android终端的多样性,不同型号的Android终端的版本不同、屏幕尺寸、硬件不同和定制ROM不同,因此在对程序应用进行推广之前,需要先对应用进行调试,检测应用与不同机型的终端之间的适配性。
相关技术中,云测试提供模拟器机型的云调试功能。云测试提供的不同机型的模拟器云调试功能,即云平台提供不同机型的模拟器调试,例如,对应用进行应用功能测试,兼容性测试等测试。
发明内容
本公开提供一种应用调试方法、客户端及调试平台。所述技术方案如下:
根据本公开实施例的第一方面,提供一种应用调试方法,该方法包括:根据用户的调试请求,向所述用户推送调试平台支持的各终端型号,以使所述用户从所述各终端型号中选择调试所需的第一终端型号,所述调试请求包括待调试应用;发送安装请求,所述安装请求包括所述待调试应用和所述第一终端型号,所述调试请求用于使所述调试平台将所述待调试应用安装至与所述第一终端型号匹配的第一终端;发送所述调试指令,所述调试指令用于使所述调试平台根据所述调试指令,通过控制所述第一终端进行相应的处理,对所述待调试应用进行调试。
其包括以下有益效果:用户在开发出某应用后,在客户端发起调试请求,从调试平台支持的不同终端型号中选择需要进行调试的型号,通过客户端将需要调试的应用上传到调试平台,调试平台将该应用安装至用户选择的型号对应的实体终端,用户通过客户端对实体终端进行远程控制,并通过客户端向调试平台发送调试指令,实现基于该实体终端的远程应用调试,从而方便、可靠、全面地检测应用与不同机型实体终端的适配性,降低应用开发和调试成本。
进一步的,所述方法还包括:接收屏幕截图,所述屏幕截图通过所述调试平台对所述第一终端的显示屏幕进行实时截屏获得;向所述用户推送所述屏幕截图。
其包括以下有益效果:将终端的屏幕截图发送给客户端,并通过客户端呈现给用户,用户根据屏幕截图可以更加直观地基于终端对应用进行调试,在用户体验上实现用户对终端的直接控制,提高用户的调试体验,并且这种直观的调试方式能够有效避免用户误操作,进一步提高调试的准确性和可靠性。
进一步的,所述发送所述调试指令,包括:获取所述用户以当前的屏幕截图为交互界面进行的交互操作;发送所述调试指令,所述调试指令包括所述屏幕截图和所述交互操作,所述调试指令用于使所述调试平台通过将所述交互操作映射至所述第一终端当前的显示屏幕,控制所述第一终端进行相应的处理。
其包括以下有益效果:基于终端的屏幕截图,用户可以更直观方便地进行应用调试。
根据本公开实施例的第二方面,提供一种应用调试方法,该方法包括:接收安装请求,所述安装请求包括待调试应用和第一终端型号,所述第一终端型号是所述用户从客户端根据用户的调试请求向所述用户推送的各终端型号中,选择的调试所需的终端型号,所述调试请求包括待调试应用;根据所述安装请求,将所述待调试应用安装至与所述第一终端型号匹配的第一终端;接收所述调试指令,并根据所述调试指令,通过控制所述第一终端进行相应的处理,对所述待调试应用进行调试。
其包括以下有益效果:用户在开发出某应用后,在客户端发起调试请求,从调试平台支持的不同终端型号中选择需要进行调试的型号,通过客户端将需要调试的应用上传到调试平台,调试平台将该应用安装至用户选择的型号对应的实体终端,用户通过客户端对实体终端进行远程控制,并通过客户端向调试平台发送调试指令,实现基于该实体终端的远程应用调试,从而方便、可靠、全面地检测应用与不同机型实体终端的适配性,降低应用开发和调试成本。
进一步的,所述方法还包括:对所述第一终端的显示屏幕进行实时截屏,获得并发送屏幕截图,以使所述客户端向所述用户推送所述屏幕截图。
其包括以下有益效果:将终端的屏幕截图发送给客户端,并通过客户端呈现给用户,用户根据屏幕截图可以更加直观地基于终端对应用进行调试,在用户体验上实现用户对终端的直接控制,提高用户的调试体验,并且这种直观的调试方式能够有效避免用户误操作,进一步提高调试的准确性和可靠性。
进一步的,所述调试指令包括当前的屏幕截图和所述用户以所述屏幕截图为交互界面进行的交互操作;所述根据所述调试指令,通过控制所述第一终端进行相应的处理,对所述待调试应用进行调试,包括:通过将所述交互操作映射至所述第一终端当前的显示屏幕,控制所述第一终端执行相应的处理。
其包括以下有益效果:基于终端的屏幕截图,用户可以更直观方便地进行应用调试。
根据本公开实施例的第三方面,提供一种客户端,该客户端包括:第一推送模块,用于根据用户的调试请求,向所述用户推送调试平台支持的各终端型号,以使所述用户从所述各终端型号中选择调试所需的第一终端型号,所述调试请求包括待调试应用;第一发送模块,用于发送安装请求,所述安装请求包括所述待调试应用和所述第一终端型号,所述调试请求用于使所述调试平台将所述待调试应用安装至与所述第一终端型号匹配的第一终端;第二发送模块,用于发送所述调试指令,所述调试指令用于使所述调试平台根据所述调试指令,通过控制所述第一终端进行相应的处理,对所述待调试应用进行调试。
其包括以下有益效果:可以使用户在开发出某应用后,在客户端发起调试请求,从调试平台支持的不同终端型号中选择需要进行调试的型号,通过客户端将需要调试的应用上传到调试平台,调试平台将该应用安装至用户选择的型号对应的实体终端,用户通过客户端对实体终端进行远程控制,并通过客户端向调试平台发送调试指令,实现基于该实体终端的远程应用调试,从而方便、可靠、全面地检测应用与不同机型实体终端的适配性,降低应用开发和调试成本。
进一步的,所述客户端还包括:接收模块,用于接收屏幕截图,所述屏幕截图通过所述调试平台对所述第一终端的显示屏幕进行实时截屏获得;第二推送模块,用于向所述用户推送所述屏幕截图。
其包括以下有益效果:客户端将终端的屏幕截图呈现给用户,用户根据屏幕截图可以更加直观地基于终端对应用进行调试,在用户体验上实现用户对终端的直接控制,提高用户的调试体验,并且这种直观的调试方式能够有效避免用户误操作,进一步提高调试的准确性和可靠性。
进一步的,所述第二发送模块包括:获取单元,用于获取所述用户以当前的屏幕截图为交互界面进行的交互操作;发送单元,用于发送所述调试指令,所述调试指令包括所述屏幕截图和所述交互操作,所述调试指令用于使所述调试平台通过将所述交互操作映射至所述第一终端当前的显示屏幕,控制所述第一终端进行相应的处理。
其包括以下有益效果:基于终端的屏幕截图,用户可以更直观方便地进行应用调试。
根据本公开实施例的第四方面,提供一种调试平台,该调试平台包括:第一接收模块,用于接收安装请求,所述安装请求包括待调试应用和第一终端型号,所述第一终端型号是所述用户从所述客户端根据用户的调试请求向所述用户推送的各终端型号中,选择的调试所需的终端型号,所述调试请求包括待调试应用;安装模块,用于根据所述安装请求,将所述待调试应用安装至与所述第一终端型号匹配的第一终端;第二接收模块,用于接收所述调试指令;控制模块,用于根据所述调试指令,通过控制所述第一终端进行相应的处理,对所述待调试应用进行调试。
其包括以下有益效果:用户在开发出某应用后,在客户端发起调试请求,从调试平台支持的不同终端型号中选择需要进行调试的型号,通过客户端将需要调试的应用上传到调试平台,调试平台将该应用安装至用户选择的型号对应的实体终端,用户通过客户端对实体终端进行远程控制,并通过客户端向调试平台发送调试指令,实现基于该实体终端的远程应用调试,从而方便、可靠、全面地检测应用与不同机型实体终端的适配性,降低应用开发和调试成本。
进一步的,所述调试平台还包括:截图模块,用于对所述第一终端的显示屏幕进行实时截屏,获得屏幕截图;发送模块,用于发送所述屏幕截图,以使所述客户端向所述用户推送所述屏幕截图。
其包括以下有益效果:将终端的屏幕截图发送给客户端,并通过客户端呈现给用户,用户根据屏幕截图可以更加直观地基于终端对应用进行调试,在用户体验上实现用户对终端的直接控制,提高用户的调试体验,并且这种直观的调试方式能够有效避免用户误操作,进一步提高调试的准确性和可靠性。
进一步的,所述调试指令包括当前的屏幕截图和所述用户以所述屏幕截图为交互界面进行的交互操作;所述控制模块包括:映射单元,用于通过将所述交互操作映射至所述第一终端当前的显示屏幕,控制所述第一终端执行相应的处理。
其包括以下有益效果:基于终端的屏幕截图,用户可以更直观方便地进行应用调试。
根据本公开实施例的第五方面,提供一种客户端,该客户端包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:根据用户的调试请求,向所述用户推送调试平台支持的各终端型号,以使所述用户从所述各终端型号中选择调试所需的第一终端型号,所述调试请求包括待调试应用;发送安装请求,所述安装请求包括所述待调试应用和所述第一终端型号,所述调试请求用于使所述调试平台将所述待调试应用安装至与所述第一终端型号匹配的第一终端;发送所述调试指令,所述调试指令用于使所述调试平台根据所述调试指令,通过控制所述第一终端进行相应的处理,对所述待调试应用进行调试。
其包括以下有益效果:可以使用户在开发出某应用后,在客户端发起调试请求,从调试平台支持的不同终端型号中选择需要进行调试的型号,通过客户端将需要调试的应用上传到调试平台,调试平台将该应用安装至用户选择的型号对应的实体终端,用户通过客户端对实体终端进行远程控制,并通过客户端向调试平台发送调试指令,实现基于该实体终端的远程应用调试,从而方便、可靠、全面地检测应用与不同机型实体终端的适配性,降低应用开发和调试成本。
根据本公开实施例的第六方面,提供一种调试平台,该调试平台包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:接收安装请求,所述安装请求包括待调试应用和第一终端型号,所述第一终端型号是所述用户从客户端根据用户的调试请求向所述用户推送的各终端型号中,选择的调试所需的终端型号,所述调试请求包括待调试应用;根据所述安装请求,将所述待调试应用安装至与所述第一终端型号匹配的第一终端;接收所述调试指令,并根据所述调试指令,通过控制所述第一终端进行相应的处理,对所述待调试应用进行调试。
其包括以下有益效果:用户在开发出某应用后,在客户端发起调试请求,从调试平台支持的不同终端型号中选择需要进行调试的型号,通过客户端将需要调试的应用上传到调试平台,调试平台将该应用安装至用户选择的型号对应的实体终端,用户通过客户端对实体终端进行远程控制,并通过客户端向调试平台发送调试指令,实现基于该实体终端的远程应用调试,从而方便、可靠、全面地检测应用与不同机型实体终端的适配性,降低应用开发和调试成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种应用调试方法的流程图;
图2A是根据另一示例性实施例示出的一种应用调试方法的流程图;
图2B是根据另一示例性实施例示出的一种应用调试方法的流程图;
图3是根据一示例性实施例示出的一种应用调试方法的流程图;
图4A是根据另一示例性实施例示出的一种应用调试方法的流程图;
图4B是根据另一示例性实施例示出的一种应用调试方法的流程图;
图5是根据一示例性实施例示出的一种应用调试方法的流程图;
图6是根据一示例性实施例示出的一种客户端的结构图;
图7A是根据另一示例性实施例示出的一种客户端的结构图;
图7B是根据另一示例性实施例示出的一种客户端的结构图;
图8是根据一示例性实施例示出的一种调试平台的结构图;
图9A是根据另一示例性实施例示出的一种调试平台的结构图;
图9B是根据另一示例性实施例示出的一种调试平台的结构图;
图10是根据一示例性实施例示出的一种客户端的框图;
图11是根据一示例性实施例示出的一种调试平台的框图;
图12是根据一示例性实施例示出的一种客户端1200的框图;
图13是根据一示例性实施例示出的一种调试平台1300的框图。
此处的附图被并入说明书中并构成说明书的一部分,示出了符合本公开的实施例,并与说明书仪器用于解释本发明的原理。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
首先对本公开实施例所涉及的几个名词进行解释:
客户端:是指与平台相对应,为用户提供本地服务的程序,其包括但不限于本地客户端、网页客户端等。
终端:包括但不限于任何一种可与用户通过键盘、触摸板、或声控设备进行人机交互的实体电子产品,例如手机、智能手机等。本领域技术人员应能理解,其他的终端如可适用于本发明,也应包含在本发明保护范围以内。
图1是根据一示例性实施例示出的一种应用调试方法的流程图,如图1所示,本实施例以该应用调试方法应用于客户端中来举例说明,该应用调试方法可以包括如下几个步骤:
在步骤101中,根据用户的调试请求,向用户推送至少两个调试平台支持的终端型号,以使用户从至少两个终端型号中选择调试所需的第一终端型号,调试请求包括待调试应用。
其中,本方案中的终端为实体设备,终端型号用于表征个性化定制后的终端,例如,智能手机的型号等。
具体的,101的执行主体可以为客户端,该客户端用于为用户提供本地服务,举例来说,可以为本地客户端、网页客户端等。以实际应用场景来进行举例说明,该场景涉及云调试的场景:
当用户在开发出某应用后,为了检测该应用于不同型号的终端,需要基于不同型号的终端,对该应用进行调试。本方案中,用户开发出应用后,可以在客户端发起调试请求,客户端会将调试平台支持的各终端型号推送给用户,用户看到调试平台支持调试的各终端型号后,从中选择自己当前希望调试的型号,以在后续基于相应型号的终端进行应用调试。
实际应用中,在调试平台侧,可以预先配置不同型号的终端,这些终端均为实体设备,并可以通过有线或无线的方式,实现与调试平台的通信连接,基于该通信连接,调试平台可以控制终端进行任意处理和操作。
其中,调试平台支持的各终端型号可以预先存储在客户端本地,或者也可以由客户端根据用户的调试请求从调试平台获取,本实施例在此不对其进行限制。例如,用户在客户端发起调试请求后,客户端可以将用户的调试请求转发给调试平台,调试平台接收到调试请求后,会将自身支持调试的各终端的型号反馈给客户端,客户端将其进一步推送给用户。
在步骤102中,发送安装请求,安装请求包括待调试应用和第一终端型号,调试请求用于使调试平台将待调试应用安装至与第一终端型号匹配的第一终端。
具体的,102的执行主体仍可以为客户端,进一步的,102中客户端将安装请求发送给调试平台,以使调试平台根据安装请求,将待调试应用安装至第一终端。仍以前述的实际应用场景进行举例说明:
用户从客户端推送的各终端型号中,选择出希望调试的终端型号后,通过客户端向调试平台发送安装请求,该安装请求包括用户开发出的应用和选择的终端型号,调试平台接收到安装请求后,将安装请求中的应用安装至与用户选择的终端型号匹配的终端中,以便后续进行调试。进一步的,将应用发送至调试平台的过程可以通过上传应用的方式实现。
具体的,基于某终端对某应用进行调试的过程,即观察该应用在该终端中运行的过程中是否会出现不适配,例如,无法正常运行的情况。因此,本方案中,调试平台接收到安装请求后,需要先将待调试的应用安装至用户选择的型号对应的终端中,也即是说,本方案中的应用调试均基于实体终端进行,即便用户没有所需型号的终端,也可方便快捷地实现真机调试,相比于模拟机调试,真机调试的准确性和可靠性更高,并且调试的种类更加丰富和灵活。
实际应用中,调试平台将应用安装至终端可以有多种实现方法,以终端的系统为安卓系统为例,调试平台可以利用adb install filename命令,将待调试应用安装至该终端。
在步骤103中,发送调试指令,调试指令用于使调试平台根据调试指令,通过控制第一终端进行相应的处理,对待调试应用进行调试。
具体的,103的执行主体仍可以为客户端,进一步的,103中客户端将调试指令发送给调试平台,以使调试平台根据调试指令,通过控制第一终端进行相应的处理,对待调试应用进行调试。仍以前述的实际应用场景进行举例说明:
调试平台根据接收到的安装请求,将需要调试的应用安装至用户选择的型号对应的终端后,用户即可通过客户端向调试平台发送各种调试指令,调试平台根据调试指令,即可通过控制终端进行相应的处理来实现应用调试。具体的,应用调试的类型可以根据用户的需要确定,其可以为一种或多种。
实际应用中,可以采用LEMP(Linux+nginx+mysql+php)搭建调试平台,调试平台可以采用jython结合monkeyrunner的方式实现对终端的控制,用户可以选择调试所需的终端的型号,并通过web客户端将需要调试的应用上传至调试平台,调试平台会将该应用安装至与用户选择型号对应的终端,并根据用户后续发送的各种调试指令,控制终端执行相应处理操作,方便快捷地实现远程真机调试。
本实施例中涉及调试平台的方法,可以参照后述各实施例的相关内容,本实施例在此不再重复阐述。
综上所述,本实施例提供的应用调试方法中,用户在开发出某应用后,在客户端发起调试请求,从调试平台支持的不同终端型号中选择需要进行调试的型号,通过客户端将需要调试的应用上传到调试平台,调试平台将该应用安装至用户选择的型号对应的实体终端,用户通过客户端对实体终端进行远程控制,并通过客户端向调试平台发送调试指令,实现基于该实体终端的远程应用调试,从而方便、可靠、全面地检测应用与不同机型实体终端的适配性,降低应用开发和调试成本。
图2A是根据另一示例性实施例示出的一种应用调试方法的流程图,如图2A所示,本实施例以该应用调试方法应用于客户端中来举例说明,该应用调试方法可以包括如下几个步骤:
在步骤201中,根据用户的调试请求,向用户推送至少两个调试平台支持的终端型号,以使用户从至少两个终端型号中选择调试所需的第一终端型号,调试请求包括待调试应用;
在步骤202中,发送安装请求,安装请求包括待调试应用和第一终端型号,调试请求用于使调试平台将待调试应用安装至与第一终端型号匹配的第一终端;
在步骤203中,接收屏幕截图,屏幕截图通过调试平台对第一终端的显示屏幕进行实时截屏获得;
在步骤204中,向用户推送屏幕截图;
在步骤205中,发送调试指令,调试指令用于使调试平台根据调试指令,通过控制第一终端进行相应的处理,对待调试应用进行调试。
具体的,步骤201至步骤205的执行主体均为客户端,进一步的,步骤202中,客户端将安装请求发送给调试平台,以使调试平台根据安装请求,将待调试应用安装至第一终端;步骤203中,客户端接收调试平台发送的屏幕截图,以在步骤204中将屏幕截图推送给用户;步骤205中,客户端向调试平台发送调试指令,以使调试平台根据调试指令,通过控制第一终端进行相应的处理,对待调试应用进行调试。
其中,步骤203和步骤204的执行时刻可以为步骤202之后的任意时刻,例如,可以在步骤202之后,通过实时执行步骤203和204,实现调试平台将终端的显示屏幕,通过客户端实时呈现给用户,以便于用户进行调试。
具体的,调试平台同样可以采用jython结合monkeyrunner的方式,将终端的显示屏幕映射至客户端进行显示。
基于调试平台发送的终端的屏幕截图,用户可以更直观方便地进行应用调试。相应的,如图2B所示,图2B是根据另一示例性实施例示出的一种应用调试方法的流程图,在图2A所示实施方式的基础上,步骤205具体可以包括:
在步骤206中,获取用户以当前的屏幕截图为交互界面进行的交互操作;
在步骤207中,发送调试指令,调试指令包括屏幕截图和交互操作,调试指令用于使调试平台通过将交互操作映射至第一终端当前的显示屏幕,控制第一终端进行相应的处理。
具体的,步骤206和步骤207的执行主体均为客户端,进一步的,步骤206中,客户端获取用户以当前的屏幕截图为交互界面进行的交互操作;步骤207中,客户端向调试平台发送包括屏幕截图和交互操作的调试指令,以使调试平台通过将交互操作映射至第一终端当前的显示屏幕,控制第一终端进行相应的处理。
以实际场景举例来说,客户端将调试平台发送的终端的屏幕截图呈现给用户后,用户可以根据调试需要,以当前的屏幕截图为交互界面,在客户端对该屏幕截图进行交互操作,例如点击截图中的某个选项等,相应的,客户端可以获取所述用户以当前的屏幕截图为交互界面进行的交互操作,例如,用户点击的选项在屏幕截图中的位置坐标、以及用户进行了哪些交互操作,后续客户端根据用户的交互操作,向调试平台发送相应的调试指令,调试平台接收到调试指令后,可以将用户在屏幕截图上的交互操作映射至第一终端的显示屏幕,从而确定用户需要进行的调试操作,进而控制终端进行相应处理。
实际应用中,调试平台可以使用monkeyrunner脚本多线程对终端的显示屏幕进行截图,并发送给客户端,以不断刷新客户端呈现给用户的屏幕截图,客户端则可以使用JavaScript脚本(简称JS)获取用户在客户端对屏幕截图进行的操作,并通过异步JavaScript和XML(简称asynchronous Javascript and XML,简称ajax)将用户的操作回传给调试平台。
本实施例中涉及调试平台的方法,可以参照后述各实施例的相关内容,本实施例在此不再重复阐述。
综上所述,本实施例提供的应用调试方法中,调试平台将终端的屏幕截图发送给客户端,并通过客户端呈现给用户,用户根据屏幕截图可以更加直观地基于终端对应用进行调试,在用户体验上实现用户对终端的直接控制,提高用户的调试体验,并且这种直观的调试方式能够有效避免用户误操作,进一步提高调试的准确性和可靠性。
图3是根据一示例性实施例示出的一种应用调试方法的流程图,如图3所示,本实施例以该应用调试方法应用于调试平台中来举例说明,该应用调试方法可以包括如下几个步骤:
在步骤301中,接收安装请求,安装请求包括待调试应用和第一终端型号,第一终端型号是用户从客户端根据用户的调试请求向用户推送的至少两个终端型号中,选择的调试所需的终端型号,调试请求包括待调试应用。
其中,本方案中的终端为实体设备,终端型号用于表征个性化定制后的终端,例如,智能手机的型号等。
具体的,301的执行主体可以为调试平台,该调试平台可用于为用户提供云调试服务,安装请求是由客户端发送的。以实际应用场景来进行举例说明,该场景涉及云调试的场景:
当用户在开发出某应用后,为了检测该应用于不同型号的终端,需要基于不同型号的终端,对该应用进行调试。本方案中,用户开发出应用后,可以在客户端发起调试请求,客户端会将调试平台支持的各终端型号推送给用户,用户看到调试平台支持调试的各终端型号后,从中选择自己当前希望调试的型号,以在后续基于相应型号的终端进行应用调试。
实际应用中,在调试平台侧,可以预先配置不同型号的终端,这些终端均为实体设备,并可以通过有线或无线的方式,实现与调试平台的通信连接,基于该通信连接,调试平台可以控制终端进行任意处理和操作。
其中,调试平台支持的各终端型号可以预先存储在客户端本地,或者也可以由客户端根据用户的调试请求从调试平台获取,本实施例在此不对其进行限制。
在步骤302中,根据安装请求,将待调试应用安装至与第一终端型号匹配的第一终端。
具体的,302的执行主体仍为调试平台,进一步的,302中调试平台将待调试应用安装至与第一终端型号匹配的第一终端。仍以前述的实际应用场景进行举例说明:
用户从客户端推送的各终端型号中,选择出希望调试的终端型号后,通过客户端向调试平台发送安装请求,该安装请求包括用户开发出的应用和选择的终端型号,调试平台接收到安装请求后,将安装请求中的应用安装至与用户选择的终端型号匹配的终端中,以便后续进行调试。进一步的,将应用发送至调试平台的过程可以通过上传应用的方式实现。
本方案中,调试平台接收到安装请求后,需要先将待调试的应用安装至用户选择的型号对应的终端中,也即是说,本方案中的应用调试均基于实体终端进行,即便用户没有所需型号的终端,也可方便快捷地实现真机调试,相比于模拟机调试,真机调试的准确性和可靠性更高,并且调试的种类更加丰富和灵活。
实际应用中,调试平台将应用安装至终端可以有多种实现方法,以终端的系统为安卓系统为例,调试平台可以利用adb install filename命令,将待调试应用安装至该终端。
在步骤303中,接收调试指令,并根据调试指令,通过控制第一终端进行相应的处理,对待调试应用进行调试。
具体的,303的执行主体仍为调试平台,进一步的,调试指令是由客户端发送的,相应的,303中调试平台根据客户端发送的调试指令,通过控制第一终端进行相应的处理,对待调试应用进行调试。仍以前述的实际应用场景进行举例说明:
调试平台根据接收到的安装请求,将需要调试的应用安装至用户选择的型号对应的终端后,用户即可通过客户端向调试平台发送各种调试指令,调试平台根据调试指令,即可通过控制终端进行相应的处理来实现应用调试。具体的,应用调试的类型可以根据用户的需要确定,其可以为一种或多种。
实际应用中,可以采用LEMP(Linux+nginx+mysql+php)搭建调试平台,调试平台可以采用jython结合monkeyrunner的方式实现对终端的控制,用户可以选择调试所需的终端的型号,并通过web客户端将需要调试的应用上传至调试平台,调试平台会将该应用安装至与用户选择型号对应的终端,并根据用户后续发送的各种调试指令,控制终端执行相应处理操作,方便快捷地实现远程真机调试。
本实施例中涉及客户端的方法,可以参照前述各实施例的相关内容,本实施例在此不再重复阐述。
综上所述,本实施例提供的应用调试方法中,用户在开发出某应用后,在客户端发起调试请求,从调试平台支持的不同终端型号中选择需要进行调试的型号,通过客户端将需要调试的应用上传到调试平台,调试平台将该应用安装至用户选择的型号对应的实体终端,用户通过客户端对实体终端进行远程控制,并通过客户端向调试平台发送调试指令,实现基于该实体终端的远程应用调试,从而方便、可靠、全面地检测应用与不同机型实体终端的适配性,降低应用开发和调试成本。
图4A是根据另一示例性实施例示出的一种应用调试方法的流程图,如图4A所示,本实施例以该应用调试方法应用于调试平台中来举例说明,该应用调试方法可以包括如下几个步骤:
在步骤401中,接收安装请求,安装请求包括待调试应用和第一终端型号,第一终端型号是用户从客户端根据用户的调试请求向用户推送的至少两个终端型号中,选择的调试所需的终端型号,调试请求包括待调试应用;
在步骤402中,对第一终端的显示屏幕进行实时截屏,获得并发送屏幕截图,以使客户端向用户推送屏幕截图;
在步骤403中,根据安装请求,将待调试应用安装至与第一终端型号匹配的第一终端;
在步骤404中,接收调试指令,并根据调试指令,通过控制第一终端进行相应的处理,对待调试应用进行调试。
具体的,步骤401至步骤404的执行主体均为调试平台,进一步的,步骤401中的安装请求是由客户端发送的,相应的,调试平台接收客户端发送的安装请求;步骤402中,调试平台对第一终端的显示屏幕进行实时截屏,并将获得的屏幕截图发送给客户端,以使客户端向用户推送屏幕截图;步骤403中,调试平台根据安装请求,将待调试应用安装至与第一终端型号匹配的第一终端;步骤404中的调试指令是由客户端发送的,相应的,调试平台根据客户端发送的调试指令,通过控制第一终端进行相应的处理,对待调试应用进行调试。
其中,步骤402的执行时刻可以为步骤401之后的任意时刻,例如,可以在步骤401之后,通过实时执行402,实现将终端的显示屏幕,通过客户端实时呈现给用户,以便于用户进行调试。
具体的,调试平台同样可以采用jython结合monkeyrunner的方式,将终端的显示屏幕映射至客户端进行显示。
基于调试平台发送的终端的屏幕截图,用户可以更直观方便地进行应用调试。相应的,如图4B所示,图4B是根据另一示例性实施例示出的一种应用调试方法的流程图,在图4A所示实施方式的基础上,所述调试指令包括当前的屏幕截图和所述用户以所述屏幕截图为交互界面进行的交互操作;
相应的,步骤404中所述根据所述调试指令,通过控制所述第一终端进行相应的处理,对所述待调试应用进行调试,具体可以包括:
在步骤405中,通过将所述交互操作映射至第一终端当前的显示屏幕,控制第一终端执行相应的处理。
具体的,步骤405的执行主体为调试平台,相应的,调试平台通过将所述交互操作映射至第一终端当前的显示屏幕,控制第一终端执行相应的处理。
以实际场景举例来说,客户端将调试平台发送的终端的屏幕截图呈现给用户后,用户可以根据调试需要,在客户端对该屏幕截图进行操作,例如点击截图中的某个选项等,相应的,客户端可以获取所述用户以当前的屏幕截图为交互界面进行的交互操作,例如,用户点击的选项在屏幕截图中的位置坐标、以及用户进行了哪些操作,后续客户端根据用户的操作,向调试平台发送相应的调试指令,调试平台接收到调试指令后,可以将用户在屏幕截图上的操作映射至第一终端的显示屏幕,从而确定用户需要进行的调试操作,进而控制终端进行相应处理。
实际应用中,调试平台可以使用monkeyrunner脚本多线程对终端的显示屏幕进行截图,并发送给客户端,以不断刷新客户端呈现给用户的屏幕截图,客户端则可以使用JavaScript脚本(简称JS)获取用户在客户端对屏幕截图进行的操作,并通过异步JavaScript和XML(简称asynchronous Javascript and XML,简称ajax)将用户的操作回传给调试平台。
本实施例中涉及客户端的方法,可以参照前述各实施例的相关内容,本实施例在此不再重复阐述。
综上所述,本实施例提供的应用调试方法中,调试平台将终端的屏幕截图发送给客户端,并通过客户端呈现给用户,用户根据屏幕截图可以更加直观地基于终端对应用进行调试,在用户体验上实现用户对终端的直接控制,提高用户的调试体验,并且这种直观的调试方式能够有效避免用户误操作,进一步提高调试的准确性和可靠性。
图5是根据一示例性实施例示出的一种应用调试方法的流程图,如图5所示,本实施例以该应用调试方法应用于客户端和调试平台来举例说明,该应用调试方法可以包括如下几个步骤:
在步骤501中,客户端根据用户的调试请求,向用户推送至少两个调试平台支持的终端型号,调试请求包括待调试应用;
在步骤502中,客户端接收用户从至少两个终端型号中选择的调试所需的第一终端型号;
在步骤503中,客户端向调试平台发送安装请求,安装请求包括待调试应用和第一终端型号;
在步骤504中,调试平台根据接收到的安装请求,将待调试应用安装至与第一终端型号匹配的第一终端;
在步骤505中,客户端将调试指令发送给调试平台;
在步骤506中,调试平台根据接收到的调试指令,通过控制第一终端进行相应的处理,对待调试应用进行调试。
综上所述,本实施例提供的应用调试方法中,用户在开发出某应用后,在客户端发起调试请求,从调试平台支持的不同终端型号中选择需要进行调试的型号,通过客户端将需要调试的应用上传到调试平台,调试平台将该应用安装至用户选择的型号对应的实体终端,用户通过客户端对实体终端进行远程控制,并通过客户端向调试平台发送调试指令,实现基于该实体终端的远程应用调试,从而方便、可靠、全面地检测应用与不同机型实体终端的适配性,降低应用开发和调试成本。
以上描述了应用调试方法的实现过程,该过程可以由客户端和调试平台来实现,以下将对客户端和调试平台的内部功能和结构进行说明。
图6是根据一示例性实施例示出的一种客户端的结构图,如图6所示,该客户端包括:
第一推送模块61,用于根据用户的调试请求,向所述用户推送调试平台支持的各终端型号,以使所述用户从所述各终端型号中选择调试所需的第一终端型号,所述调试请求包括待调试应用;
第一发送模块62,用于发送安装请求,所述安装请求包括所述待调试应用和所述第一终端型号,所述调试请求用于使所述调试平台将所述待调试应用安装至与所述第一终端型号匹配的第一终端;
第二发送模块63,用于发送所述调试指令,所述调试指令用于使所述调试平台根据所述调试指令,通过控制所述第一终端进行相应的处理,对所述待调试应用进行调试。
其中,本方案中的终端为实体设备,终端型号用于表征个性化定制后的终端,例如,智能手机的型号等。
具体的,第一发送模块62用于向调试平台发送安装请求,以使调试平台根据安装请求,将待调试应用安装至第一终端,第二发送模块63用于向调试平台发送调试指令,以使调试平台根据调试指令,通过控制第一终端进行相应的处理,对待调试应用进行调试。以实际应用场景来进行举例说明,该场景涉及云调试的场景:
当用户在开发出某应用后,为了检测该应用于不同型号的终端,需要基于不同型号的终端,对该应用进行调试。本方案中,用户开发出应用后,可以在客户端发起调试请求,第一推送模块61会将调试平台支持的各终端型号推送给用户,用户看到调试平台支持调试的各终端型号后,从中选择自己当前希望调试的型号;第一发送模块62向调试平台发送安装请求,该安装请求包括用户开发出的应用和选择的终端型号,调试平台接收到安装请求后,将安装请求中的应用安装至与用户选择的终端型号匹配的终端中;用户即可通过第二发送模块63向调试平台发送各种调试指令,调试平台根据调试指令,即可通过控制终端进行相应的处理来实现应用调试。
实际应用中,在调试平台侧,可以预先配置不同型号的终端,这些终端均为实体设备,并可以通过有线或无线的方式,实现与调试平台的通信连接,基于该通信连接,调试平台可以控制终端进行任意处理和操作。
其中,调试平台支持的各终端型号可以预先存储在客户端本地,相应的,所述客户端还可以包括:存储模块,用于存储所述调试平台支持的各终端型号;或者,也可以由客户端根据用户的调试请求从调试平台获取,相应的,所述客户端还可以包括:第三发送模块,用于将用户的调试请求转发给调试平台,型号接收模块,用于接收调试平台根据调试请求返回的所述调试平台支持调试的各终端型号。
本方案中,调试平台接收到安装请求后,需要先将待调试的应用安装至用户选择的型号对应的终端中,也即是说,本方案中的应用调试均基于实体终端进行,即便用户没有所需型号的终端,也可方便快捷地实现真机调试,相比于模拟机调试,真机调试的准确性和可靠性更高,并且调试的种类更加丰富和灵活。
实际应用中,调试平台将应用安装至终端可以有多种实现方法,以终端的系统为安卓系统为例,调试平台可以利用adb install filename命令,将待调试应用安装至该终端。
实际应用中,可以采用LEMP(Linux+nginx+mysql+php)搭建调试平台,调试平台可以采用jython结合monkeyrunner的方式实现对终端的控制,用户可以选择调试所需的终端的型号,并通过web客户端将需要调试的应用上传至调试平台,调试平台会将该应用安装至与用户选择型号对应的终端,并根据用户后续发送的各种调试指令,控制终端执行相应处理操作,方便快捷地实现远程真机调试。
综上所述,本实施例提供的客户端,可以使用户在开发出某应用后,在客户端发起调试请求,从调试平台支持的不同终端型号中选择需要进行调试的型号,通过客户端将需要调试的应用上传到调试平台,调试平台将该应用安装至用户选择的型号对应的实体终端,用户通过客户端对实体终端进行远程控制,并通过客户端向调试平台发送调试指令,实现基于该实体终端的远程应用调试,从而方便、可靠、全面地检测应用与不同机型实体终端的适配性,降低应用开发和调试成本。
图7A是根据另一示例性实施例示出的一种客户端的结构图,如图7A所示,在图6所示实施例的基础上,所述客户端还包括:
接收模块71,用于接收屏幕截图,屏幕截图是调试平台对第一终端的显示屏幕进行实时截屏获得的;
第二推送模块72,用于向用户推送屏幕截图。
具体的,接收模块71接收调试平台发送的屏幕截图,第二推送模块72将屏幕截图推送给用户。
其中,接收模块71和第二推送模块72可以在第一发送模块62向调试平台发送安装请求之后的任意时刻,例如,实时接收调试平台发送的屏幕截图,并推送给用户,以实现调试平台将终端的显示屏幕,通过客户端实时呈现给用户,以便于用户进行调试。
具体的,调试平台同样可以采用jython结合monkeyrunner的方式,将终端的显示屏幕映射至客户端进行显示。
基于调试平台发送的终端的屏幕截图,用户可以更直观方便地进行应用调试。相应的,如图7B所示,图7B是根据另一示例性实施例示出的一种客户端的结构图,在图7A所示实施方式的基础上,第二发送模块63包括:
获取单元631,用于获取所述用户以当前的屏幕截图为交互界面进行的交互操作;
发送单元632,用于发送所述调试指令,所述调试指令包括所述屏幕截图和所述交互操作,所述调试指令用于使所述调试平台通过将所述交互操作映射至所述第一终端当前的显示屏幕,控制所述第一终端进行相应的处理。
具体的,获取单元631获取用户以当前的屏幕截图为交互界面进行的交互操作;发送单元632向调试平台发送包括屏幕截图和交互操作的调试指令,以使调试平台通过将交互操作映射至第一终端当前的显示屏幕,控制第一终端进行相应的处理。
以实际场景举例来说,第二推送模块72将调试平台发送的终端的屏幕截图呈现给用户后,用户可以根据调试需要,在客户端对该屏幕截图进行交互操作,例如点击截图中的某个选项等,相应的,获取单元631可以获取所述用户以当前的屏幕截图为交互界面进行的交互操作,例如,用户点击的选项在屏幕截图中的位置坐标、以及用户进行了哪些操作,后续发送单元632根据用户的操作,向调试平台发送相应的调试指令,调试平台接收到调试指令后,可以将用户在屏幕截图上的操作映射至第一终端的显示屏幕,从而确定用户需要进行的调试操作,进而控制终端进行相应处理。
实际应用中,调试平台可以使用monkeyrunner脚本多线程对终端的显示屏幕进行截图,并发送给客户端,以不断刷新客户端呈现给用户的屏幕截图,客户端则可以使用JavaScript脚本(简称JS)获取用户在客户端对屏幕截图进行的操作,并通过异步JavaScript和XML(简称asynchronous Javascript and XML,简称ajax)将用户的操作回传给调试平台。
综上所述,本实施例提供的客户端将调试平台发送的终端的屏幕截图呈现给用户,用户根据屏幕截图可以更加直观地基于终端对应用进行调试,在用户体验上实现用户对终端的直接控制,提高用户的调试体验,并且这种直观的调试方式能够有效避免用户误操作,进一步提高调试的准确性和可靠性。
图8是根据一示例性实施例示出的一种调试平台的结构图,如图8所示,该调试平台包括:
第一接收模块81,用于接收安装请求,安装请求包括待调试应用和第一终端型号,第一终端型号是用户从客户端根据用户的调试请求向用户推送的至少两个终端型号中,选择的调试所需的终端型号,调试请求包括待调试应用;
安装模块82,用于根据所述安装请求,将待调试应用安装至与第一终端型号匹配的第一终端;
第二接收模块83,用于接收调试指令;
控制模块84,用于根据调试指令,通过控制第一终端进行相应的处理,对待调试应用进行调试。
其中,本方案中的终端为实体设备,终端型号用于表征个性化定制后的终端,例如,智能手机的型号等。
具体的,第一接收模块81接收客户端发送的安装请求;安装模块82将待调试应用安装至与第一终端型号匹配的第一终端。进一步的,调试指令是由客户端发送的,相应的,第二接收模块83接收客户端发送的调试指令;控制模块84根据调试指令,通过控制第一终端进行相应的处理,对待调试应用进行调试。以实际应用场景来进行举例说明,该场景涉及云调试的场景:
当用户在开发出某应用后,为了检测该应用于不同型号的终端,需要基于不同型号的终端,对该应用进行调试。本方案中,用户开发出应用后,可以在客户端发起调试请求,客户端会将调试平台支持的各终端型号推送给用户,用户看到调试平台支持调试的各终端型号后,从中选择自己当前希望调试的型号,通过客户端向第一接收模块81发送安装请求,该安装请求包括用户开发出的应用和选择的终端型号,第一接收模块81接收到安装请求后,安装模块82将安装请求中的应用安装至与用户选择的终端型号匹配的终端中,用户通过客户端向调试平台的第二接收模块83发送各种调试指令,控制模块84根据调试指令,通过控制终端进行相应的处理来实现应用调试。
实际应用中,在调试平台侧,可以预先配置不同型号的终端,这些终端均为实体设备,并可以通过有线或无线的方式,实现与调试平台的控制模块84通信连接,基于该通信连接,控制模块84可以控制终端进行任意处理和操作。
其中,调试平台支持的各终端型号可以预先存储在客户端本地;或者,也可以由客户端根据用户的调试请求从调试平台获取,相应的,所述调试平台还包括:第三接收模块,用于接收所述客户端转发的用户的调试请求,反馈模块,用于根据所述调试请求,向所述客户端发送所述调试平台支持的各终端型号。
本方案中,第一接收模块81接收到安装请求后,安装模块82需要先将待调试的应用安装至用户选择的型号对应的终端中,也即是说,本方案中的应用调试均基于实体终端进行,即便用户没有所需型号的终端,也可方便快捷地实现真机调试,相比于模拟机调试,真机调试的准确性和可靠性更高,并且调试的种类更加丰富和灵活。
实际应用中,安装模块82将应用安装至终端可以有多种实现方法,以终端的系统为安卓系统为例,安装模块82可以利用adb install filename命令,将待调试应用安装至该终端。
实际应用中,可以采用LEMP(Linux+nginx+mysql+php)搭建调试平台,控制模块84可以采用jython结合monkeyrunner的方式实现对终端的控制,用户可以选择调试所需的终端的型号,并通过web客户端将需要调试的应用上传至调试平台,安装模块82会将该应用安装至与用户选择型号对应的终端,控制模块84根据第二接收模块83接收到的各种调试指令,控制终端执行相应处理操作,方便快捷地实现远程真机调试。
综上所述,本实施例提供的调试平台,用户在开发出某应用后,在客户端发起调试请求,从调试平台支持的不同终端型号中选择需要进行调试的型号,通过客户端将需要调试的应用上传到调试平台,调试平台将该应用安装至用户选择的型号对应的实体终端,用户通过客户端对实体终端进行远程控制,并通过客户端向调试平台发送调试指令,实现基于该实体终端的远程应用调试,从而方便、可靠、全面地检测应用与不同机型实体终端的适配性,降低应用开发和调试成本。
图9A是根据另一示例性实施例示出的一种调试平台的结构图,如图9A所示,在图8所示实施例的基础上,该调试平台还包括:
截图模块91,用于对所述第一终端的显示屏幕进行实时截屏,获得屏幕截图;
发送模块92,用于发送屏幕截图,以使客户端向用户推送所述屏幕截图。
具体的,截图模块91对第一终端的显示屏幕进行实时截屏,发送模块92将获得的屏幕截图发送给客户端,以使客户端向用户推送屏幕截图。
其中,截图模块91和发送模块92可以在第一接收模块81接收到客户端发送的安装请求之后的任意时刻,例如,实时对所述第一终端的显示屏幕进行实时截屏,并将获得的屏幕截图发送给客户端,以实现将终端的显示屏幕,通过客户端实时呈现给用户,以便于用户进行调试。
具体的,调试平台同样可以采用jython结合monkeyrunner的方式,将终端的显示屏幕映射至客户端进行显示。
基于调试平台发送的终端的屏幕截图,用户可以更直观方便地进行应用调试。相应的,如图9B所示,图9B是根据另一示例性实施例示出的一种调试平台的结构图,在图9A所示实施方式的基础上,所述调试指令包括当前的屏幕截图和所述用户以所述屏幕截图为交互界面进行的交互操作;相应的,控制模块84包括:
映射单元841,用于通过将交互操作映射至第一终端当前的显示屏幕,控制第一终端执行相应的处理。
具体的,映射单元841通过将所述交互操作映射至第一终端当前的显示屏幕,控制第一终端执行相应的处理。
以实际场景举例来说,客户端将调试平台发送的终端的屏幕截图呈现给用户后,用户可以根据调试需要,在客户端对该屏幕截图进行操作,相应的,客户端可以获取所述用户以当前的屏幕截图为交互界面进行的交互操作,后续客户端根据用户的操作,向第二接收模块83发送相应的调试指令,第二接收模块83接收到调试指令后,映射单元841可以将用户在屏幕截图上的操作映射至第一终端的显示屏幕,从而确定用户需要进行的调试操作,进而控制终端进行相应处理。
实际应用中,截图模块91可以使用monkeyrunner脚本多线程对终端的显示屏幕进行截图,并指示发送模块92发送给客户端,以不断刷新客户端呈现给用户的屏幕截图,客户端则可以使用JavaScript脚本(简称JS)获取用户在客户端对屏幕截图进行的操作,并通过异步JavaScript和XML(简称asynchronous Javascript and XML,简称ajax)将用户的操作回传给第二接收模块83。
综上所述,本实施例提供的调试平台,将终端的屏幕截图发送给客户端,并通过客户端呈现给用户,用户根据屏幕截图可以更加直观地基于终端对应用进行调试,在用户体验上实现用户对终端的直接控制,提高用户的调试体验,并且这种直观的调试方式能够有效避免用户误操作,进一步提高调试的准确性和可靠性。
以上描述了客户端和调试平台的内部功能和结构。
如图10所示,图10是根据一示例性实施例示出的一种客户端的框图,如图10所示,该客户端可实现为:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:根据用户的调试请求,向所述用户推送调试平台支持的各终端型号,以使所述用户从所述各终端型号中选择调试所需的第一终端型号,所述调试请求包括待调试应用;发送安装请求,所述安装请求包括所述待调试应用和所述第一终端型号,所述调试请求用于使所述调试平台将所述待调试应用安装至与所述第一终端型号匹配的第一终端;发送所述调试指令,所述调试指令用于使所述调试平台根据所述调试指令,通过控制所述第一终端进行相应的处理,对所述待调试应用进行调试。
本实施例提供的客户端,可以使用户在开发出某应用后,在客户端发起调试请求,从调试平台支持的不同终端型号中选择需要进行调试的型号,通过客户端将需要调试的应用上传到调试平台,调试平台将该应用安装至用户选择的型号对应的实体终端,用户通过客户端对实体终端进行远程控制,并通过客户端向调试平台发送调试指令,实现基于该实体终端的远程应用调试,从而方便、可靠、全面地检测应用与不同机型实体终端的适配性,降低应用开发和调试成本。
如图11所示,图11是根据一示例性实施例示出的一种调试平台的框图,如图11所示,该调试平台可实现为:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:接收安装请求,所述安装请求包括待调试应用和第一终端型号,所述第一终端型号是所述用户从客户端根据用户的调试请求向所述用户推送的各终端型号中,选择的调试所需的终端型号,所述调试请求包括待调试应用;根据所述安装请求,将所述待调试应用安装至与所述第一终端型号匹配的第一终端;接收所述调试指令,并根据所述调试指令,通过控制所述第一终端进行相应的处理,对所述待调试应用进行调试。
本实施例提供的调试平台,用户在开发出某应用后,在客户端发起调试请求,从调试平台支持的不同终端型号中选择需要进行调试的型号,通过客户端将需要调试的应用上传到调试平台,调试平台将该应用安装至用户选择的型号对应的实体终端,用户通过客户端对实体终端进行远程控制,并通过客户端向调试平台发送调试指令,实现基于该实体终端的远程应用调试,从而方便、可靠、全面地检测应用与不同机型实体终端的适配性,降低应用开发和调试成本。
图12是根据一示例性实施例示出的一种客户端1200的框图。例如,客户端1200可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图12,客户端1200可以包括以下一个或组件:处理组件1202,存储器1204,电力组件1206,多媒体组件1208,音频组件1210,输入/输出(I/O)的接口1212,传感器组件1214,以及通信组件1216。
处理组件1202通常控制客户端1200的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1202可以包括一个或处理器1220来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1202可以包括一个或模块,便于处理组件1202和其他组件之间的交互。例如,处理组件1202可以包括多媒体模块,以方便多媒体组件1208和处理组件1202之间的交互。
存储器1204被配置为存储各种类型的数据以支持在客户端1200的操作。这些数据的示例包括用于在客户端1200上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件1206为客户端1200的各种组件提供电力。电力组件1206可以包括电源管理系统,一个或电源,及其他与为客户端1200生成、管理和分配电力相关联的组件。
多媒体组件1208包括在所述客户端1200和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1208包括一个前置摄像头和/或后置摄像头。当客户端1200处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1210被配置为输出和/或输入音频信号。例如,音频组件1210包括一个麦克风(MIC),当客户端1200处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1204或经由通信组件1216发送。在一些实施例中,音频组件1210还包括一个扬声器,用于输出音频信号。
I/O接口1212为处理组件1202和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1214包括一个或传感器,用于为客户端1200提供各个方面的状态评估。例如,传感器组件1214可以检测到客户端1200的打开/关闭状态,组件的相对定位,例如所述组件为客户端1200的显示器和小键盘,传感器组件1214还可以检测客户端1200或客户端1200一个组件的位置改变,用户与客户端1200接触的存在或不存在,客户端1200方位或加速/减速和客户端1200的温度变化。传感器组件1214可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1214还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1214还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1216被配置为便于客户端1200和其他设备之间有线或无线方式的通信。客户端1200可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件1216经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1216还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,客户端1200可以被一个或应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1204,上述指令可由客户端1200的处理器1220执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD‐ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由客户端的处理器执行时,使得客户端能够执行一种应用调试方法,所述方法包括:
根据用户的调试请求,向所述用户推送调试平台支持的各终端型号,以使所述用户从所述各终端型号中选择调试所需的第一终端型号,所述调试请求包括待调试应用;发送安装请求,所述安装请求包括所述待调试应用和所述第一终端型号,所述调试请求用于使所述调试平台将所述待调试应用安装至与所述第一终端型号匹配的第一终端;发送所述调试指令,所述调试指令用于使所述调试平台根据所述调试指令,通过控制所述第一终端进行相应的处理,对所述待调试应用进行调试。
图13是根据一示例性实施例示出的一种调试平台1300的框图。例如,调试平台1300可以被提供为一服务器。参照图13,调试平台1300包括处理组件1322,其进一步包括一个或处理器,以及由存储器1332所代表的存储器资源,用于存储可由处理组件1322的执行的指令,例如应用程序。存储器1332中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1322被配置为执行指令,以执行上述方法:
接收安装请求,所述安装请求包括待调试应用和第一终端型号,所述第一终端型号是所述用户从客户端根据用户的调试请求向所述用户推送的各终端型号中,选择的调试所需的终端型号,所述调试请求包括待调试应用;根据所述安装请求,将所述待调试应用安装至与所述第一终端型号匹配的第一终端;接收所述调试指令,并根据所述调试指令,通过控制所述第一终端进行相应的处理,对所述待调试应用进行调试。
调试平台1300还可以包括一个电源组件1326被配置为执行调试平台1300的电源管理,一个有线或无线网络接口1350被配置为将调试平台1300连接到网络,和一个输入输出(I/O)接口1358。调试平台1300可以操作基于存储在存储器1332的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的客户端和调试平台的具体工作过程,可以参考前述方法实施例中的对应过程。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (7)

1.一种应用调试方法,其特征在于,包括:
根据用户的调试请求,向所述用户推送至少两个调试平台所支持的终端型号,以使所述用户从至少两个所述终端型号中选择调试所需的第一终端型号,所述调试请求包括待调试应用,所述待调试应用为已开发出的应用;
发送安装请求,所述安装请求包括所述待调试应用和所述第一终端型号,所述安装请求用于使所述调试平台将所述待调试应用安装至与所述第一终端型号匹配的第一终端;
接收屏幕截图,所述屏幕截图通过所述调试平台对所述第一终端的显示屏幕进行实时截屏获得;
向所述用户推送所述屏幕截图;
获取所述用户以当前的屏幕截图为交互界面进行的交互操作;
发送调试指令,所述调试指令包括所述屏幕截图和所述交互操作,所述调试指令用于使所述调试平台通过将所述交互操作映射至所述第一终端当前的显示屏幕,控制所述第一终端进行相应的处理。
2.一种应用调试方法,其特征在于,包括:
接收安装请求,所述安装请求包括待调试应用和第一终端型号,所述第一终端型号是用户从客户端根据用户的调试请求向所述用户推送的至少两个终端型号中,选择的调试所需的终端型号,所述调试请求包括待调试应用,所述待调试应用为已开发出的应用;
根据所述安装请求,将所述待调试应用安装至与所述第一终端型号匹配的第一终端;
对所述第一终端的显示屏幕进行实时截屏,获得并发送屏幕截图,以使所述客户端向所述用户推送所述屏幕截图;
接收调试指令,并通过将交互操作映射至所述第一终端当前的显示屏幕,控制所述第一终端执行相应的处理,所述调试指令包括当前的屏幕截图和所述用户以所述屏幕截图为交互界面进行的交互操作。
3.一种客户端,其特征在于,包括:
第一推送模块,用于根据用户的调试请求,向所述用户推送调试平台支持的各终端型号,以使所述用户从所述各终端型号中选择调试所需的第一终端型号,所述调试请求包括待调试应用,所述待调试应用为已开发出的应用;
第一发送模块,用于发送安装请求,所述安装请求包括所述待调试应用和所述第一终端型号,所述安装请求用于使所述调试平台将所述待调试应用安装至与所述第一终端型号匹配的第一终端;
接收模块,用于接收屏幕截图,所述屏幕截图通过所述调试平台对所述第一终端的显示屏幕进行实时截屏获得;
第二推送模块,用于向所述用户推送所述屏幕截图;
获取单元,用于获取所述用户以当前的屏幕截图为交互界面进行的交互操作;
发送单元,用于发送调试指令,所述调试指令包括所述屏幕截图和所述交互操作,所述调试指令用于使所述调试平台通过将所述交互操作映射至所述第一终端当前的显示屏幕,控制所述第一终端进行相应的处理。
4.一种调试平台,其特征在于,包括:
第一接收模块,用于接收安装请求,所述安装请求包括待调试应用和第一终端型号,所述第一终端型号是用户从客户端根据用户的调试请求向所述用户推送的各终端型号中,选择的调试所需的终端型号,所述调试请求包括待调试应用,所述待调试应用为已开发出的应用;
安装模块,用于根据所述安装请求,将所述待调试应用安装至与所述第一终端型号匹配的第一终端;
截图模块,用于对所述第一终端的显示屏幕进行实时截屏,获得屏幕截图;
发送模块,用于发送所述屏幕截图,以使所述客户端向所述用户推送所述屏幕截图;
第二接收模块,用于接收调试指令,所述调试指令包括当前的屏幕截图和所述用户以所述屏幕截图为交互界面进行的交互操作;
映射单元,用于通过将所述交互操作映射至所述第一终端当前的显示屏幕,控制所述第一终端执行相应的处理。
5.一种客户端,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:根据用户的调试请求,向所述用户推送调试平台支持的各终端型号,以使所述用户从所述各终端型号中选择调试所需的第一终端型号,所述调试请求包括待调试应用,所述待调试应用为已开发出的应用;发送安装请求,所述安装请求包括所述待调试应用和所述第一终端型号,所述安装请求用于使所述调试平台将所述待调试应用安装至与所述第一终端型号匹配的第一终端;接收屏幕截图,所述屏幕截图通过所述调试平台对所述第一终端的显示屏幕进行实时截屏获得;向所述用户推送所述屏幕截图;发送调试指令,所述调试指令包括所述屏幕截图和交互操作,所述调试指令用于使所述调试平台通过将所述交互操作映射至所述第一终端当前的显示屏幕,控制所述第一终端进行相应的处理。
6.一种调试平台,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:接收安装请求,所述安装请求包括待调试应用和第一终端型号,所述第一终端型号是用户从客户端根据用户的调试请求向所述用户推送的各终端型号中,选择的调试所需的终端型号,所述调试请求包括待调试应用,所述待调试应用为已开发出的应用;根据所述安装请求,将所述待调试应用安装至与所述第一终端型号匹配的第一终端;对所述第一终端的显示屏幕进行实时截屏,获得并发送屏幕截图,以使所述客户端向所述用户推送所述屏幕截图;接收调试指令,所述调试指令包括当前的屏幕截图和所述用户以所述屏幕截图为交互界面进行的交互操作;通过将所述交互操作映射至所述第一终端当前的显示屏幕,控制所述第一终端执行相应的处理。
7.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1或2所述的应用调试方法。
CN201510531286.0A 2015-08-26 2015-08-26 应用调试方法、客户端及调试平台 Active CN105117337B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510531286.0A CN105117337B (zh) 2015-08-26 2015-08-26 应用调试方法、客户端及调试平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510531286.0A CN105117337B (zh) 2015-08-26 2015-08-26 应用调试方法、客户端及调试平台

Publications (2)

Publication Number Publication Date
CN105117337A CN105117337A (zh) 2015-12-02
CN105117337B true CN105117337B (zh) 2018-09-04

Family

ID=54665335

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510531286.0A Active CN105117337B (zh) 2015-08-26 2015-08-26 应用调试方法、客户端及调试平台

Country Status (1)

Country Link
CN (1) CN105117337B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105988688A (zh) * 2016-01-22 2016-10-05 腾讯科技(深圳)有限公司 一种截图的方法及装置
CN107436841B (zh) * 2016-05-25 2020-08-07 阿里巴巴集团控股有限公司 页面的预览方法及装置
CN106302760B (zh) * 2016-08-19 2019-07-09 广州视睿电子科技有限公司 桌面截屏控制方法及系统
US10303582B2 (en) 2016-10-25 2019-05-28 International Business Machines Corporation Facilitating debugging serverless applications via graph rewriting
CN106897218A (zh) * 2017-02-13 2017-06-27 北京趣拿软件科技有限公司 软件测试管理方法和装置
CN108282542A (zh) * 2018-02-13 2018-07-13 百度在线网络技术(北京)有限公司 用于测试设备的远程操作方法和装置
CN108717394A (zh) * 2018-05-16 2018-10-30 上海陆家嘴国际金融资产交易市场股份有限公司 应用程序的远程验收处理方法、系统和计算机设备
CN109508287A (zh) * 2018-10-16 2019-03-22 平安普惠企业管理有限公司 页面调试方法及终端设备
CN110704321A (zh) * 2019-09-27 2020-01-17 京东数字科技控股有限公司 程序调试方法和装置
CN112187957B (zh) * 2020-10-30 2023-06-06 杭州安恒信息技术股份有限公司 一种服务器监控方法、装置、设备及介质
CN113608997B (zh) * 2021-06-30 2024-04-19 北京新氧科技有限公司 一种应用程序内嵌网页的远程调试方法、装置和电子设备
CN113821433A (zh) * 2021-08-31 2021-12-21 北京百度网讯科技有限公司 云手机应用程序的测试方法、装置、设备、介质及产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902618A (zh) * 2011-07-28 2013-01-30 华为技术有限公司 移动设备应用程序开发调试的方法及装置
CN103237082A (zh) * 2013-05-06 2013-08-07 百度在线网络技术(北京)有限公司 云测试方法、系统和云端服务器
CN103927255A (zh) * 2013-01-16 2014-07-16 腾讯科技(深圳)有限公司 基于云测试系统的软件测试方法、云测试系统及其客户端
CN104516812A (zh) * 2013-09-27 2015-04-15 腾讯科技(深圳)有限公司 一种软件测试方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981951B (zh) * 2012-11-01 2016-03-09 珠海金山网络游戏科技有限公司 云测试开发平台及云测试开发方法
TWI510918B (zh) * 2014-02-20 2015-12-01 Wistron Corp 快速測試及偵測行動裝置的方法及其系統

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902618A (zh) * 2011-07-28 2013-01-30 华为技术有限公司 移动设备应用程序开发调试的方法及装置
CN103927255A (zh) * 2013-01-16 2014-07-16 腾讯科技(深圳)有限公司 基于云测试系统的软件测试方法、云测试系统及其客户端
CN103237082A (zh) * 2013-05-06 2013-08-07 百度在线网络技术(北京)有限公司 云测试方法、系统和云端服务器
CN104516812A (zh) * 2013-09-27 2015-04-15 腾讯科技(深圳)有限公司 一种软件测试方法和装置

Also Published As

Publication number Publication date
CN105117337A (zh) 2015-12-02

Similar Documents

Publication Publication Date Title
CN105117337B (zh) 应用调试方法、客户端及调试平台
CN104850327B (zh) 移动终端的屏幕截图方法及装置、电子设备
JP6285615B2 (ja) リモートアシスタンス方法、クライアント、プログラム及び記録媒体
CN111273899B (zh) 代码处理方法、装置、电子设备及存储介质
KR101748386B1 (ko) 스마트 기기 제어 방법, 장치, 프로그램 및 컴퓨터가 판독가능한 기록매체
KR20170061635A (ko) 인터페이스 표시방법, 장치, 프로그램 및 기록매체
CN104111720A (zh) 电子设备控制方法、装置及电子设备
CN105652671A (zh) 智能设备工作模式的设置方法和装置
EP3119037A1 (en) Method and apparatus for downloading control program
CN107562500B (zh) 调试装置、方法及设备
CN104461283A (zh) 网络视图的截图方法及装置、电子设备
CN104636170A (zh) 应用程序的获取方法及装置、电子设备
CN105094830A (zh) 一种执行目标功能的方法和装置
CN109976872B (zh) 数据处理方法、装置、电子设备及存储介质
CN104935613A (zh) 场景同步方法、终端、服务器及系统
CN105260201B (zh) 应用安装方法、装置及智能设备
CN108984417B (zh) 软件测试方法、装置、终端及存储介质
CN106612149B (zh) 射频电路测试方法、装置、系统及移动终端
CN111596980B (zh) 一种信息处理方法及装置
CN104991857A (zh) 跟踪调试方法及装置
CN110908904B (zh) 调试快应用的方法、调试快应用的装置及电子设备
CN105930266B (zh) 网页调试方法及装置
CN114268802B (zh) 虚拟空间展示方法、装置、电子设备及存储介质
CN109947640B (zh) 基于回归测试的核心功能覆盖度统计方法及装置
CN106533841A (zh) 用户识别模块卡的协议一致性测试方法、装置及系统

Legal Events

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