Appium 测试 IOS 应用时候,appium 在使用控件 ID 定位到控件后,却对其执行 click 没反应

lting34 · 2015年01月04日 · 最后由 iphone0320 回复于 2015年10月27日 · 127 次阅读

系统:mac os x 10.10
xcode: Version 5.1
appium:Version 1.3.3
模拟器:iphone 模拟器
版本:IOS7.12

appium 服务器连接 iphone 模拟器 跑 java 测试用例

WebElement element = driver.findElement(By.id("*"));
或 WebElement element = driver.findElement(By.xpath("
*"));
element.click();

问题:
1、在测试用例中,用 findElement(By.xpath("")) 可以找到元素 Element,并且执行元素动作成功 (如 click、sendKeys 等)。但是切换成 WEBVIEW 模式后,用 findElementById 或 findElement(By.id("")),可以定位到元素,但是不能执行元素动作。
比如场景:点击页面的一个按钮,想进入下个页面。
实际情况:点击之后,还在原来页面。

2、用 Xpath 定位元素,有时定位不准,有时候能成功。是 Xpath 本来就有这种情况?还是我哪里没配置好?如果是 Xpath 定位不准,这种情况你们怎么解决?
比如场景:登录页面,定位用户名输入框并输入,成功。再定位密码输入框
出现问题:定位到的不是密码输入框,而是用户名输入框,这就导致模拟登录有问题。

求大侠帮忙解决!!!
如果能帮忙成功解决,小女子 将以 50 元话费充值答谢!!!

共收到 13 条回复 时间 点赞

@lting34 第一个问题 切换成 WEBVIEW 模式 定位使用是 web 的 比如 findElement(By.xpath("xpath=/html/body/div/div[2]"))
第二个问题 检查下你的密码输入框 xpath 是否正确

还有,大家在这边共同学习不要把所有的人都想的那么物质,大家一起学习进步比 50 元话费有意义的多

#1 楼 @panzhigang 妹子 Po 照上来比充话费好使多了____^

@weamylady 妹子被你吓走了哇

前段时间有个帖子,跨 APP 最好用坐标定位,TAP 的方式进行按键。
你看看用坐标,TAP 的方式是否可行?
PS:响应大神号召,还是不提钱的好~

@panzhigang 如果 WEBVIEW 模式,用 Xpath 是会报错的,连元素都定位不到。我的 Xpath 是这样写的
WebElement e= driver.findElement(By.xpath("//UIAApplication[1]/UIAWindow[1]/..../UIAImage[1]"))

@lting34 用 web 的方式,你 xpath 不对,应该跟 web 一样的,你这样写的是 native 的
findElement(By.xpath("/html/body/div/div[2]"))
findElement(By.xpath("//div/div[2]"))
应该是类似与这样的

@panzhigang 我明白你的意思,但是现在问题是我采用 web 方式后,采用 ID 方式已经获取到某个控件了,但是对这个获取的控件 click 无效!不知道什么情况啊?

@lting34 请问楼主用什么工具获取 ios 控件的 id 呢?我用 appium inspector 只能获取到 xpath,而 xpath 随着 app 后续的开发、改版会不断变化,所以想找一种比较稳定的定位控件的方式,id 可以吗?id 可以的话如何确定控件的 id 呢?

请问最后是怎么解决的,我现在也遇到你的第一个问题,定位的到,到时点击不起作用?

请问找到解决方法了吗?我也遇到了这样的问题!

我也遇到了同样的问题,android 上面。在点击某个控件的时候,随便先点哪里一下,再点击这个控件就能点中。进入这个页面,直接点击这个控件就是点不中,不知道为什么。

我用的是 tap 是可以的
MobileElement UIAImage = (MobileElement) driver.findElement(By.xpath("//UIAApplication[1]/UIAWindow[1]/UIANavigationBar[1]/UIAImage[1]/UIAImag")) UIAImage.tap(1, 1);

求解,遇到同样的问题了,用 appium inspector 定位的到,到时点击不起作用?

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