android toast位置_android studio toast不显示

android toast位置_android studio toast不显示关键词:Android,Appium,Python,Toast1、什么是toast?toast是一个浮动的显示块,在Android中主要用于提示信息,超时后退出,常用于提示一些不是那么重要的信息;如果是重要的信息,会使用notification。toast比较难定位,一来因为它时间很短,一般3秒左右;二来toast元素一般不写在XML中,代码中直接去调用。Toast.makeText(getApp…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

关键词:Android,Appium,Python,Toast

1、什么是toast?

toast是一个浮动的显示块,在Android中主要用于提示信息,超时后退出,常用于提示一些不是那么重要的信息;如果是重要的信息,会使用notification。toast比较难定位,一来因为它时间很短,一般3秒左右;二来toast元素一般不写在XML中,代码中直接去调用。

Toast.makeText(getApplicationContext(),”显示内容”,Toast.LENGTH_SHORT).show();

在我们使用自动化框架的时候,经常需要通过toast进行断言。

下图中点击登录后,弹出的“登录成功”就是个 toast :

393f811b54c4

image.png

393f811b54c4

toast2.png

2、环境是什么?

环境本身比较复杂,网上很多资料说appium要1.6.3以上,Android 5.0以上等各种要求。

我在调试代码的过程中,appium 报错:io.appium.uiautomator2.server.test does not have a signature,后来几番查阅资料竟然发现安装appium的时候要仅为当前用户,无语…O__O “…

393f811b54c4

image.png

我的环境如下:

Appium Desktop 1.13.0

Appium-Python-Client 0.46

Python 3.6.4

Android OS 5.0.2

APP 开发者头条 3.0.2

为了防止环境有问题,建议大家使用较新的环境。

3、如何获取Toast?

1)配置项需要加uiautomator2的引擎

desired_caps[‘automationName’] = ‘uiautomator2’ # 捕获toast消息

appium启动的时候,会安装如下2个apk

393f811b54c4

image.png

Appium-Uiautomator2-Server 详细的原理,大家可以参考这篇文章:

https://www.jianshu.com/p/d8457a06c7b7

2)使用显示等待,固定频率去获取元素

ele = WebDriverWait(driver, 60, 0.1).until(EC.presence_of_element_located((By.XPATH, f”//*[@text=’登录成功’]”)))

print(ele.text)

3)最终的代码

from appium import webdriver

import traceback

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

from selenium.webdriver.common.by import By

–**此处代码省略,完成webdriver初始化和登录**–

def getResult(driver,text):

try:

ele = WebDriverWait(driver, 60, 0.1).until(EC.presence_of_element_located((By.XPATH, f”//*[@text='{text}’]”)))

print(ele.text)

return True

except:

print(traceback.format_exc()) # 打印报错

return False

print(getResult(driver,’登录成功’))

至此,结束了,也不是很难,希望对大家有帮助 o(∩_∩)o

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/194284.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • rabbitmq集群搭建「建议收藏」

    rabbitmq集群搭建「建议收藏」一、基础安装前提:三个节点都主机映射,关防火墙网络,配好yum(后边出错,主机名和映射要对应)1.安装(三个节点)2.mq1启动rabbitmq服务查看状态3.配置界面访问4.使用界面查看(端口15672,默认帐户和密码guest)二、配置rabbitmq集群服务1.先构建erlang集群①复制cookie认证②配置节点加入集群(顺序很重要,解决报错看)123的顺序停止321的顺序启动rabbitmq服务

  • 如何优雅的在 Microsoft word中插入代码

    如何优雅的在 Microsoft word中插入代码

  • SSM-Spring整合Mybatis[通俗易懂]

    SSM-Spring整合Mybatis[通俗易懂]步驟导入相关jar包junitmybatismysql数据库spring相关的aop植入mybatis-spring[new]<!–导入依赖–> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifa

  • java populate_BeanUtils 以及BeanUtils.populate使用[通俗易懂]

    java populate_BeanUtils 以及BeanUtils.populate使用[通俗易懂]ApacheJakartaCommons项目非常有用。我曾在许多不同的项目上或直接或间接地使用各种流行的commons组件。其中的一个强大的组件就是BeanUtils。我将说明如何使用BeanUtils将local实体bean转换为对应的value对象:BeanUtils.copyProperties(aValue,aLocal)上面的代码从aLocal对象复制属性到aValue对象。它相…

  • Spring获取request对象的几种方式[通俗易懂]

    Spring获取request对象的几种方式[通俗易懂]参考文章:在SpringMVC中获取request对象的几种方式Springboot获取request和response使用Springboot,我们很多时候直接使用@PathVariable、@RequestParam、@Param来获取参数,但是偶尔还是要用到request和response,怎么获取呢?也很方便,有三种方式可以获取,任选其一就行。1、通过静态方法…

  • JS实现图片循环滚动

    JS实现图片循环滚动之前在前端的时候有遇到这样一个问题,实现JS图片的循环滚动,然后鼠标移入的时候停止滚动,鼠标移开继续滚动,这里无非就是设置了一个定时器,鼠标移上时清除定时器达到滚动停止的目的,鼠标移开时重设定时器,代码如下:<!DOCTYPE><html> <head> <metacharset=”UTF-8″> <title>JS实…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号