appium–真机测试app「建议收藏」

appium–真机测试app「建议收藏」1.appium设置启动appium,host和port默认即可,在EditConfiguration中将AndroidSDK和JavaJDK加到环境变量中。设置好后保存并重启Appium

大家好,又见面了,我是你们的朋友全栈君。

1. appium设置

启动appium,host和port默认即可,在Edit Configuration中将Android SDK和Java JDK加到环境变量中。

appium--真机测试app「建议收藏」

设置好后保存并重启Appium,然后启动服务,出现以下画面,说明你的appium server已经正常启动了,可以开始真机测试了。

appium--真机测试app「建议收藏」

2. 真机测试

2.1 真机设置

USB连接手机,打开手机开发者模式,打开开发者选项中的USB调试、USB安装,小米手机还需要打开USB调试(安全设置),然后在CMD命令行输入adb devices回车,如果出现了手机的设备号,说明连接成功。

appium--真机测试app「建议收藏」

2.2 设置Appium

(1)点击Start Inspector Session对进行Desired Capabilities的配置,在JSON Representation中输入以下json数据点击保存进行快速的配置,也可以在左边一项一项的添加。platformName、platformVersion、deviceName、appPackage、appActivity这五个参数是必填项。

appium--真机测试app「建议收藏」

appium--真机测试app「建议收藏」

{ "platformName": "Android", # 声明是ios还是Android系统 "platformVersion": "8.1.0", # Android内核版本号 "deviceName": "MI_5X", # 连接的设备名称 "appPackage": "com.tencent.qqmusic", # apk的包名 "appActivity": ".activity.AppStarterActivity", # apk的launcherActivity "resetKeyboard": True, "noReset": True # 在开始会话之前不要重置应用程序状态 } 

以上数据通过adb命令获取,获取appPackage与appActivity时需要将app启动,获取命令如下:

appium--真机测试app「建议收藏」

(2)配置好Desired Capabilities后,点击Start Session,app启动运行之后可以在界面上点击选择查看当前页面所有元素控件的详细信息,右侧Selected Element下方有三个按钮。

  • Tap:执行选中元素的点击操作
  • Send Keys:为文本框等input对象传值
  • Clear:清除输入框中的文本

appium--真机测试app「建议收藏」

2.3 编写自动化脚本

启动session成功运行app之后,点击你想要操作的元素,在右边可以看到这个元素的相关信息,这里我们可以通过id对该元素进行操作,在python中使用find_element_by_id()方法定位该元素,还有很多方法可以定位元素。

如:find_element_by_xpath()、driver.find_element_by_name()、driver.find_element_by_partial_link_text()等,使用click()方法对元素进行点击操作,使用swip()方法对屏幕进行滑动操作。

appium--真机测试app「建议收藏」

下面是python实现操作的源码展示,运行之后可以看到手机自动完成了启动app、点击、滑动和退出的操作后,说明python脚本运行成功。需要注意的是在完成上一步操作之后由于手机性能的差异,app的响应速度不同,建议等待几秒后再进行下一步操作。

import time from appium import webdriver caps = { "platformName": "Android", # 声明是ios还是Android系统 "platformVersion": "8.1.0", # Android内核版本号 "deviceName": "MI_5X", # 连接的设备名称 "appPackage": "com.tencent.qqmusic", # apk的包名 "appActivity": ".activity.AppStarterActivity", # apk的launcherActivity "resetKeyboard": True, "noReset": True # 在开始会话之前不要重置应用程序状态 } driver = webdriver.Remote("http://localhost:4723/wd/hub", caps) # 启动app time.sleep(15) el1 = driver.find_element_by_id("com.tencent.qqmusic:id/clt") # 定位<分类歌单>元素 el1.click() # 点击 time.sleep(5) driver.swipe(500, 1550, 500, 800) # 从(500, 1500)滑动到(500, 800) driver.quit() # 退出 

3. 总结

Appium是目前比较成熟的自动化测试工具,使用了系统自带的自动化框架,不需要把Appium特定的或者第三方的代码编译进你的应用,这样就可以使用正式发布的包进行测试,不用担心测试包与正式包存在区别。同时可以结合python已有的测试框架,例如:pytest、unittest,编写测试用例,执行自动化测试。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155643.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python之requests的安装

    在windows系统下,只需要输入命令pipinstallrequests,即可安装。   在linux系统下,只需要输入命令sudo  pipinstallrequests,即可安装。   注:关于python第三方库的安装最好少使用easy_install,因为easy_install只能安装不能卸载,如果要卸载需要进入到python的安装

    2022年4月7日
  • Linux系列教程(一)——Linux系统简介[通俗易懂]

    Linux系列教程(一)——Linux系统简介[通俗易懂]Linux系列教程(一)——Linux系统简介

    2022年8月4日
  • DB2 SQL Error: SQLCODE=-668, SQLSTATE=57016 解决方案[通俗易懂]

    DB2 SQL Error: SQLCODE=-668, SQLSTATE=57016 解决方案[通俗易懂]DB2 SQL Error: SQLCODE=-668, SQLSTATE=57016 解决方案

    2022年4月23日
  • 数据不平衡之SMOTE算法

    数据不平衡之SMOTE算法在企业的数据分析中,很少会遇到正负样本数据比例平衡的状况。通常情况是,绝大多数为正样本,而只有极少数(几个或者十几个)负样本。在这种情况下,不论是用LR,SVM或者基于提升方法的随机森林,直接用该数据集进行学习的效果都不会太好,原因是这些方法的学习结果都会偏向于样本较多的一类。另一个方面,对学习结果进行评估时,假如正样本占95%,负样本仅占5%,这样甚至不需要学习,直接把所有新样本预测为正,准确率

    2022年6月22日
  • 数据结构与算法学习笔记

    本文是王争老师的《算法与数据结构之美》的学习笔记,详细内容请看王争的专栏。有不懂的地方指出来,我做修改。数据结构与算法思维导图数据结构指的是“一组数据的存储结构”,算法指的是“操作数据的一组方法”。数据结构是为算法服务的,算法是要作用再特定的数据结构上的。最常用的数据结构预算法:数据结构:数组、链表、栈、队列、散列表、二叉树‘、堆、跳表、图、Tire树 算法:递归…

    2022年4月7日
  • oracle如何导出数据(oracle如何备份数据库)

    1、createnewPDM;2、selectdatabasemenu;3、clickReverseEngineerdatabase;4、thenchooseyourscriptfile;5、clickOK;6、success。还有一个版本1,打开Powerdesigner工具,创建一个PDM文件,选择与之匹配的数据库类型“ibmdb2udb8.xcommo…

    2022年4月12日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号