一种基于appium+python的移动端ui自动化测试方法技术

技术编号:32836038 阅读:9 留言:0更新日期:2022-03-26 20:56
本发明专利技术公开了一种基于appium+python的移动端ui自动化测试方法,包括以下步骤:构建python工程,包括目录:common、excel_data、result、testcase、runner;在目录common中使用python的相关函数封装移动端ui元素查找方法、操作方法、excel数据读取方法、截图方法、驱动appium的driver;在目录runner中使用python的单元测试框架unittest封装测试套件获取方法;在目录testcase中使用python语言对被测app的功能编写测试用例脚本;在目录excel_data中新建excel表单管理测试数据、被测ui元素信息;执行测试用例,启动驱动driver调用appium服务连接移动端设备并启用app并根据测试用例对app执行指定操作。可实现移动端的功能逻辑和ui交互自动化测试,提高代码编写效率和测试准确性,降低人工成本。降低人工成本。降低人工成本。

【技术实现步骤摘要】
一种基于appium+python的移动端ui自动化测试方法


[0001]本专利技术涉及互联网
,具体涉及一种基于appium+python的移动端ui自动化测试方法。

技术介绍

[0002]现有技术中,移动端ui自动化测试主要通过执行测试脚本来向appium发送请求执行测试指令,每个测试用例都需要大量脚本控制大量测试数据;然而对于用例脚本和测试数据并没有做出良好的管理,导致代码和数据混乱;因此当用例功能逻辑、测试数据变更时会产生大量的修改工作,且容易造成脚本和数据错误,影响测试准确性,甚至造成脚本瘫痪无法执行;也因此导致工作量增加。

技术实现思路

[0003]本专利技术的目的在于提供一种基于appium+python的移动端ui自动化测试方法,以期解决当前自动化测试需要执行大量的测试用例和测试数据,导致替换测试数据或修改测试用例逻辑容易出错,甚至造成脚本瘫痪的问题。
[0004]为了实现上述目的,本专利技术采用以下技术方案:
[0005]一种基于appium+python的移动端ui自动化测试方法,包括以下步骤:
[0006]构建python工程,包括目录:common、excel_data、result、testcase、runner;
[0007]在目录common中使用python的相关函数封装移动端ui元素查找方法、操作方法、excel数据读取方法、截图方法、驱动appium的driver;
[0008]在目录runner中使用python的单元测试框架unittest封装测试套件获取方法;
[0009]在目录testcase中使用python语言对被测app的功能编写测试用例脚本;
[0010]在目录excel_data中新建excel表单管理测试数据、被测ui元素信息;
[0011]执行测试用例,启动驱动driver调用appium服务连接移动端设备并启用app并根据测试用例对app执行指定操作。
[0012]在一些实施例中,所述在目录common中使用python的相关函数封装移动端ui查找、操作方法、excel数据读取方法、截图方法、驱动appium的driver,包括:
[0013]在目录common中使用python的WebElement相关库中的方法封装移动端ui元素查找方法、操作方法;使用python的xlrd库中相关方法封装excel数据读取方法;使用python的get_screenshot_as_file函数封装截图方法;封装配置appium服务连接移动设备并启动被测应用的driver。
[0014]在一些实施例中,excel_data目录中采用excel文档管理测试数据;result目录作为测试报告和截图附件的保存路径;testcace目录编写被测app的测试用例,每个测试用例一个脚本;runner目录中编辑获取测试套件的方法。
[0015]在一些实施例中,所述在目录common中使用python的WebElement相关库中的方法封装移动端ui元素查找方法、操作方法,包含根据元素id、name、xpath等查找、点击、输入、
拖动元素;封装时把元素唯一识别标识参数化。
[0016]在一些实施例中,所述使用python的xlrd库中相关方法封装excel数据读取方法;包含按顺序读取指定表单所有数据,按需求读取指定表单中的某一行数据。
[0017]在一些实施例中,所述使用python的get_screenshot_as_file函数封装截图方法,包括:测试过程中遇到问题无法通过用例时自动截图保存并存放到result目录中,图片命名规则为“%Y

%m

%d

%H

%M

%S+测试用例名称”,用于自动测试过程中发现bug后立即截图保存,后期根据时间和测试用例名称定位bug。
[0018]在一些实施例中,所述封装配置appium服务连接移动设备并启动被测应用的driver,包括所述驱动driver是根据appium服务器地址、端口号来通过移动设备名称、版本连接相应移动设备并在该移动设备上通过被测app包名和Activity来启动被测app。
[0019]在一些实施例中,使用python的单元测试框架unittest根据用例存放路径和用例名称获取测试用例,形成测试套件;每个测试用例通过调用读取excel数据方法获取excel存放的移动端ui元素信息和测试数据。
[0020]在一些实施例中,调用元素操作方法获取的移动端ui元素信息的查找类型查找元素,然后根据操作类型自动对相关元素执行操作。
[0021]本申请所披露的一种基于appium+python的移动端ui自动化测试方法可能带来的有益效果包括但不限于:
[0022]本专利通过excel文档管理测试数据和元素信息,python封装测试用例场景和操作元素方法,python封装appium服务连接移动设备并启动app,然后通过excel中存放的测试数据和元素信息来自动选择对指定元素的操作类型,完成测试用例场景测试。形成一套代码和数据分离,实现针对逻辑变更只修改代码不会影响测试数据,针对测试数据变更只修改数据不会影响代码;且代码可重复利用的移动端ui自动化测试系统。提高代码编写效率和测试准确性,降低工作量。
附图说明
[0023]图1为本专利技术的流程图。
具体实施方式
[0024]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0025]相反,本申请涵盖任何由权利要求定义的在本申请的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本申请有更好的了解,在下文对本申请的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本申请。
[0026]以下将对本申请实施例所涉及的一种基于appium+python的移动端ui自动化测试方法进行详细说明。值得注意的是,以下实施例仅仅用于解释本申请,并不构成对本申请的限定。
[0027]如图1所示,一种基于appium+python的移动端ui自动化测试方法,包括以下步骤:
[0028]步骤一:新建一个python工程,包括目录:common、excel_data、result、testcase、runner。
[0029]步骤二:在目录common中使用python的WebElement等相关库中的方法封装移动端ui元素查找方法、操作方法;使用python的xlrd库中相关方法封装excel数据读取方法;使用python的get_screenshot_as_file函数封装截图方法;封装配置appium服务连接移动设备并启动被测应用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于appium+python的移动端ui自动化测试方法,其特征在于,包括以下步骤:构建python工程,包括目录:common、excel_data、result、testcase、runner;在目录common中使用python的相关函数封装移动端ui元素查找方法、操作方法、excel数据读取方法、截图方法、驱动appium的driver;在目录runner中使用python的单元测试框架unittest封装测试套件获取方法;在目录testcase中使用python语言对被测app的功能编写测试用例脚本;在目录excel_data中新建excel表单管理测试数据、被测ui元素信息;执行测试用例,启动驱动driver调用appium服务连接移动端设备并启用app并根据测试用例对app执行指定操作。2.根据权利要求1所述的一种基于appium+python的移动端ui自动化测试方法,其特征在于,所述在目录common中使用python的相关函数封装移动端ui查找、操作方法、excel数据读取方法、截图方法、驱动appium的driver,包括:在目录common中使用python的WebElement相关库中的方法封装移动端ui元素查找方法、操作方法;使用python的xlrd库中相关方法封装excel数据读取方法;使用python的get_screenshot_as_file函数封装截图方法;封装配置appium服务连接移动设备并启动被测应用的driver。3.根据权利要求1所述的一种基于appium+python的移动端ui自动化测试方法,其特征在于,excel_data目录中采用excel文档管理测试数据;result目录作为测试报告和截图附件的保存路径;testcace目录编写被测app的测试用例,每个测试用例一个脚本;runner目录中编辑获取测试套件的方法。4.根据权利要求2所述的一种基于appium+python的移动端ui自动化测试方法,其特征在于,所述在目录common中使用python的WebElement相关库中的方...

【专利技术属性】
技术研发人员:邓金洋
申请(专利权)人:四川启睿克科技有限公司
类型:发明
国别省市:

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

1