zoukankan      html  css  js  c++  java
  • Appium

    Appium - WebView測试

    作者: Max.Bai

    时间: 2015/07



    Appium - WebView測试(Android)

    如今App都是混合型的。有原生的也包括WebView的,appium測试的时候就须要在原生和WebView之间切换才干完毕測试。


    1. 查看全部context

    查看当前全部的窗体

    Set<String> contextNames = driver.getContextHandles();
    System.print(contextNames);
    
    结果包括眼下全部打开的app, 比如我打开了ES,我的被測应用,还有另外一个应用,

    [NATIVE_APP, WEBVIEW_com.test.android, WEBVIEW_com.estrongs.android.pop, WEBVIEW_com.xxxxx.sjj]

    NATIVE_APP就是我的被測应用原生界面

    WEBVIEW_com.test.android 是我的被測应用打开的WebView

    另外两个一个是ES, 一个其它的应用(混合型的)


    2.切换到WebView

    通过上面方法获得当前的全部context

    我们能够通过context方法切换到指定的应用

    <pre name="code" class="java">driver.context("WEBVIEW_com.test.android");
    driver.findElementByID("wd");
    

    
    切换完毕后就能够像測试web应用一样測试了,全部的定位和web同样。
    

    3. 切换到NativeApp

    測试完web应用,须要操作原生应用的时候就须要切换回NATIVE_APP

    我们能够通过context方法切换到原生应用

    <pre name="code" class="java">driver.context("NATIVE_APP");
    
    这样之后的操作就都是原生应用的操作了
    

    4. Demo

    	/**
    	 * Switch to NATIVE_APP or WEBVIEW
    	 * @param sWindow window name
    	 */
    	private void switchToWindow(String sWindow) {
    		LogManager.getLogger(this.getClass()).info("Swith to window: " + sWindow);
    		Set<String> contextNames = driver.getContextHandles();
    		LogManager.getLogger(this.getClass()).info("Exists windows: " + contextNames.toString());
    		for (String contextName : contextNames) {
    			if (contextName.contains(sWindow)) {
    				driver.context(contextName);
    				break;
    			}
    		}
    	}
    
    
    switchToWindow("WEBVIEW_com.test.android");
    driver.findElementByID("wd").sendKeys("test");
    driver.findElementByID("sub").click();
    switchToWindow("NATIVE_APP");






  • 相关阅读:
    音频设备的接线图了解
    学习感悟
    音频系统操作文档
    通讯型高清视频会议摄像机
    网络继电器控制板
    linx命令 1
    28岁应该怎么样规划职业?
    Python的数值类型与序列类型
    Mysql数据库笔记
    内部类
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/6754189.html
Copyright © 2011-2022 走看看