遇到时间控件怎么办?不要慌,教你轻松拿下

这篇具有很好参考价值的文章主要介绍了遇到时间控件怎么办?不要慌,教你轻松拿下。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

此文章来源于项目官方公众号:“AirtestProject”
版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途

1.前言

很多同学在测试场景中总会遇到各种各样的小控件需要进行测试的,包括在Android端,web端等等都有,那么今天我们来看看当我们在遇到时间控件的时候,我们应该如何进行自动化测试。

2.在Android设备上处理时间控件

遇到时间控件怎么办?不要慌,教你轻松拿下

在Android端上时间控件会有滚轮选择,也会有时钟模式、日历模式等等,可以看到上面是使用了滚轮选择以及时钟模式两种情况,使用poco可以识别点击,但要注意poco识别不一定适用于所有设备以及应用!

这里用到的设备是:SONY XQ-AS72 搭载Android10,其中今日头条版本为:V9.1.8 Build

参考的代码如下:

# -*- encoding=utf8 -*-
__author__ = "Airtest"

from airtest.core.api import *
auto_setup(__file__)

from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)

#打开时钟
poco("时钟").click()

#点击新增闹钟
poco("com.android.deskclock:id/fab").click()

#直接点击自己需要输入的时间(这里poco可以直接识别即可直接点击)
poco("5").click()
poco("20").click()

#点击保存并退回桌面
poco("android:id/button1").click()

poco("com.android.systemui:id/home_button").click()

sleep(3.0)

#打开今日头条
poco("今日头条").click()

#点击我的
poco(text="我的").click()

#点击修改资料
poco("com.ss.android.article.news:id/dvg").click()

#点击修改生日
poco("com.ss.android.article.news:id/gko").click()

#滑动日期滚轮直接修改
poco("com.ss.android.article.news:id/hs_").swipe([0.0, 0.1126])
poco("com.ss.android.article.news:id/hs7").swipe([-0.0064, 0.1497])
poco("com.ss.android.article.news:id/hs3").swipe([0.0128, 0.136])

# 点击保存
poco("com.ss.android.article.news:id/cu").click()

#退回桌面
poco("com.android.systemui:id/white_cutout").click()

3.在chrome上处理时间控件

遇到时间控件怎么办?不要慌,教你轻松拿下

在chrome的web端关于时间日期的选择控件种类也很多,但我们解决的方式更简单粗暴了,可以直接通过JS的修改控件Value的方式去进行修改时间。

注意: 可以先通过浏览器开发者工具或者selenium窗口识别确认该时间控件的type以及时间是否为可直接修改的值

遇到时间控件怎么办?不要慌,教你轻松拿下

遇到时间控件怎么办?不要慌,教你轻松拿下

参考代码如下:

# -*- encoding=utf8 -*-

from airtest.core.api import *

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from airtest_selenium.proxy import WebChrome
from selenium.webdriver.common.by import By

driver = WebChrome()
driver.implicitly_wait(20)

# 打开网页
driver.get("https://v4.mui.com/zh/components/pickers/")

# 等待一段时间,确保页面元素加载完成
sleep(3.0)

# 定位日期时间控件并输入时间
driver.execute_script("window.scrollTo(0, 1500);")
sleep(3.0)

# 执行JavaScript来修改datetime-local控件的value属性
new_value = "2024-04-01T12:00"

driver.execute_script("document.querySelector('input[type=datetime-local]').value = '{}'".format(new_value))

# 等待一段时间,以便观察效果
sleep(3.0)

4.小结

本周推文介绍了在Android设备以及Chrome web端遇到时间控件如何处理的问题,其中不同系统处理方式不同。

1、Android设备可以选择通过Poco识别的方式进行处理

2、Chrome端可以通过直接修改控件Value的方式进行处理

但以上两种情况都需要注意的是,不同的设备以及不同的场景下,控件都会有不同的情况,poco以及js方式可能需要根据需求去更改方式。同时,我们也非常欢迎同学们能够提供更多修改其他控件的代码,我们会积极分享相关的使用技巧。让我们一起努力,共同进步~


AirtestIDE下载:airtest.netease.com/
Airtest 教程官网:airtest.doc.io.netease.com/
搭建企业私有云服务:airlab.163.com/b2b

官方答疑 Q 群:526033840文章来源地址https://www.toymoban.com/news/detail-843996.html

到了这里,关于遇到时间控件怎么办?不要慌,教你轻松拿下的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

原文地址:https://www.cnblogs.com/AirtestProject/p/18101141

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 遇到移动号码手机停机怎么办?如何自助解决上网问题?

    今天是 2022年4月1日,是的,愚人节。 一大早去赶地铁上班(深圳高峰期挤地铁特别是 1 号线简直被挤爆)的路上,发现上不了网了!原来是话费停机欠费了,忘了提前充话费。想回家连个 WiFi 但是出门很远了,还是算了。 后来我想:要不要随便去一家门店蹭个 WiFi?毕竟早

    2024年02月16日
    浏览(8)
  • MySQL数据库忘记密码怎么办?教你一招

    文章目录 1.以管理员身份打开cmd,关闭Mysql服务 2. 跳过密码授权登录  3.再继续以管理员身份打开一个cmd窗口,进行重置密码  4.使用新密码重新登录mysql验证  5.使用Navicat可视化工具连接Mysql Mysql数据库之前安装好了,但是突然忘记当初自己设置的登录密码了,导致使用Navi

    2024年02月04日
    浏览(17)
  • 阿里云haas100遇到hidapi.h错误怎么办?

    摘要:使用vscode拉取ucloud_ai_demo例程后,会出现缺少hidapi.h的错误。原因不明,但是进行简单的修改,就可以正常编译通过了,详见正文。 例程的位置是 ucloud_ai_demo: ucloud ai demo code https://gitee.com/alios-things/ucloud_ai_demo ucloud_ai_demo是基于云端AI能力实现的AI识别案例,主要有三个部

    2024年02月01日
    浏览(6)
  • 电脑黑屏怎么办?三招教你快速摆脱困境

    电脑黑屏问题是用户在日常使用中可能会遇到的一种烦恼,它可能由多种原因引起,如硬件故障、系统错误或驱动问题。那么电脑黑屏怎么办呢?本文将深入探讨三种解决电脑黑屏问题的方法,通过详细的步骤指南,帮助用户轻松应对这一常见但令人头疼的情况。 电脑黑屏是

    2024年02月03日
    浏览(11)
  • 单片机遇到“auto segment too large“怎么办

    遇到这个情况有可能是某一个数组太大,然后单片机内部数据存储区不够用, 所以可以把这个数据存在单片机外例如      int led[8][8]={         {1,1,1,1,1,1,1,1},//1         {1,0,0,0,0,0,0,1},//2         {1,0,0,0,0,0,0,1},//3         {1,0,0,0,0,0,0,1},//4         {1,0,0,0,0,0,0,1},//5  

    2024年02月14日
    浏览(10)
  • 找不到msvcr100.dll怎么办?三种方法教你

    我们在打开计算机程序时,系统提醒没法启动此程序,由于计算机中丢失MSVCR100.dll,试着重新安装该程序以处理此问题。这是什么情况呢?由于文件丢失了,此刻无须乱下载各种各样插件了,立即可以在管家中找到相匹配的插件设置,实际的方法下面跟小编一起看看吧。 找不

    2024年02月05日
    浏览(7)
  • iPhone提示“软件更新失败”下载时出错怎么办?教你解决!

    苹果会定期发布新的iOS版本,用户可以进入设置 - 通用 - 软件更新查看并进行下载更新。 但是,有一些小伙伴在尝试更新iPhone或iPad时,设备会提示错误“软件更新失败,下载时出错”。该怎么办呢? 不用担心,小编将给大家分享一些解决方法,一起来看看吧! 此类更新失败

    2024年02月11日
    浏览(12)
  • Stripe轮询系统收单遇到条纹Block(拦截)怎么办

            今年上半年不少小伙伴用条纹收款用得可谓不亦乐乎,国内行情一片沸腾,条纹支付成功率几乎100%,出款率也是80~90%。六月底风云突变,条纹风控大升,成功率10~20%,即使客户购意愿很强,连续支付,付款是成功了,但条纹的雷达提醒高风险。这种情况下,条纹账号

    2024年02月12日
    浏览(11)
  • 极智开发 | 教你gitlab管理员密码忘了怎么办

    欢迎关注我的公众号 [极智视界],获取我的更多经验分享 大家好,我是极智视界,本文介绍一下 教你gitlab管理员密码忘了怎么办。 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:https://t.zsxq.com/0aiNxERDq 有时候你可能会忘了自己的

    2024年02月12日
    浏览(4)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包