Python+Appium自动化测试(2)-appium连接真机启动app

简介: app自动化测试的第一步,是启动被测app。appium环境搭建好后,我们就可以连接真机启动app了。环境为windows,Appium1.18.0,Android手机,被测app为今日头条app,让我们开始吧。


一、连接手机(测试机)


  • 通过USB线连接Android手机和电脑,打开手机的开发者模式,开启USB调试模式(方法自行百度)。


  • 打开cmd输入命令adb devices,显示连接手机的udid即为连接成功。

微信图片_20220423221552.png


  • 输入adb devices后如果List of devices attached下为空,说明手机连接电脑没有成功。可做如下尝试:
    1,拔掉手机重新连接
    2,更换USB线
    3,重启adb。先杀死adb进程adb kill-server,再重启adb start-server
    4,检查adb版本,版本太低则更新
    还未解决的话,可以网上查找其他方法。


二、获取测试手机及被测app的相应信息(即capability配置内容)


  • platformName,声明被测手机系统是ios还是Android。


  • platformVersion,即测试手机的Android版本号。可在手机设置里面查看,也可以通过命令adb shell getprop ro.build.version.release查看。

微信图片_20220423221557.png


  • deviceName,即测试手机的名称。可在手机设置里面查看,也可以通过命令adb devices -l查看,其中model即为连接的测试机的名称。
    微信图片_20220423221600.png


  • appPackage,即被测app的包名。


  • appActivity,即被测app的launcherActivity。通过命令adb shell dumpsys activity | findstr “mResume”查看(先在手机上打开app,再输入命令)。以今日头条app为例。
    微信图片_20220423221604.png


如果手机系统在Android 8.1以下,则需使用命令adb shell dumpsys activity | findstr “mFocus”查看。


三、appium启动app


  • 电脑打开appium,点击“Start Server”
    微信图片_20220423221607.png


  • 出现如下页面,再点击“Start Inspector Session”按钮
    微信图片_20220423221611.png


  • 输入第二步获取的配置内容,点击“Start Session”按钮(可先点击3所指的按钮保存,下次直接选择即可)。

微信图片_20220423221614.png


  • 此时,如果测试机是第一次连接appium的话,手机上会提示安装两个应用:Appium settings、io.appium.uiautomator2.server,容许安装,且必须安装成功。


  • 再次点击上图中4所指的“Start Session”按钮,我们会发现手机上会自动启动今日头条app,且appium会出现如下窗口。
    微信图片_20220423221618.png


至此,我们就成功地通过appium启动了测试机上的app。我们可以在这个页面查看app当前页面的元素的属性,如下图,3所指便是弹窗【我知道了】按钮的元素属性,用于后面自动化测试过程中元素定位。

微信图片_20220423221622.png

相关文章
|
8天前
|
存储 Java 网络安全
如何使用Python批量连接网络设备?
【7月更文挑战第4天】
18 1
如何使用Python批量连接网络设备?
|
13天前
|
测试技术 Go Python
在python中测试应用
【6月更文挑战第29天】本文介绍Python的unittest是内置的单元测试框架,适合线性控制流的代码测试。并举实例说明,如何组织测试代码,如何构造脚手架和测试套件。
28 6
在python中测试应用
|
9天前
|
测试技术 Python
|
6天前
|
Java 测试技术 开发者
Python:使用标准库编写单元测试
在现代软件开发中,编写单元测试是确保代码质量和可靠性的重要步骤。Python 提供了一个内置的单元测试框架,称为 unittest,它可以帮助开发者方便地编写和运行测试。本文将详细介绍如何使用 unittest 编写单元测试。
|
10天前
|
测试技术 API 持续交付
【Python自动化测试】文章探讨了Python在测试领域的关键作用,分为三部分
【7月更文挑战第2天】【Python自动化测试】文章探讨了Python在测试领域的关键作用,分为三部分:1) 自动化测试的重要性与Python的易用性、库支持、跨平台和社区优势;2) Unittest作为标准测试框架的基础用法,及Pytest的灵活性与强大功能;3) 实践中包括Selenium的Web UI测试、Requests的API测试,强调测试隔离、持续集成等最佳实践。Python助力高效稳定的软件测试。
24 2
|
14天前
|
消息中间件 缓存 中间件
【赠书活动 - 第1期】- 测试工程师Python开发实战(异步图书出品)| 文末送书
【赠书活动 - 第1期】- 测试工程师Python开发实战(异步图书出品)| 文末送书
|
16天前
|
XML 测试技术 数据格式
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(下)
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(下)
29 3
|
16天前
|
Java 测试技术 程序员
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(上)
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(上)
37 1
|
14天前
|
测试技术
Appium+python自动化(三十九)-Appium自动化测试框架综合实践 - 代码实现(超详解)
Appium+python自动化(三十九)-Appium自动化测试框架综合实践 - 代码实现(超详解)
|
14天前
|
测试技术 Python
python接口自动化测试 - unittest框架suite、runner详细使用
python接口自动化测试 - unittest框架suite、runner详细使用