安卓SDK
链接: https://pan.baidu.com/s/1P4v9K2RYAGEoA5M_93hHlQ?pwd=qsbu 提取码: qsbu
复制这段内容后打开百度网盘手机App,操作更方便哦
记得配置环境变量
下载Appium软件
hub网址:https://github.com/appium/appium-desktop/releases
链接: https://pan.baidu.com/s/1P4v9K2RYAGEoA5M_93hHlQ?pwd=qsbu 提取码: qsbu
复制这段内容后打开百度网盘手机App,操作更方便哦
cmd装Appium库
pip install Appium-Python-Client==2.8.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
打开模拟器看配置
启动Appium
1,启动adb
代码
江从钦 9:43:42
import time
from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy
from appium.webdriver.common.appiumby import By
from time import sleep
江从钦 9:44:46
# 初始化参数
desired_caps = {
'platformName': 'Android', # 手机系统
'platformVersion': '7.1.2', # 系统版本号
'deviceName': '127.0.0.1:5555', # 设备名,可以通过adb devices命令获取
'appPackage': 'com.android.settings', # 要测试的APP的Package名称(包名)
'appActivity': '.Settings'
# 'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True
# 'noReset': True,
# 'newCommandTimeout': 6000,
}
# 输入中文无效,在前置代码添加以下两行
desired_caps['unicodeKeyboard'] = True
desired_caps['resetKeyboard'] = True
江从钦撤回了一条消息
江从钦 9:48:10
# 和web自动化一样的设置驱动,会自动打开模拟器到指定页面
dr = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
dr.implicitly_wait(10)
报错
是pip install selenium==4.1.0 的版本的问题,降版本或者升版本
我用的python是3.8,Appium-Python-Client 2.8.1,selenium 4.1.0
模拟器是雷电4,appium软件是1.9.1的
================================================================
定位安卓元素
1,打开sdk自带工具(可换)
2,双击之后
3,直接定位元素
换页面要现在模拟器上操作,再连
重点
from appium.webdriver.common.appiumby import AppiumBy
driver.find_element(AppiumBy.name, 'content').click()
from time import sleep # 时间模块 让浏览器等待,便于展示
import selenium
from appium import webdriver
from appium.webdriver.common.appiumby import By
from appium.webdriver.common.appiumby import AppiumBy
'''# 初始化参数
desired_caps = {
'platformName': 'Android', # 手机系统
'platformVersion': '7.1.2', # 系统版本号
'deviceName': '127.0.0.1:5554', # 设备名,可以通过adb devices命令获取
'appPackage': 'com.android.settings', # 要测试的APP的Package名称(包名)
'appActivity': '.Settings'
# 'appPackage': 'com.android.launcher3', # 要测试的APP的Package名称(包名)
# 'appActivity': '.Launcher'
# 'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True
# 'noReset': True,
# 'newCommandTimeout': 6000,
}
# 输入中文无效,在前置代码添加以下两行
# desired_caps['unicodeKeyboard'] = True
# desired_caps['resetKeyboard'] = True
# 和web自动化一样的设置驱动,会自动打开模拟器到指定页面 ip和端口看自己连接的
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
driver.implicitly_wait(10)
# driver.find_element(AppiumBy.ID, 'android.widget.FrameLayout').click() # 点击文件夹
#
# driver.find_element(By.CLASS_NAME, 'android.widget.TextView').click() # 点设置
# driver.start_activity("com.sky.jisuanji",".JisuanjizixieActivity")
#
driver.find_element(AppiumBy.ID, 'com.android.settings:id/search').click() # 点搜索框
sleep(1)
driver.find_element(AppiumBy.ID, 'android:id/search_src_text').send_keys('百年') # 搜索
'''
'''# 初始化参数
desired_caps = {
'platformName': 'Android', # 手机系统
'platformVersion': '7.1.2', # 系统版本号
'deviceName': '127.0.0.1:5554', # 设备名,可以通过adb devices命令获取
# 'appPackage': 'com.android.settings', # 要测试的APP的Package名称(包名)
# 'appActivity': '.Settings'
'appPackage': 'com.android.launcher3', # 要测试的APP的Package名称(包名)
'appActivity': '.Launcher'
# 'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True
# 'noReset': True,
# 'newCommandTimeout': 6000,
}
# 输入中文无效,在前置代码添加以下两行
# desired_caps['unicodeKeyboard'] = True
# desired_caps['resetKeyboard'] = True
# 和web自动化一样的设置驱动,会自动打开模拟器到指定页面 ip和端口看自己连接的
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
driver.implicitly_wait(10)
driver.find_element(AppiumBy.name, '高德地图').click()
# driver.start_activity("com.sky.jisuanji",".JisuanjizixieActivity")
#
'''
# 初始化参数
desired_caps = {
'platformName': 'Android', # 手机系统
'platformVersion': '7.1.2', # 系统版本号
'deviceName': '127.0.0.1:5554', # 设备名,可以通过adb devices命令获取
'appPackage': 'com.autonavi.minimap', # 要测试的APP的Package名称(包名)
'appActivity': 'com.autonavi.map.activity.SplashActivity',
'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True
# 'noReset': True,
# 'newCommandTimeout': 6000,
}
# 输入中文无效,在前置代码添加以下两行
# desired_caps['unicodeKeyboard'] = True
# desired_caps['resetKeyboard'] = True
# 和web自动化一样的设置驱动,会自动打开模拟器到指定页面 ip和端口看自己连接的
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
driver.implicitly_wait(10)
driver.find_element(By.ID, 'com.autonavi.minimap:id/agree').click()
driver.find_element(By.ID, 'com.autonavi.minimap:id/enter_amap').click()