1、第一步,环境搭建,参考这位博主的文章,很齐全
https://blog.csdn.net/qq_44757414/article/details/128142859
我在最后一步安装appium-doctor的时候,提示权限不足,换成sudo appium-doctor即可
2、第二步,安装桌面appium,https://github.com/appium/appium-desktop/releases,下载合适的版本安装即可
3、第三部,安装安卓模拟器,我是M1,找了一圈都没有适配的安卓模拟器,最后在这位博主的文章里找到了合适的,感谢
https://blog.csdn.net/weixin_41677874/article/details/125559161
我遇到一个问题,就是找不到opt目录,这个时候,在终端窗口,将opt目录改成不隐藏即可
sudo chflags nohidden opt
4、第四部,开始运行第一个小程序,启动APP
4.1、需要找到APP的包名和activity名称
首先,把apk文件下载到电脑上
其次,终端窗口,进入apk的目录下执行命令:aapt dump badging rimet_36180121811227.apk
4.2、创建一个Python项目
4.3、输入以下代码
# 导入webdriver
from appium import webdriver
# 初始化参数
desired_caps = {
'platformName': 'Android', # 被测手机是安卓
'platformVersion': '11', # 手机安卓版本
'deviceName': 'Android emulator', # 设备名,安卓手机可以随意填写
'appPackage': 'com.alibaba.android.rimet', # 启动APP Package名称
'appActivity': 'com.alibaba.android.rimet.biz.LaunchHomeActivity', # 启动Activity名称
'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True
'resetKeyboard': True, # 执行完程序恢复原来输入法
'noReset': True, # 不要重置App,如果为False的话,执行完脚本后,app的数据会清空,比如你原本登录了,执行完脚本后就退出登录了
'newCommandTimeout': 6000,
'automationName': 'UiAutomator2'
}
# 连接Appium Server,初始化自动化环境
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
# 退出程序,记得之前没敲这段报了一个错误 Error: socket hang up 啥啥啥的忘记了,有兴趣可以try one try
#driver.quit()
4.4、启动appium
4.5、启动安卓模拟器,检查adb自动连接了安卓模拟器
4.6、此时运行程序,就会看到模拟器中的钉钉启动啦
5、查找APP中的元素
5.1、点击appium桌面工具窗口的搜索符号,会跳转到官方地址
下载合适的版本
5.2、启动appium inspector,填写信息如下图,基本上和代码里是是一样的
5.3、点击start session,启动如下图,这个时候,就可以看到这个页面里的所有元素信息,可以操作点击、输入等操作
5.4、也可以启动录制功能,会自动生成代码在recorder区域,这部分代码可以直接粘贴到Python中使用,如果出现元素找不到的情况,可以替换一下查找元素的方式,比如id找不到,换成xpath一般都能找到
6、最后粘贴一段获取小红书榜单文章点赞数、收藏数、评论数的代码文章来源:https://www.toymoban.com/news/detail-509566.html
# 导入webdriver
import time
import urllib.request
from appium import webdriver
# 初始化参数
from appium.webdriver.common.appiumby import AppiumBy
desired_caps = {
"platformName": "Android",
"platformVersion": "11",
"deviceName": "Android emulator",
"appPackage": "com.xingin.xhs",
"appActivity": "com.xingin.xhs.index.v2.IndexActivityV2",
'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True
'resetKeyboard': True, # 执行完程序恢复原来输入法
'noReset': True, # 不要重置App,如果为False的话,执行完脚本后,app的数据会清空,比如你原本登录了,执行完脚本后就退出登录了
'newCommandTimeout': 6000,
'automationName': 'UiAutomator2'
}
# 连接Appium Server,初始化自动化环境
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
time.sleep(3)
el1 = driver.find_element(by=AppiumBy.ID, value="com.xingin.xhs:id/fvw")
el1.click()
time.sleep(2)
driver.get_screenshot_as_file("xhs.png")
el2 = driver.find_element(by=AppiumBy.XPATH, value="/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout[3]/androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup[1]/android.widget.LinearLayout/android.widget.TextView")
el2.click()
el3 = driver.find_element(by=AppiumBy.XPATH, value="/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.view.ViewGroup/androidx.viewpager.widget.ViewPager/android.widget.FrameLayout/androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout[2]/android.widget.RelativeLayout/android.widget.TextView")
el3.click()
el4 = driver.find_element(by=AppiumBy.ID, value="com.xingin.xhs:id/enl")
dianzan = el4.get_attribute("text")
print(dianzan)
el5 = driver.find_element(by=AppiumBy.ID, value="com.xingin.xhs:id/em7")
shoudang = el5.get_attribute("text")
print(shoudang)
el6 = driver.find_element(by=AppiumBy.ID, value="com.xingin.xhs:id/emd")
pinglun = el6.get_attribute("text")
print(pinglun)
#driver.quit()
运行结果如下:文章来源地址https://www.toymoban.com/news/detail-509566.html
到了这里,关于Mac电脑,python+appium+安卓模拟器使用步骤的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!