appium -- 页面出现弹窗,关闭后,无法识别页面元素

摘要:
在修改手势密码的过程中,单击后退按钮并单击继续设置后,发现该驱动程序。getPageSource()无法获取页面元素。我想我会放弃设置。因此,其他页面也出现了类似的情况。最后,这个问题只有坚持不懈才能解决。这是我的用户名和密码登录页面的原始方法。登录时出现问题。输入用户名后,下面仍然有一堆模糊输入。没想到,输入密码后,我删除了所有密码;

1. 问题:如图所示:在修改手势密码的过程中,点击了返回按钮后,弹出该弹窗;点击继续设置后,就发现

driver.getPageSource()获取不到页面元素。在找了一圈无用的资料后,没有什么好的处理方式,本来想着那我就放弃设置就好了。 结果在别的页面也出现了类似的情况。最终只能硬着头皮解决该问题了。

appium -- 页面出现弹窗,关闭后,无法识别页面元素第1张

2. 解决方法:

   方法真的很简单,就一行代码, 将Appium换成了uiautomator2, 结果就成了。

  appium -- 页面出现弹窗,关闭后,无法识别页面元素第2张

3. 引发的一连串问题

   上述问题解决了,但是又出现新的幺蛾子。 

   幺蛾子1: 这是原来我的用户名和密码登录页的方法。 完全可以正常登录。但是将 将Appium换成了uiautomator2后,登录就出现了问题。

appium -- 页面出现弹窗,关闭后,无法识别页面元素第3张

appium -- 页面出现弹窗,关闭后,无法识别页面元素第4张appium -- 页面出现弹窗,关闭后,无法识别页面元素第5张

输入完用户名后,底下还存在一堆的模糊输入。那我就click一下喽。没想到在输入完密码后, 这个click不知道什么鬼,竟然把密码都删掉了;

那我登录个鬼啊, 用例自然都失败了;那怎么办,找办法解决喽。

解决方法:

 将方法中的sendKeys()方法替换为setValue()方法。 没错就是这么简单,结果成了。

appium -- 页面出现弹窗,关闭后,无法识别页面元素第6张

幺蛾子2:

   在我替换完方法后,原来可以输入中文的部分,现在输不进去。无奈,只能将用户名&密码 部分和别的地方的输入方法单独做处理;也就是上面的两个方法,一个用于用户名和密码的登录,一个用户正常的输入;

免责声明:文章转载自《appium -- 页面出现弹窗,关闭后,无法识别页面元素》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇protoc命令nginx 故障转移下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PostgreSQL物理坏块和文件损坏案例分享

作者简介 王睿操,平安好医数据库架构岗,多年postgresql数据库运维开发工作。曾就职于中国民航信息,迪卡侬。对其他数据库产品也有一定的涉猎。 背景 笔者最近发现很多朋友经常遇到PostgreSQL坏块或者数据混乱的情况,网上中文资料比较少,于是整理了一下笔者遇到各种各样的报错以及解决方案 案例一:物理坏块 逻辑备份时报错 pg_dump: Dumpi...

python实现注册登录小程序

用python 实现模拟注册和登录的程序:用户信息最终以字典的格式储存在一个txt文件里,具体实现如下: users.txt里用户字典格式如下: 1 { 2 'name': {'password': '111111', 'role': '1'}, 3 'name2': {'password': '222222', 'role': '1'},...

使用crypto模块实现md5加密功能(解决中文加密前后端不一致的问题)

正常情况下使用md5加密 var crypto = require('crypto'); var md5Sign = function (data) { var md5 = crypto.createHash('md5').update(data).digest('hex'); return md5; } 实际开发中经常需要前端nodej...

discuz(dz) SSO(单点,同歩,异步)登录 --转

原文地址:http://fc-lamp.blog.163.com/blog/static/1745666872012762520123/ discuz(dz) SSO(单点,同歩,异步)登录  一般流程:   1 发起请求:   1 )登录请求到 localhost/member.php  初始化一些设置,然后调用source/module/member/...

Git查看与修改用户名、邮箱

用户名和邮箱的作用:   用户名和邮箱地址相当于你的身份标识,是本地Git客户端的一个变量,不会随着Git库而改变。   每次commit都会用用户名和邮箱纪录。   github的contributions跟你的邮箱是有关联的。 查看自己的用户名和邮箱地址:   $ git config user.name   $ git config user.ema...

Netty源码分析之ChannelPipeline(二)—ChannelHandler的添加与删除

上篇文章中,我们对Netty中ChannelPipeline的构造与初始化进行了分析与总结,本篇文章我们将对ChannelHandler的添加与删除操作进行具体的的代码分析; 一、ChannelHandler的添加 下面是Netty官方的一段demo源码,可以看到在服务端初始化时执行了向ChannelPipeline中添加自定义channelHandler...