applium 里 xpath 确定位置的 index 是怎么确定的?
我从 page_source 里按 children 的顺序确定的 index 好像和 inspector 里看的 xpath 的值不一样
感觉是按 type 分的
#guo 1 楼 是滴,目前应用来看,是按照控件的 Type 来分的
//frame/relative/button[2] 基于某个 compont 的次序, 而且是从 1 开始
#3 楼 @seveniruby 越看越乱了,page_source 里面好像还包含上一个窗口的控件信息,visible=false
element 的 index 好像只算了 visible=true 的,但是不应该啊,如果本身就有些隐藏的控件咋区分...
不知道这个值和 element.is_displayed() 属性是不是一回事
xpath 是 appium 的一个大坑, 这方面得小心点, 还不是全功能的支持, 官方还在改进.
appium 是先把 xpath 解析为一个为描述结构, 说明查找的层级和 index, 然后传给了 andnroid,. android 上再根据这个规则解析.
具体的特征, 可以测试下. 官方文档不是太全
#5 楼 @seveniruby 恩,不好捣鼓,纯靠试
单纯判断属性不准,还得加上位置,发现不可用的控件位置会是负的
#7 楼 @seveniruby 可以自动获取所有元素的名称的吗?
#8 楼 @dippa //* 就可以获得所有元素, //*[@clickable=true] 可以遍历所有可被点击的元素.
#9 楼 @seveniruby java 里面可以吗? 我查过 RemoteWebDriver 以及 By 这两个类的方法好像没发现可以遍历出所有元素的 name 的
#11 楼 @seveniruby 谢谢大神呀,已经解决 。
贴出代码 供找资料的参考
List elements = wd.findElementsByXPath("//*");
#13 楼 @spikeshen 官方已经有了完全支持的版本 还没正式合并
#14 楼 @seveniruby 我靠,这么牛!这消息太好了!!啥时候能正式合并?
#15 楼 @spikeshen 还在完善中, 官方已经给我那个分支的地址了.等待吧, 1.0 版本还没出那, 到时候肯定会更好的. 好像说是年前争取搞定.
#16 楼 @seveniruby 您好,我现在已经能通过 Appium 正常启动 App 了,可是仅仅局限于官方的 DEMO,我想运行自己 App,该如何进行调试呢?
#16 楼 @seveniruby 我分不清究竟是官方还没完善好,还是我自己的 app 的问题。
#16 楼 @seveniruby 所以比较迷惑
#21 楼 @seveniruby 嗯嗯,是的,谢谢!我刚才终于把环境给配出来了,xcode5.0.0 appium0.12.3 OS X10.8.5 ,并且可以运行自己的 APP,但是问题又出来了,那个 Inspector 里面滑动(Swipe)的功能好像不太好用
#23 楼 @seveniruby 其实我也不清楚,我觉得这个错误好像是有一定几率出现的,运行的时候不是每次都能够成功运行的,我刚才按着这个顺序来进行测试的 ,Appium 0.11.3 xcode 5.0.0 可以运行 官方的 DEMO,不能运行自己的 APP,然后我更新 Appium0.12.3 xcode5.0.0 可以运行 官方的 DEMO,可以运行自己的 APP,但是我昨天试的时候却官方 DEMO,自己的 APP 两个都不行。应该是我的操作失误。
每一个组合都是做过几次的测试,第二个组合是进行过两次的测试,第二次可以。