Appium之编写H5应用测试脚本(切换到Webview)

古人已用三冬足,年少今开万卷余。这篇文章主要讲述Appium之编写H5应用测试脚本(切换到Webview)相关的知识,希望能为你提供帮助。
【Appium之编写H5应用测试脚本(切换到Webview)】App使用H5编写,默认方式找不到元素。启动后获取所有上下文,找到webivew_xxxx的,然后进行切换。
源码:

1 package MyAppium; 2 3 import io.appium.java_client.android.AndroidDriver; 4 import org.openqa.selenium.By; 5 import org.openqa.selenium.WebElement; 6 import org.openqa.selenium.remote.DesiredCapabilities; 7 8 import java.net.MalformedURLException; 9 import java.net.URL; 10 import java.util.Set; 11 12 /** 13* @Auther:GongXingRui 14* @Date:2018/11/1 15* @Description: 测试App应用(H5) 16**/ 17 public class ZBuyAppTest { 18public static void main(String[] args) throws MalformedURLException, InterruptedException { 19 20DesiredCapabilities capabilities = new DesiredCapabilities(); 21capabilities.setCapability("deviceName", "Android Sum"); 22capabilities.setCapability("automationName", "Appium"); 23capabilities.setCapability("platformName", "Android"); 24capabilities.setCapability("noReset", true); 25 //安卓版本号,保持默认即可 26 //capabilities.setCapability("platformVersion", "7.0"); 27//启动包名,使用SDK的uiautomatorviewer查看 28capabilities.setCapability("appPackage", "cn.com.shopping.halmar"); 29capabilities.setCapability("appActivity", "com.weshare.jiekuan.activity.LoadActivity"); 30 31AndroidDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); 32Thread.sleep(5000); 33 34 //获取所有窗口 35Set< String> contexts = driver.getContextHandles(); 36System.out.println("所有窗口上下文:" + contexts); 37 38 //切换窗口到WEBVIEW 39driver.context("WEBVIEW_cn.com.shopping.halmar"); 40 41WebElement webElement = (WebElement) driver.findElements(By.className("_2G-P4GHfk8agQ8HDMa3Who")).get(1); 42webElement.click(); 43Thread.sleep(3000); 44 45String result = driver.findElement(By.className("_3vza4fqJTJUBxJqQm687vB")).getText(); 46System.out.println("结果:" + result); 47 48driver.quit(); 49} 50 }

 

    推荐阅读