CN112256569A - 一种基于appium+python的多手机同时运行的自动化测试方法 - Google Patents
一种基于appium+python的多手机同时运行的自动化测试方法 Download PDFInfo
- Publication number
- CN112256569A CN112256569A CN202011109899.2A CN202011109899A CN112256569A CN 112256569 A CN112256569 A CN 112256569A CN 202011109899 A CN202011109899 A CN 202011109899A CN 112256569 A CN112256569 A CN 112256569A
- Authority
- CN
- China
- Prior art keywords
- python
- test
- mobile phone
- mobile phones
- apium
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/24—Arrangements for testing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
Abstract
本发明公开了一种基于appium+python的多手机同时运行的自动化测试方法,属于互联网技术领域。该方法,包括以下步骤:步骤一:使用yaml按字典格式编写一个或多个测试手机的手机参数;步骤二:使用python语言编写脚本获取yaml文件中的手机信息并返回一个python对象;步骤三:使用python语言编写脚本并将读取yaml文件获取的对象作为参数异步启动appium;步骤四:使用python的Pool类的map函数异步运行测试用例。本发明实现不同厂家、不同版本的多个手机可并发运行测试用例,在相同的时间同时完成多个手机的功能测试和兼容性测试;无需多个设备就重复多遍测试,大大提高了工作效率,节省时间和人力成本。
Description
技术领域
本发明涉及互联网技术领域,更具体的说是涉及一种基于appium+python的多手机同时运行的自动化测试方法。
背景技术
互联网高速发展的今天,在开发过程中根据需求对软件产品的功能和设备兼容性测试已成为测试过程中必不可少的一部分。随着手机厂家和系统版本越来越多,传统的测试方法需要每个手机都重复一遍相同的测试用例以完成兼容性测试;导致工作效率低、成本高。
发明内容
本发明的目的在于提供一种基于appium+python的多手机同时运行的自动化测试方法,以期解决背景技术中存在的技术问题,通过python脚本获取设备信息再根据设备信息启动appium服务并连接手机,直接调用python现有的Pool类的map方法异步运行测试用例。
为了实现上述目的,本发明采用以下技术方案:
一种基于appium+python的多手机同时运行的自动化测试方法,包括以下步骤:
步骤一:使用yaml按字典格式编写一个或多个测试手机的手机参数;
步骤二:使用python语言编写脚本获取yaml文件中的手机信息并返回一个python对象;
步骤三:使用python语言编写脚本并将读取yaml文件获取的对象作为参数异步启动appium;
步骤四:使用python的Pool类的map函数异步运行测试用例。
所述步骤一中,所述手机参数包括:连接appium端口号、测试平台、启动appium的命令、手机id。
所述步骤二中,使用python语言编写脚本获取yaml文件中的手机信息并返回一个python对象,包括:使用python中yaml库的load方法将获取的步骤一中的数据作为一个python对象返回。
所述步骤三中,使用python语言编写脚本并将读取yaml文件获取的对象作为参数异步启动appium,包括:根据步骤二中返回的Python对象的长度来启动一个或多个appium服务,根据步骤二中返回的Python对象里的appium命令调用appium服务并连接手机。
所述步骤四中,使用python的Pool类的map函数异步运行测试用例,包括:根据步骤二中返回对象长度开启相应数量的线程运行测试用例。
所述步骤四中,使用python的Pool类的map函数异步运行测试用例,包括:使用python的Pool类开启多线程运行测试用例。
所述步骤四中,使用python的Pool类的map函数异步运行测试用例,包括:所述测试用例包括根据手机id号分开运行不同的测试用例。
所述步骤四中,所述的Pool类是python的一个类,可以将函数应用与参数的异步;map函数可以对迭代中的每个元素应用函数,收集结果在返回的列表中。
本发明与现有技术相比具有的有益效果是:
本发明提供的一种基于appium+python的多手机同时运行的自动化测试方法的技术方案,主要针对多手机兼容性测试时存在大量重复执行同样工作的问题;本专利通过python脚本获取设备信息再根据设备信息启动appium服务并连接手机,直接调用python现有的Pool类的map方法异步运行测试用例;和现有技术比较,本专利采用python已经封装好的方法就可实现多个手机可并发运行测试用例,在相同的时间同时完成多个手机的功能测试和兼容性测试。提高工作效率,降低成本。
附图说明
图1是本发明的一种基于appium+python的多手机同时运行的自动化测试方法的流程图。
具体实施方式
下面结合实施例对本发明作进一步的描述,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域的普通技术人员在没有做出创造性劳动前提下所获得的其他所用实施例,都属于本发明的保护范围。
实施例1:
根据图1所示,一种基于appium+python的多手机同时运行的自动化测试方法,包括以下步骤:
步骤一:使用yaml按字典格式编写一个或多个测试手机的手机参数;所述手机参数包括:连接appium端口号、测试平台(如android)、启动appium的命令、手机id。所述手机参数需要使用yaml直接按字典的格式编写。
其中,步骤一中所涉及的Appium启动命令包含设备id、端口号,所以每个设备连接的appium服务命令也是唯一的。
步骤二:使用python语言编写脚本获取yaml文件中的手机信息并返回一个python对象;使用python语言编写脚本获取yaml文件中的手机信息并返回一个python对象,包括:使用python中yaml库的load方法将获取的步骤一中的数据作为一个python对象返回。
步骤三:使用python语言编写脚本并将读取yaml文件获取的对象作为参数异步启动appium;使用python语言编写脚本并将读取yaml文件获取的对象作为参数异步启动appium,包括:根据步骤二中返回的Python对象的长度来启动一个或多个appium服务,根据步骤二中返回的Python对象里的appium命令调用appium服务并连接手机。
步骤四:使用python的Pool类的map函数异步运行测试用例。
所述步骤四中,使用python的Pool类的map函数异步运行测试用例,包括:根据步骤二中返回对象长度开启相应数量的线程运行测试用例。
所述步骤四中,使用python的Pool类的map函数异步运行测试用例,包括:使用python的Pool类开启多线程运行测试用例。
所述步骤四中,使用python的Pool类的map函数异步运行测试用例,包括:所述测试用例包括根据手机id号分开运行不同的测试用例。
所述步骤四中,所述的Pool类是python的一个类,可以将函数应用与参数的异步;map函数可以对迭代中的每个元素应用函数,收集结果在返回的列表中。
本发明提供的自动化测试方法通过python脚本获取设备信息再根据设备信息启动appium服务并连接手机,直接调用python现有的Pool类的map方法异步运行测试用例。和现有技术比较,本发明提供的自动化测试方法采用python已经封装好的方法就可实现多个手机可并发运行测试用例,在相同的时间同时完成多个手机的功能测试和兼容性测试。提高工作效率,降低成本。实现不同厂家、不同版本的多个手机可并发运行测试用例,在相同的时间同时完成多个手机的功能测试和兼容性测试;无需多个设备就重复多遍测试。大大提高了工作效率,节省时间和人力成本。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于appium+python的多手机同时运行的自动化测试方法,其特征在于,包括以下步骤:
步骤一:使用yaml按字典格式编写一个或多个测试手机的手机参数;
步骤二:使用python语言编写脚本获取yaml文件中的手机信息并返回一个python对象;
步骤三:使用python语言编写脚本并将读取yaml文件获取的对象作为参数异步启动appium;
步骤四:使用python的Pool类的map函数异步运行测试用例。
2.根据权利要求1所述的一种基于appium+python的多手机同时运行的自动化测试方法,其特征在于,所述步骤一中,所述手机参数包括:连接appium端口号、测试平台、启动appium的命令、手机id。
3.根据权利要求1所述的一种基于appium+python的多手机同时运行的自动化测试方法,其特征在于,所述步骤二中,使用python语言编写脚本获取yaml文件中的手机信息并返回一个python对象,包括:使用python中yaml库的load方法将获取的步骤一中的数据作为一个python对象返回。
4.根据权利要求1所述的一种基于appium+python的多手机同时运行的自动化测试方法,其特征在于,所述步骤三中,使用python语言编写脚本并将读取yaml文件获取的对象作为参数异步启动appium,包括:根据步骤二中返回的Python对象的长度来启动一个或多个appium服务,根据步骤二中返回的Python对象里的appium命令调用appium服务并连接手机。
5.根据权利要求1所述的一种基于appium+python的多手机同时运行的自动化测试方法,其特征在于,所述步骤四中,使用python的Pool类的map函数异步运行测试用例,包括:根据步骤二中返回对象长度开启相应数量的线程运行测试用例。
6.根据权利要求1所述的一种基于appium+python的多手机同时运行的自动化测试方法,其特征在于,所述步骤四中,使用python的Pool类的map函数异步运行测试用例,包括:使用python的Pool类开启多线程运行测试用例。
7.根据权利要求2所述的一种基于appium+python的多手机同时运行的自动化测试方法,其特征在于,所述步骤四中,使用python的Pool类的map函数异步运行测试用例,包括:所述测试用例包括根据手机id号分开运行不同的测试用例。
8.根据权利要求1所述的一种基于appium+python的多手机同时运行的自动化测试方法,其特征在于,所述步骤四中,所述的Pool类是python的一个类,可以将函数应用与参数的异步;map函数可以对迭代中的每个元素应用函数,收集结果在返回的列表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011109899.2A CN112256569A (zh) | 2020-10-16 | 2020-10-16 | 一种基于appium+python的多手机同时运行的自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011109899.2A CN112256569A (zh) | 2020-10-16 | 2020-10-16 | 一种基于appium+python的多手机同时运行的自动化测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112256569A true CN112256569A (zh) | 2021-01-22 |
Family
ID=74244444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011109899.2A Pending CN112256569A (zh) | 2020-10-16 | 2020-10-16 | 一种基于appium+python的多手机同时运行的自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256569A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986373A (zh) * | 2021-10-21 | 2022-01-28 | 北京鲸鲮信息系统技术有限公司 | 多台接入设备同时运行自动化脚本的模块、系统和方法 |
CN114238142A (zh) * | 2021-12-24 | 2022-03-25 | 四川启睿克科技有限公司 | 一种基于appium+python的移动端ui自动化测试方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598859A (zh) * | 2016-12-16 | 2017-04-26 | 四川长虹电器股份有限公司 | Appium多线程实现系统及方法 |
CN110287122A (zh) * | 2019-06-29 | 2019-09-27 | 广州华多网络科技有限公司 | 一种自动化测试方法、装置、终端和存储介质 |
US20200019492A1 (en) * | 2018-07-12 | 2020-01-16 | EMC IP Holding Company LLC | Generating executable test automation code automatically according to a test case |
CN110941556A (zh) * | 2019-11-27 | 2020-03-31 | 厦门市美亚柏科信息股份有限公司 | 一种在Android平台实现快速编写测试用例的方法 |
-
2020
- 2020-10-16 CN CN202011109899.2A patent/CN112256569A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598859A (zh) * | 2016-12-16 | 2017-04-26 | 四川长虹电器股份有限公司 | Appium多线程实现系统及方法 |
US20200019492A1 (en) * | 2018-07-12 | 2020-01-16 | EMC IP Holding Company LLC | Generating executable test automation code automatically according to a test case |
CN110287122A (zh) * | 2019-06-29 | 2019-09-27 | 广州华多网络科技有限公司 | 一种自动化测试方法、装置、终端和存储介质 |
CN110941556A (zh) * | 2019-11-27 | 2020-03-31 | 厦门市美亚柏科信息股份有限公司 | 一种在Android平台实现快速编写测试用例的方法 |
Non-Patent Citations (5)
Title |
---|
YIMU-YIMU: ""启动多个appium服务(同时运行多台设备)"", 《HTTPS://WWW.CNBLOGS.COM/MAY18/P/10577074.HTML》 * |
姚炯: "基于Appium的手机应用程序自动化测试研究", 《软件导刊》 * |
李全: "基于Robot Framework和Appium的APP自动化测试框架", 《数码世界》 * |
测试小书童: ""Appium开源框架appium+python(二)支持多设备并行+性能监控+webserver监控crash日志"", 《HTTPS://TESTERHOME.COM/TOPICS/6468》 * |
马小泉: ""基于Appium的手机自动化测试系统的设计与实现"", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986373A (zh) * | 2021-10-21 | 2022-01-28 | 北京鲸鲮信息系统技术有限公司 | 多台接入设备同时运行自动化脚本的模块、系统和方法 |
CN114238142A (zh) * | 2021-12-24 | 2022-03-25 | 四川启睿克科技有限公司 | 一种基于appium+python的移动端ui自动化测试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109885488B (zh) | 用例表驱动的卫星轨道计算软件自动化测试方法及系统 | |
CN112256569A (zh) | 一种基于appium+python的多手机同时运行的自动化测试方法 | |
CN1752946A (zh) | 一种嵌入式系统的调试方法及其系统 | |
CN109815141B (zh) | 一种测试方法和装置 | |
CN104850476A (zh) | 跨平台接口自动化测试方法及系统 | |
CN113934640A (zh) | 一种软件自动化测试的方法和系统 | |
CN111158665B (zh) | 代码生成方法及装置、电子设备和存储介质 | |
CN108614764B (zh) | Ima应用软件故障注入方法 | |
CN111427582A (zh) | Rtl代码的管理方法、装置、设备及计算机可读存储介质 | |
CN101296462A (zh) | 一种移动终端软件自动测试的批量执行的方法及系统 | |
CN111596970A (zh) | 动态库延迟加载方法、装置、设备和存储介质 | |
CN113139359B (zh) | 基于fpga内嵌处理器的虚拟仿真测试方法 | |
CN113688031B (zh) | 一种基于字节码增强技术的测试定位方法 | |
CN114115900B (zh) | 一种脚本编译方法、装置及电子设备 | |
CN112231234B (zh) | 跨平台用户界面自动化测试方法、装置、设备和存储介质 | |
CN114064601B (zh) | 存储过程转换方法、装置、设备和存储介质 | |
CN113360373A (zh) | 一种移动应用Activity页面全遍历的测试方法 | |
CN112799697A (zh) | 一种基于标准框架的配置文件版本迁移方法 | |
CN112596737A (zh) | 一种函数调用关系的扫描方法、系统、设备及存储介质 | |
CN1235139C (zh) | 基于j2ee的构件并行编译方法 | |
CN109710537B (zh) | 一种智能自动化测试方法及系统 | |
CN109857636A (zh) | 一种在安卓客户端UI自动化过程中定位App首页的方法和应用 | |
CN110275710A (zh) | 一种Java本地接口一致性检查方法及系统、存储介质及终端 | |
CN112416362B (zh) | 一种pdk编译功能的实现方法 | |
CN116088825B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210122 |
|
RJ01 | Rejection of invention patent application after publication |