Appium appium android 如何输入自带的密码控件?

皮皮 · 2014年10月28日 · 最后由 xulei 回复于 2018年03月30日 · 2967 次阅读

WebElement el5 = driver.findElementByName("密码");
Sleeper.sleep();

el5.click();
driver.sendKeyEvent(123);

一点反应没有 有没有其他方法, 密码框 sendkey 是明文 好像不接受,

共收到 14 条回复 时间 点赞

sendKeyEvent 参数是这些
http://testerhome.com/topics/1386

#1 楼 @sanlengjingvv 这只是模拟键盘 输入密码框也是明文 相当于 没输入进去。。 还是不行的

driver.sendKeyEvent(9);
Sleeper.sleep();
driver.sendKeyEvent(10);
Sleeper.sleep(4);
driver.sendKeyEvent(11);
Sleeper.sleep();
driver.sendKeyEvent(12);
Sleeper.sleep();
driver.sendKeyEvent(13);
Sleeper.sleep();
driver.sendKeyEvent(4);

有个帖子说 press_keycode(3), 这个 是什么的方法? 是点击屏幕还是模拟点击屏幕。

#2 楼 @appium_bob
1、如果自带密码控件是指 ,可以输入。
2、click 成功了吗?
3、appium 日志看了吗,发键盘命令了吗,成功响应了吗?
4、el5.sendKeys() 试了吗
5、123 和 4 都不发送字符,看帖子。
6、Sleeper.sleep() 是哪里的方法?

#3 楼 @sanlengjingvv 1. 密码控件是一个写好的包,不是 android 的。 键盘样子是密码键盘。 数字顺序打乱了。 2。 click 这个函数可以数值输入但是不是点击键盘。 在密码框是显示数字不是 ***, 3. sendkeys 试了一样的。 5. send 8-13 是输入密码 123456. send4 是返回键盘。 sleeper 是 Java 的方法等待三秒。 现在问题键盘是 数字乱序, IOS 有个 driver.findElement(By.name("6")).click(); android 点击键盘的 这个没有这个方法啊。 现在就是不点击键盘。

特殊问题。蹦···

#3 楼 @sanlengjingvv 我上传一张图片给你看看 app 密码快

#5 楼 @appium_bob
内置了输入法吧,没试过了。

#4 楼 @appium_bob 这个属于自定义控件的,你做好了吗?如果没做好我这边有个解决方案

@pighero001 ·,这种自定义键盘怎么解决的呀。。请教,,正为这个发愁呢。。hbreset#126 点 com, 能发封邮件详细说说或有段代码最好了。。万分感谢

#7 楼 @pighero001 ,hi,请教下这种无法识别的自定义控件你是怎么解决的?ps:目前对于自带的密码键盘因为各字符位置不变,自己是通过点坐标绕的,没有通用性。

@pighero001 请问如何解决自定义控件的问题,坐标定位吗?

求分享解决方法

如果是开发定制的安全键盘貌似没有好的解决办法,测试可以考虑一下方案:

  1. 把每个字符切割成一小块,用坐标的方式点击输入,可以根据分辨率分割,并进行封装;貌似上面的键盘是随机变动的,还得先借助图片识别的方式先识别每个字符,再根据字符去点击对应得坐标。字符太多,不建议使用,我们只使用数字键盘,目前采用这种方法。 2.找开发定制 app,关闭安全键盘

请问这个问题解决了吗?

@pighero001 请问这个如何解决啊?能告知一下吗

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册