1、使用uiselector 定位方式定位元素
# !/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:victor
import time
from appium import webdriver
desired_caps = dict()
# 平台
desired_caps["platformName"] = "Android"
# 系统版本
desired_caps["platformVersion"] = "7"
# 设备名字
desired_caps["deviceName"] = "victor"
# 通过 app 安装的话是不不需要package/APPactivity
desired_caps["app"] = r"D:\test.apk"
# 安装app才需要的属性 是否重新签名
desired_caps['noSign'] = True
# desired_caps['appPackage']='包名'
# desired_caps['appActivity']='界面'
# 多设备需要 使用udid adb devices
desired_caps["udid"] = "127.0.0.1:62001"
# 可以输入中文 默认为false 且会隐藏该键盘
desired_caps["unicodeKeyboard"] = True
# 测试结束后 恢复默认键盘
desired_caps["resetKeyboard"] = True
# 默认允许 app所需所有权限
desired_caps["autoGrantPermissions"] = True
driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
driver.implicitly_wait(10)
# login_button = driver.find_element_by_id("com.douban.frodo:id/entire_password_login") #
login_button = driver.find_element_by_android_uiautomator('new UiSelector().text("帐号密码登录")')
# login_button=driver.find_element_by_android_uiautomator('new UiSelector().ResourceId("com.douban.frodo:id/entire_password_login")')
login_button.click()
# 使用 new uiselector 具体可以使用哪些uiselector 百度 uiselector 定位
parent_ele = driver.find_element_by_android_uiautomator(
'new UiSelector().resourceId("com.douban.frodo:id/input_form")')
user_name = parent_ele.find_element_by_android_uiautomator(
'new UiSelector().className("android.widget.EditText").index(0)')
user_name.clear()
user_name.send_keys("131111111111")
2、 使用id/xpath?
# !/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:victor
import time
from appium import webdriver
desired_caps = dict()
# 平台
desired_caps["platformName"] = "Android"
# 系统版本
desired_caps["platformVersion"] = "7"
# 设备名字
desired_caps["deviceName"] = "victor"
# 通过 app 安装的话是不不需要package/APPactivity
desired_caps["app"] = r"D:\test.apk"
# 安装app才需要的属性 是否重新签名
desired_caps['noSign'] = True
# desired_caps['appPackage']='包名'
# desired_caps['appActivity']='界面'
# 多设备需要 使用udid adb devices
desired_caps["udid"] = "127.0.0.1:62001"
# 可以输入中文 默认为false 且会隐藏该键盘
desired_caps["unicodeKeyboard"] = True
# 测试结束后 恢复默认键盘
desired_caps["resetKeyboard"] = True
# 默认允许 app所需所有权限
desired_caps["autoGrantPermissions"] = True
driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
driver.implicitly_wait(10)
# login_button = driver.find_element_by_id("com.douban.frodo:id/entire_password_login") #
# 1.2 xpath 因为页面有text属性 帐号密码登录 对于app来说text是属性 属性 @text
login_button=driver.find_element_by_xpath('//*[@text = "帐号密码登录"]')
login_button.click()
user_name = driver.find_element_by_id("com.douban.frodo:id/input_user_name")
user_name.send_keys("xxx")
password = driver.find_element_by_id("com.douban.frodo:id/input_password")
password.send_keys("victor~")
submit = driver.find_element_by_id("com.douban.frodo:id/sign_in_douban")
submit.click()
home_icon = driver.find_element_by_id("com.douban.frodo:id/icon")
home_icon.click()
article = driver.find_element_by_id("com.douban.frodo:id/btn_post")
article.click()
text = driver.find_element_by_id("com.douban.frodo:id/dou_broadcast_edittext")
text.send_keys("你好啊 索里亚")
|