appium手机app自动化测试:id与text定位

本文展示了如何使用Appium和SeleniumWebDriver进行Android自动化测试,特别是针对日历应用的`日期推算`功能。通过设置设备信息、连接AppiumServer、设置等待时间,找到并操作元素如`青少年保护`的确认按钮、搜索位置框和输入日期,来实现对应用的交互测试。
摘要由CSDN通过智能技术生成
import time
from appium import webdriver
from selenium.webdriver.common.by import By
from appium.webdriver.extensions.android.nativekey import AndroidKey
from appium.webdriver.common.appiumby import AppiumBy
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.actions import interaction
from selenium.webdriver.common.actions.action_builder import ActionBuilder
from selenium.webdriver.common.actions.pointer_input import PointerInput




desired_caps = {
  'platformName': 'Android', # 被测手机是安卓
  'platformVersion': '10', # 手机安卓版本
  'deviceName': 'MI_8_Lite', # 设备名,安卓手机可以随意填写
  'appPackage': 'com.android.calendar', # 启动APP Package名称
  'appActivity': '.homepage.AllInOneActivity', # 启动Activity名称
  'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True
  'resetKeyboard': True, # 执行完程序恢复原来输入法
  'noReset': True,       # 不要重置App
  'newCommandTimeout': 6000,
  'automationName' : 'UiAutomator2'
  # 'app': r'd:\apk\bili.apk',
}

# 连接Appium Server,初始化自动化环境
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

# 设置缺省等待时间
driver.implicitly_wait(5)

# 如果有`青少年保护`界面,点击`我知道了`
iknow = driver.find_elements(By.ID, "text3")
if iknow:
    iknow.click()

# 根据id定位搜索位置框,点击
driver.find_element(By.ID, 'settings_button').click()
driver.find_element(AppiumBy.ANDROID_UIAUTOMATOR,('text("日期推算")')).click()
# 根据text定位搜索输入框,点击
sbox = driver.find_element(By.ID, 'com.android.calendar:id/date_calculate_editText')
sbox.send_keys('30')

driver.find_element(By.ID, 'com.android.calendar:id/date_calculate_start').click()
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值