Appium连接真机

配置参数

  • 在网上看了好多的文章,但是Appium Desktop一直报错,始终都没有连接上手机,今天准备搜索文章的时候想到有可能是我之前搜索有问题,所以就换了搜索内容,没想到就出来了
  • 文章连接:卡尔西法ishere
  • 连接参数意义
    • platformName:平台名称,iOS、Android、 FirefoxOS,选择真机/模拟器对应的就好
    • platformVersion:平台版本,可在手机设置中的关于手机查看
    • deviceName:设备名称
    • appPackage:要运行的Android应用程序的Java包(获取方式在上方给出的文章中,只试了第三种)
    • appActivity:从程序包启动的Android活动的活动名称
    • noReset:不在此会话之前重置应用程序状态(意思就是每次启动都当做第一次启动,因为首次进入某些应用时有的会有弹框,所以测试时可以设置为True),默认为False
    • 我之前只写了这些参数,运行的时候总是报错,后来加了一个参数就可以正常连接成功了,我不知道为什么(如果有知道的请告诉我,我也学习学习,谢谢)


      报错图片
    • udid:连接的物理设备的唯一设备标识符,可通过adb devices查看,就是一串数字和字母组成的字符
    • 更多的参数意义可查看官网

测试案例

  • 测试的案例是计算机
  • 首先appium连接手机成功
  • 点击Start Session,成功后就说明连接上了
  • 左边显示手机界面,中间显示app 的源代码,最右边会显示我们选中的元素
  • 左边手机界面选中了元素,最右边会显示id、xpath,以便于写代码定位元素
  • 例如需要计算机自动计算1595+6等于多少
  • 可以一个一个的选择每个字符的id是多少,然后利用python代码选中该元素

python代码

  • 代码来自于虫师
from appium import webdriver  #导入webdriver库
import time #导入时间模块

desired_caps = {} #配置参数的字典
desired_caps['platformName'] = 'Android' 
desired_caps['platformVersion'] = '6.0'
desired_caps['deviceName'] = 'OPPO R17 Pro'
desired_caps['appPackage'] = 'com.android.calculator2'
desired_caps['appActivity'] = 'com.android.calculator2.Calculator'
desired_caps['udid'] = 'xxxx' #xxxx不是真的udid,写真的udid
desired_caps['noReset'] = 'True'

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) #第一个参数是默认的,不需要更改(wd 可以理解是WebDriver 的缩写)

driver.find_element_by_id("com.android.calculator2:id/digit_1").click()   #通过id找到数字1并且点击
driver.find_element_by_id("com.android.calculator2:id/digit_5").click()
driver.find_element_by_id("com.android.calculator2:id/digit_9").click()
driver.find_element_by_id("com.android.calculator2:id/del").click() #点击删除键
driver.find_element_by_id("com.android.calculator2:id/digit_9").click()
driver.find_element_by_id("com.android.calculator2:id/digit_5").click()
driver.find_element_by_id("com.android.calculator2:id/op_add").click() #点击‘+’
driver.find_element_by_id("com.android.calculator2:id/digit_6").click()
driver.find_element_by_id("com.android.calculator2:id/eq").click() #点击‘=’

time.sleep(5) #这个是为了能够看清结果,可删除
driver.quit()

你可能感兴趣的:(Appium连接真机)