游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

Appium常用操作之Toast提示信息获取

  一、什么是toast
  安卓4。4以上的版本都是基于UiAutomator,现在已经改为UiAutomator2了。所以Toast在原来的UiAutomator基础上没办法识别,没法识别的话就需要利用UiAutomator2了。
  如图是V1。10。0,之前的Appium版本中没有看到过它会自动把自动化测试引擎从Appium切换到UiAutomator2,可以去看下启动日志。如果版本低于v1。10。0,版本比较旧的话,应该是没有这种提示信息的。
  所以在很多版本当中,如果我们要用Toast,我们就需要指明一个东西:那就是自动化测试引擎必须指明为UiAutomator2。不然它默认就不用这个,必须自己指明。但是现在已经做了改革了,会自动切换为UiAutomator2。
  automationName是我们的desiredcaps当中明确要指明的。如果想要获取到Toast也是有要求的。
  Toast是什么?
  UiAutomatorViewer是抓不到它的。即使截屏截到了,用元素定位也是定位不到的。所以用正常套路是搞不定它的。
  进行提示作用,且时间出现得非常短。基本上在所有的手机当中都是这种效果(包括验证码、或者注册提示)。验证码提示,你也只能看着它,深灰色的背景,你不能点击确定、取消,没有你可以选项的地方也没有你可以输入的地方。这个才叫做Toast,因为长得比较别致,UiAutomatorViewer找不着它。二、获取Toast提示信息的前提1。针对这种元素,有的时候我们需要做什么呢?
  我们想要判断一下这样的Toast有没有出现,一般这样的Toast是带有文字的。如果弹出的是个空白的Toast是没有意义的,那么你就可以提Bug了。所以Toast里面都是有内容的。
  那这样的Toast怎么获取呢?
  既然不支持UiAutomator,但是又有文字。就只能用一种方式来获取,那就是xpath。通过文本匹配来获取(文本的全部匹配和部分匹配都是可以的)。
  你要获取这样的Toast,证明它是存在的,就要有一些前置条件。2。要获取Toast信息要满足以下四个要求:Appiumserver版本1。6。3才支持Toast获取。(而AppiumServer1。6。3没有可视化界面,解决方案:下载AppiumdesktopSetup1。4。1ia32。exe)。代码中必须指定automationName为:UIAutomator2UIAutomator2只支持安卓版本5。0
  因此,因为他们的最高支持安卓版本为4。4。2,可以使用genymotion模拟器。要求安装jdk1。864位及以上。配置其环境变量JAVAHOME和path。3。怎么看Server版本?
  Server版本就是这个v1。18。0:
  4。如果AppiumServer版本低于1。6。3,代码中必须指定automationName为UIAutomator2
  desiredcaps〔automationName〕UiAutomator2
  否则Toast是找不到的。三、4点需要注意的事情
  习惯性的操作是要等到元素可见之后,我们才会去操作它。新的东西出来,我们的习惯都是等到它可见之后再去操作。因为它的时间非常短,所以间隔轮循周期做的非常短。
  接下来需要做Toast的获取,根据文本匹配,是通过xpath匹配。下面是需要注意的事情:1。在我们等待元素可见的时候,不要用visibilityofelementlocated,因为它对Toast的可见处理并不支持,会直接报错命令无法执行。
  也就是等待的时候,要用元素存在的条件。不能用元素可见的条件。
  driverWait方法中,请用presenceofelementlocated。它存在了就行了,存在了之后再去处理它。2。选取部分内容匹配需注意
  点击click后出来文本要是手机号码或者密码不为空。有时候觉得文本太长了,不想全部匹配。只想通过手机号码这个文本匹配来找到它。
  可以,但是选取部分内容的时候要注意下:除了xpath之外,页面上其它元素有没有文本也是手机号码的。
  用这种xpath匹配手机号码的话,优先匹配的是别人。不一定是你想匹配的手机号码或密码不能为空了。3。没有找到匹配的Toast
  等到这执行的时候,人家早就消失了。等待的时候,人家早就消失了,那怎么办呢?
  只能是缩短时间或者不等待,直接去获取一下。图中,已经在执行,但是人家已经消失了。Toast这个问题有些尴尬,如果特别需要Toast上面的消息怎么办?可以求助开发,帮你稍微延长一点时间。
  有时能找到Toast,有时找不到,这里是概率性的问题。目前对于Toast只有这一种获取方式。4。Toast获取跟Appium的版本有关
  还有一个问题,Toast获取的时候提示你应用的一些页签啊没有通过,这个也是跟Appium的版本有关。Toast这块的问题是比较多的。
  如果没有UIAutomator2是绝对会失败,即便你看到它出现了也一定会失败。Server1。9的时候获取Toast是没有问题的。四、Toast提示信息获取
  xpath表达式是固定的,现在主要用的方式是文本匹配(部分、全部都可以)。那这个表达式就是双斜杠(相对定位)。
  xpath〔contains(text,部分文本内容)〕
  这个表达式是固定的。只要把toast对应的文本信息替换下就可以了。获取toast内容是否出现deftoastexist(self,toastmessage):toastloc(xpath,〔contains(text,s)〕toastmessage)try:WebDriverWait(self。driver,5,0。2)。until(EC。presenceofelementlocated(toastloc))获取文本内容driver。findelementbyxpath(toastloc)。textreturnTrueexcept:returnFalse五、代码fromappiumimportwebdriverfromtimeimportsleepfromselenium。webdriver。support。waitimportWebDriverWaitfromselenium。webdriver。supportimportexpectedconditionsasECfromappium。webdriver。common。mobilebyimportMobileBydesiredcaps{}自动化测试引擎desiredcaps〔automationName〕UiAutomator2平台类型desiredcaps〔platformName〕Android平台版本号desiredcaps〔platformVersion〕10设备名称desiredcaps〔deviceName〕2NSDU20410017297app包名desiredcaps〔appPackage〕输入appPackageapp入口acitivitydesiredcaps〔appActivity〕输入activity连接Appiumserver。前提:appiumdesktop要启动。有监听端口。将desiredcaps发送给appiumserver。打开appdriverwebdriver。Remote(http:127。0。0。1:4723wdhub,desiredcaps)运行代码之前:1。appiumserver启动成功。处于监听状态2。模拟器真机必须能够被电脑识别。即adbdevices能够识别到要操作的设备。点击我的WebDriverWait(driver,20)。until(EC。visibilityofelementlocated((MobileBy。ID,com。lemon。lemonban:idnavigationmy)))driver。findelementbyid(com。lemon。lemonban:idnavigationmy)。click()点击我的头像WebDriverWait(driver,20)。until(EC。visibilityofelementlocated((MobileBy。ID,com。lemon。lemonban:idfragmentmylemonavatarlayout)))driver。findelementbyid(com。lemon。lemonban:idfragmentmylemonavatarlayout)。click()点击手机密码登录WebDriverWait(driver,20)。until(EC。visibilityofelementlocated((MobileBy。ID,com。lemon。lemonban:idbtnlogin)))driver。findelementbyid(com。lemon。lemonban:idbtnlogin)。click()1。xpath表达式、文本匹配loc〔contains(text,{})〕。format(手机号码或密码)等待的时候,要用元素存在的条件。不能用元素可见的条件。try:WebDriverWait(driver,10,0。01)。until(EC。presenceofelementslocated((MobileBy。XPATH,loc)))上限10秒就够了,确认toast在页面上存在的时候大概是多久,它都没有0。5秒,你去间隔0。5,可能消失了,你还只留在这。print(driver。findelementbyxpath(loc)。text)except:print(没有找到匹配的toast!!!!)

散步第二课时教案《散步》,散文,莫怀戚著,写于1985年。因为是发一种生命的感慨,所以注定了它的抒情,因我不善诗作,它就成了散文。分享了散步第二课时的教案给大家,欢迎借鉴!教学目标……蛹变成了什么的教学反思《蛹变成了什么》一课的教学目标是认识蚕蛾是蚕的成虫,分雌蛾和雄蛾。雌蛾和雄蛾交配后,雌蛾产卵繁殖后代。指导学生观察和描述蚕茧发生的变化和蚕蛾的形态、行为。在观察比较中认识昆虫的……人生是一场静悄悄的储蓄阅读答案【原文】人生是一场静悄悄的储蓄梁阁亭他从小就是一个内向的乖孩子,安静、听话、不爱玩,喜欢一个人坐着,翻看连环画,一坐就是老半天。5岁时,父亲问他想要什么生日礼……高考专题13小说阅读专题13:小说阅读【XX高考考纲解读】阅读鉴赏中外文学作品。了解小说等文学体裁的基本特征及主要表现手法。阅读文学作品注重审美体验。感受形象,品味语言,领悟内涵,分析……走投无路反义词是什么瀑布是江河走投无路时创造的奇迹。下面是小编收集整理的走投无路反义词,希望对你有所帮助!【反义词】:左右逢源、如愿以偿、天从人愿、鹏程万里造句:1、在警方……幼儿园大班滚动教案活动目标:1运用身体各部位的协调尝试在地面做横躺滚。2利用绸带的合作性游戏,从多种角度发展幼儿创新技能。3培养合作互助的精神。4锻炼幼儿坚持到底的意志,……育儿心得在幼儿园经验交流本上的一段话孩子是我们的希望,他(她)们的成长是我们所有人的关注焦点。作为家长我希望给孩子一个快乐的童年,身心健康、快乐长大。育儿经验谈不上,只是在淇淇成长过程中的一些观点和做法与各位家长……有关撺掇的造句1、他们撺掇别人到牙医生那儿去。2、只要有人撺掇一起找乐子,就千万不要错过。3、他一再撺掇我学习滑冰!4、我的。姐姐,归省回来,她告诉我她去九寨沟度假,那里的……明湖居听书说课稿推荐初中语文教学大纲要求我们语文教育工作者引导学生接受优秀文化的熏陶,进一步提高阅读能力和写作能力。我选择了《明湖居听书》,希望能够贴近二期课改的要求。一、学情分析我所……搭石说课稿范文今天,我上的《搭石》一课,是人教版第七册教材中的课文。我想从以下几个方面来说:一、我的设计理念是:在教学过程中,我让每个学生能过精心读书,获得个性体验和独特感受;为……孩子,我在等你犯错阅读训练题及答案孩子,我在等你犯错孙道荣我问儿子,今天偷看电视了吗?暑假,我们规定,你白天不许看电视。你却故zu轻松地回答说:没有哇。我盯着你,又严肃地问:真的没看吗?你要诚……飞舞的同义词近义词是什么【飞舞解释】:像跳舞似地在空中飞:雪花蝴蝶在花丛中。下面品学网小编就给大家整理飞舞的同义词,近义词和造句,供大家学习参考。飞舞的同义词和近义词飞翔航行飞行飞舞……
数学界大地震!刚刚,证明黎曼猜想预印本被曝贴出结果揭晓:《一张PPT引发数学地震!阿蒂亚如何证明世纪之谜黎曼猜想》IT之家9月24日消息据国外媒体报道,黎曼猜想是数学界最重要的未解之谜之一,已经困扰了数学家近160年……不是而是关联词造句大全1。人的思想不是一层不变的,而是不断变化的。2。跌倒不是失败,而是成功的开始。3。路不是天生就有的,而是人走出来的。4。天不是蓝的,而是灰濛濛的。5。河……小学一年级课文借生日教案一年级教案:借生日教学预设目标:1、能正确、流利、有感情地朗读课文。2、理解课文内容,体会文中母女间的情感,懂得如何关心家人。3、认识12个生字,会写今……急救打120还是999?北京将逐步合并统一用120IT之家4月13日消息据首都之窗消息,4月12日上午,北京市人大常委会完善院前医疗急救服务体系,提高急救服务能力和水平议案办理工作正式启动。据了解,统筹120、999急救资源、……仅花13万,爸爸为儿子3D打印兰博基尼IT之家7月11日消息一辆兰博基尼跑车最少也要好几百万元,但如果你是一位物理学家的话,可以花11000英镑3D打印一辆V12猛兽。斯特林巴克斯(SterlingBacku……滴滴在郑州组织防汛救灾车队,捐赠1亿元驰援河南IT之家7月21日消息今日中午,滴滴出行通过社交媒体表示,在郑州组织防汛救灾车队,捐赠1亿元驰援河南。IT之家了解到,滴滴出行表示,暂停郑州出行服务。为保障司机和乘客安全……财政部上半年下达补贴890亿元,支持光伏风电等可再生能源发电IT之家8月28日消息8月27日,财政部调研小组发布2021年上半年中国财政政策执行情况报告。报告显示,上半年我国能源保障能力持续提升,详情如下:调整完善新能源汽车……商汤科技推出AI刷脸乘地铁,脸码互通过闸5月7日消息,日前,商汤科技与中国建设银行、建信金融科技、智元汇信息技术等合作伙伴,共同推出的智慧出行平台在郑州、西安等全国多个城市成功落地。据了解,此套系统依托商汤科技……商汤推出AI智慧防疫解决方案无感测温,每秒10人次2月14日消息,随着各地迎来大规模返程复工潮,新型冠状病毒肺炎疫情的防控也进入了关键时期。为此,商汤科技推出了AI无感测温商汤AI智慧防疫解决方案的区域通行模块。据了解,……疫情下远程办公谁最靠谱?告诉你各大在线文档的真实体验新冠肺炎疫情下,大家被迫隔离在家。然而饭不能不吃,钱不能不挣,这段日子远程办公俨然成为了异常火爆的话题。这几年,随着互联网的兴起,远程办公领域群雄崛起,恰逢严峻的肺炎疫情,一场……从非典到新冠,列数17年间互联网对我们的改变17年前的非典,留给很多中国人的回忆是痛苦的。没有亲身经历过的人们,是很难想像在那个资讯只靠电视的时代,巨大的信息缺口会给人们带来怎样的恐惧!幸运的是,我们战胜了非典。同时也让……我的世界游戏锦标赛遭受DDoS攻击,安道尔全国网络受影响IT之家1月24日消息,根据外媒tomshardware消息,Twitch平台举行了为期数天的《我的世界》Minecraft游戏锦标赛。这一线上赛事灵感来自于电视剧《鱿鱼游戏》……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网