标签:appium app apk 自动化 android os id
1.说明
前提:app自动化环境搭建----Windows系统搭建 已搭建完成
appium官方文档:https://appium.io/docs/en/about-appium/getting-started/?lang=zh
2.创建项目(连接手机)
python appium 官方地址:https://pypi.org/project/Appium-Python-Client/
# 安装 python appium 包 pip install Appium-Python-Client # windows系统执行命令 pip install Appium-Python-Client # mac系统执行命令
项目结果:
# main.py 文件 import os from appium import webdriver # 获取apk在项目中的存放地址 apk = os.path.join(os.path.dirname(os.path.abspath(__file__)),'apk/app-release-fanmao-cnode.apk') desired_caps = { 'platformName':'Android', # 测试Android系统 'platformVersion':'7.1.2', # Android版本 可以在已连接手机 设置->关于手机 中查看 'deviceName':'127.0.0.1:62001', # cmd中使用 adb devices 命令查看已连接的设备 'automationName':'UiAutomator2', # 自动化引擎(默认UiAutomator2即可) 'app':apk # app 文件路径 } # 创建 webdriver 实例 连接手机 driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub",desired_capabilities=desired_caps)
第一步:启动 appium server
需要注意的是:使用手机测试的话,启动appium 的时候需要在手机上安装 appium setting 有些手机有安全选项 需要手动去确认一下。
第二步:在pycharm中执行代码
如果是在模拟器中执行,会先安装appium setting(有,则跳过这一步),再安装我们测试的apk,然后打开apk(打开成功,则连接手机通过,才可以继续编写我们的代码)
执行完成后,可以关闭appiu(Ctrl+c 即可以关闭)
3.自动化登录app
(1)找到自己的adb安装路径
找到 app 定位工具
(2)在模拟器或者连接的真机中,打开app里面我们需要定位的页面,再打开uiautomatorviewer.bat
(3)元素定位----xpath 定位
//class的值[@属性及其对应的值] /下面的元素class值
//android.view.ViewGroup[@resource-id="org.cnodejs.android.md:id/toolbar"]/android.widget.ImageButton
# main.py 文件 import os import time from appium import webdriver # 获取apk在项目中的存放地址 apk = os.path.join(os.path.dirname(os.path.abspath(__file__)),'apk/app-release-fanmao-cnode.apk') desired_caps = { 'platformName':'Android', # 测试Android系统 'platformVersion':'7.1.2', # Android版本 可以在已连接手机 设置->关于手机 中查看 'deviceName':'127.0.0.1:62001', # cmd中使用 adb devices 命令查看已连接的设备 'automationName':'UiAutomator2', # 自动化引擎(默认UiAutomator2即可) 'app':apk # app 文件路径 } # 创建 webdriver 实例 连接手机 driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub",desired_capabilities=desired_caps) time.sleep(5) # 点击登录 login_image_btn = '//android.view.ViewGroup[@resource-id="org.cnodejs.android.md:id/toolbar"]/android.widget.ImageButton' driver.find_element_by_xpath(login_image_btn).click() time.sleep(1) click_login_name = 'org.cnodejs.android.md:id/tv_login_name' driver.find_element_by_id(click_login_name).click() time.sleep(1) # 输入登录的token http://47.100.175.62:3000/ driver.find_element_by_id('org.cnodejs.android.md:id/edt_access_token').send_keys("83dc9ad3-f0e1-4cf3-a0de-d82a3508f79d") # 点击登录 driver.find_element_by_id('org.cnodejs.android.md:id/btn_login').click()
第一步:启动 appium server
需要注意的是:使用手机测试的话,启动appium 的时候需要在手机上安装 appium setting 有些手机有安全选项 需要手动去确认一下。
第二步:关闭 uiautomatorviewer.bat 元素定位工具
第二步:在pycharm中执行代码
标签:appium,app,apk,自动化,android,os,id 来源: https://www.cnblogs.com/Z-Queen/p/14855826.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。