Appium
appium官方文档:Running Tests · Appium 官方文档 · 看云
#https://appium.io/docs/cn/writing-running-appium/caps/
目录
一、实例代码
二、查询设备信息和app信息方法,为server启动参数
三、遇到问题和解决方法
一、实例代码:
"""
@Time :2023/12/1911:11
@Auth :
@File :testA1.py
"""
from appium import webdriver
from time import sleep
# server启动参数
# "app": "tes " #本地绝对路径或http url所指向的一个安装包,注意如果指定了appPackage和appActivity,该参数就不需要
# }
# 查找报名:Aapt dump badging 路径(D:)
caps = {}
caps["platformName"] = "Android" # 使用手机的操作系统
caps["platformVersion"] = "7.1.2" # 手机操作系统的版本
caps["deviceName"] = "127.0.0.1:62001" # 使用手机或模拟器类型
# caps["app"]=r"E:\appapk\9ikandianv3.35.4_downcc.com.apk"
# caps["appPackage"] = "com.android.settings" # 包名
# caps["appActivity"] = ".Settings"
caps["appPackage"] = "com.zhiguan.m9ikandian" # 添加包名
caps["appActivity"] = "com.zhiguan.m9ikandian.component.activity.SplashActivity" # Activity这里就是一个网站的首页
# 运行代码前启动appium,命令行启动或工具启动
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps) #
# driver 的第一个参数wd/hub是连接远程路径,这个是固定的。
sleep(5)
二、查询设备信息和app信息方法(server启动必须的参数)
#1、输入adb devices 查询使用手机或模拟器类型
实例:
caps["deviceName"]="127.0.0.1:62001" #使用手机或模拟器类型
#2、cmd-输入adb shell getprop ro.build.version.release #查询版本号
caps["platformVersion"]="7.1.2" #手机操作系统的版本
如图:
#3、查询包名:
#(1)查询无包apk时,比如系统自带的软件,如设置、闹铃、图库
步骤1:运行-cmd-输入adb logcat |findstr Displayed
步骤2:点击模拟器的设置,然后命令行窗口就会显示包名\和事件
如图:
实例:
caps["appPackage"]="com.android.settings" #添加包名
caps["appActivity"]=".Settings"
#(2)查询有包的包名,如自己测试的apk包
步骤1:运行-cmd-输入 aapt dump badging E:\appapk\9ikandianv3.35.4_downcc.com.apk
注:目标路径可以拖拽到命令行上。
appActivity查询:运行-cmd-输入命令apt dump badging E:\appapk\9ikandianv3.35.4_downcc.com.apk
往后拉 找到 launchable-activity: name的值就是
实例:
caps["appPackage"]="com.zhiguan.m9ikandian" #添加包名
caps["appActivity"]="com.zhiguan.m9ikandian.component.activity.SplashActivity"
- driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps)
#
#运行代码前启动appium,命令行启动或工具启动
driver=webdriver.Remote("http://127.0.0.1:4723/wd/hub",caps) #
#driver 的第一个参数wd/hub是连接远程路径,这个是固定的。
#driver的第二个参数:设备的参数传过去
三、遇到问题与解决
命令行启动appium报错:
[Appium] Welcome to Appium v2.2.3
[Appium] Appium REST http interface listener started on http://0.0.0.0:4723
[Appium] You can provide the following URLs in your client code to connect to this server:
[Appium] XXXXXXXX/ (only accessible from the same host)
[Appium] No drivers have been installed in C:\Users\admin\.appium. Use the "appium driver" command to install the one(s) you want to use.
[Appium] No plugins have been installed. Use the "appium plugin" command to install the one(s) you want to use.
运行python代码,遇到问题:selenium.common.exceptions.SessionNotCreatedException: Message: A new session could not be created. (Original error: The following desired capabilities are required, but were not provided: platformName, deviceName)
解决方法:
卸载appium 重新安装appium指定版本
步骤1:卸载npm uninstall -g appium
步骤2:指定appium版本安装::
重新安装:npm install appium@1.17.1 -g --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
启动appium :
输入appium -g xxx.log 启动并输出日志文件