Appium测试Android混合应用时,第二次切换到WebView时的定位问题
在混合应用中,经常会遇到切换Webview之后,页面还停留在上个页面的问题,当前页面的元素怎么也找不到,网上有说杀掉chromedriver进程来解决,杀进程方式适合Appium和代码在一台机器的情况,如果代码在一台机器上,appium安装在另一台机器上,呵呵,这样杀进程也是解决不了的。既然混合应用切换到webview下,应该和处理web页面一样的,直接使用driver.get(url)方法,url 就是你要跳转到的页面,需要跳转的页面可以通过chrome inspector 找到,或者去问开发。 下面这种方式是转自别人的一遍文章,改了源码,但是如果使用的是客户端的Appium,恐怕只改源码是不能生效的,需要通过编译才能生效。如果使用的是npm 安装的appium,改源码编译后是可以生效的。貌似最新的appium 的npm安装包已经不存在webview缓存的问题了。 在用Appium测试Android混合应用时,当程序第一次切换到WebView时,可以正常进行自动化测试。可是当程序第二次切换到WebView时,Appium会自动找到到第一次打开的Html页面,那么这时Appium就无法定位我们第二次打开的Html页面中的元素。 最近在做Android自动化测试开发,遇到了一个对我这种初学者来说非常棘手的难题,网上怎么找也找不到解决方案,不过最终还是被自己瞎猫碰到了死耗子~