appium安卓爬虫/自动化测试环境及相关基础anaconda/python环境安装
1.安装anaconda(或安装基础python环境)环境即可
1.1 anaconda
下载链接:https://www.anaconda.com/download/success
配置环境变量:
添加安装的位置下的script即可,有其他的目录亦可添加
# python基础环境,即直接在命令行中执行python进入命令行需要
D:\python-package\anaconda3
# 执行activate 环境名命令时需要,可激活虚拟环境进入虚拟环境
D:\python-package\anaconda3\Scripts
# 暂未知,可后续需要再配置
D:\python-package\anaconda3\Library\bin
配置完成后即可在命令行中进入虚拟环境
注意:进入命令行时需要使用管理员身份
1.2 基础python环境和相关环境管理工具(如 Virtualenv)
请自行搜索
2.安装jupyter lab(个人喜好,亦可使用pycharm、vscode或其他工具)
参考链接中 2 中内容,注意内核管理部分(需要安装虚拟环境内核才可执行目标环境命令)
python的anaconda jupyterlab环境配置
3.安装appium
查看官方文档框选三个部分进行安装
3.1 nodejs安装(个人喜好使用nvm进行管理)
主要看仓库即可,有相关使用手册需要翻译,注意 github代码仓库中可以通过该配置指定node版本,从而避免代码第三方平台部署时的报错
nvm安装后需要检查 nvm -v 如未成功
则需要配置相关nvm环境变量
后再进行执行
nvm install (nodejs版本号)
nvm use (nodejs版本号)
再检查node -v
成功后将在命令行执行可提示如图(可参考版本号)
参考链接:
3.2 Android SDK,JAVA JDK自行搜索(都需配置环境变量)
4 安装 appium-inspector
直接查看release版本安装即可当前最新版可用
5.开启调试环境
5.1 开启appium
在命令行中执行appium命令弹出如下代码,未弹出则检查3.appium以及相关驱动 安装是否成功
5.2 数据线连接手机以及进行手机相关设置
加粗部分即可,其他为完整的安卓开发环境需要工具自行搜索用途
本机情况:MIUI 13 开发版、magisk(root)、LSPosed、开发者选项(进行如下设置)
5.3 连接手机调试环境,供后续代码开发使用
5.3.1 开启 appium-inspector
5.3.2 python连接代码示例
import unittest
from appium import webdriver
from appium.options.android import UiAutomator2Options
from appium.webdriver.common.appiumby import AppiumBy
capabilities = dict{
"platformName": "Android",
"appium:platVersion": "12",
"appium:automationName": "uiautomator2",
"appium:deviceName": "faq8ama6r8zlscbm",
"appium:language": "zh-CN"
}
# 上方为测试使用配置
# "appium:deviceName": "faq8ama6r8zlscbm" 使用adb devices提示出的第一列数据即为deviceName
# 版本号搜索查看方法或在手机设置中查看
# dict(
#
# platformName='Android',
# automationName='uiautomator2',
# deviceName='Android',
# appPackage='com.android.settings',
# appActivity='.Settings',
# language='en',
# locale='US'
# )
appium_server_url = 'http://localhost:4723'
class TestAppium(unittest.TestCase):
def setUp(self) -> None:
self.driver = webdriver.Remote(appium_server_url, options=UiAutomator2Options().load_capabilities(capabilities))
def tearDown(self) -> None:
if self.driver:
self.driver.quit()
def test_find_battery(self) -> None:
el = self.driver.find_element(by=AppiumBy.XPATH, value='//*[@text="Battery"]')
el.click()
if __name__ == '__main__':
unittest.main()
参考链接:
3 条评论
这篇文章如同一首动人的乐章,触动了读者内心深处的柔软。
字里行间饱含人文关怀,温暖而有力。
内容的丰富性和深度让人仿佛置身于知识的海洋,受益匪浅。