CN112256569A - 一种基于appium+python的多手机同时运行的自动化测试方法 - Google Patents

一种基于appium+python的多手机同时运行的自动化测试方法 Download PDF

Info

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
Application number
CN202011109899.2A
Other languages
English (en)
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.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric 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 Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN202011109899.2A priority Critical patent/CN112256569A/zh
Publication of CN112256569A publication Critical patent/CN112256569A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/24Arrangements 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的多手机同时运行的自动化测试方法。
背景技术
互联网高速发展的今天,在开发过程中根据需求对软件产品的功能和设备兼容性测试已成为测试过程中必不可少的一部分。随着手机厂家和系统版本越来越多,传统的测试方法需要每个手机都重复一遍相同的测试用例以完成兼容性测试;导致工作效率低、成本高。
发明内容
本发明的目的在于提供一种基于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函数可以对迭代中的每个元素应用函数,收集结果在返回的列表中。
CN202011109899.2A 2020-10-16 2020-10-16 一种基于appium+python的多手机同时运行的自动化测试方法 Pending CN112256569A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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平台实现快速编写测试用例的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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