我目前在做安卓手机应用的 ui test,发现 scrollTo 方法有些不便于使用的地方:
安卓下 scrollTo 方法,根据文档:该方法传 string text 参数,通过找元素的 text 或 content description 去滚动到对应元素,并且只能在第一个 scrollView 里起作用。
但是我觉得只能在第一个 scrollView 里用很限制啊,如果我想在页面上第二个 scrollView 上 scroll 就不可以了,而且这个 scrollView 我感觉它指的应该是 scrollable view 吧,因为实际应用中在 spinner 上也可以用,如果这个 spinner 的 scrollable 属性是 true 的话。
看源码第一个 scrollView 是 hard code 的,这样真的好么。。。
static String UiScrollable(String uiSelector) {
return "new UiScrollable(new UiSelector().scrollable(true).instance(0)).scrollIntoView(" + uiSelector + ".instance(0));";
}
第二个不方便是只能通过 text 查找,但是一个应用中的 text 总是会变,要经常去维护测试用例。如果能通过元素的 id 查找并滚动到相应元素,这样不是更方便?因为一个元素的 id 相对固定不会经常改变。
第三就是如果直接修改 appium 的源码,为我所用,在实际中是不是一个好的实践呢?
以上是我用了 appium 一段时间的想法,请高手指点这些观点是否可行,有什么其他方法可以实现类似的功能。谢谢大家!