Appium滑动选择日期

Appium封装对日期控件的操作

在app中针对日期控件的常见处理方式

  1. 如果是第三方库,并且有公开的api接口,就可以直接使用python或者android的uiautomator这个工具直接去调用,从而设置日期的值,避免从界面上操作,效率非常高

  2. 通过界面方式进行滑动选择操作,这种方式比较通用,没有api也可以直接使用,但比较麻烦,编程和操作效率都比较低

from appium import webdriver
​
​
def select_date(year, month):
    while True:
        curr_year = driver.find_element('xpath', '//*[@bounds="[169,794][259,817]"]').text
        curr_month = driver.find_element('xpath', '//*[@bounds="[281,794][371,817]"]').text
​
        if year == int(curr_year) and month == int(curr_month):
            break
​
        # 移动年份
        if year > int(curr_year):
            driver.swipe(210, 830, 210, 780, duration=1)
​
        elif year < int(curr_year):
            driver.swipe(210, 780, 210, 830, duration=1)
​
        # 移动月份
        if month > int(curr_month):
            driver.swipe(325, 830, 325, 780, duration=1)
​
        elif month < int(curr_month):
            driver.swipe(325, 780, 325, 830, duration=1)
​
settings_dict = {}
​
settings_dict['platformName'] = 'Android'   # 必须参数,定义被测脚本,不区分大小写, 必须是android
settings_dict['platformVersion'] = '6.0.1'      # 设置被测手机的android版本号
settings_dict['deviceName'] = '127.0.0.1:7555'     # 可以写任意值,但不能为空
settings_dict['appPackage'] = 'com.laogejizhang.account'    # 必须参数,指定被测软件的包名
settings_dict['appActivity'] = '.MainActivity'  # 指定打开的app的页面是哪个
settings_dict['automationName'] = 'Uiautomator2'    # 不是必须, 但一般需要指定
settings_dict['noReset'] = True     # 不停止应用, 不清空数据,不卸载apk False 会清除应用数据 但不会卸载apk
settings_dict['newCommandTimeout'] = 6000
​
# 设置中文输入
settings_dict['unicodeKeyboard'] = True
settings_dict['resetKeyboard'] = True
​
driver = webdriver.Remote('http://localhost:4723/wd/hub', settings_dict)
driver.implicitly_wait(10)
​
driver.find_element('xpath', '//*[@text="流水"]').click()
driver.find_element('xpath', '//*[@bounds="[206,34][312,62]"]').click()
​
select_date(2018, 8)

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在使用Appium进行滑动操作时,可以使用封装好的滑动工具类app_swipe来实现。首先,需要导入滑动工具类和驱动实体类。然后,通过操作APP将焦点定位到目标元素,比如"日期和时间"元素。如果目标元素没有显示在界面上,可以执行向上滑动操作,直到目标元素显示并成功定位到该元素。然后执行点击操作,退出循环,即可执行更多的操作。最后,关闭APP。\[1\] 在具体的滑动操作中,可以使用swipe方法来实现滑动。例如,下滑操作可以通过获取窗口的宽度和高度,然后使用绝对坐标来执行滑动操作。上滑操作与下滑操作相反。\[2\] 另外,还可以使用scroll方法来实现滑动操作。通过定位到起始元素和目标元素,可以实现从起始元素滑动到目标元素,从而实现向下滑动操作。\[3\] #### 引用[.reference_title] - *1* [『与善仁』Appium基础 — 26、滑动方法综合练习](https://blog.csdn.net/Liuyuelinjiayou/article/details/110597726)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Appium自动化(12):Appium常用操作之点击&滑动类操作](https://blog.csdn.net/YouJeffrey/article/details/130902139)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值