一、前言
早之前寫過一段時間的appium for native app(即原生app腳本),但尷尬的是從未寫過類似的文章,后期有時間我會陸續接着寫,近一階段有時間又把appium撿起來了,由於公司產品特點H5及小程序較多,所以又轉為寫非原生app的腳本了。
最近也有朋友問我說,手機里可不可以實現像webdriver那樣的自動化?
所以特意研究了下,只要肯嘗試,方法還是有的,相信我,這一切並不是很難
二、准備工作
Chrome瀏覽器(版本70.0.3538.110)
Android7.0
三、實例代碼
代碼示例:
public AndroidDriver<WebElement> driver; @BeforeClass public void startTest() throws MalformedURLException { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("deviceName", "WTK7N16C14006883"); capabilities.setCapability("platformVersion", "7.0"); capabilities.setCapability("browserName", "Chrome"); driver = new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); driver.manage().timeouts().implicitlyWait(6, TimeUnit.SECONDS); } @Test public void testBrower() { //打開百度首頁 driver.get("https://www.baidu.com"); //輸入框元素 WebElement inputBox = driver.findElement(By.id("index-kw")); //輸入JAVA關鍵字 inputBox.sendKeys("appium"); //百度一下按鈕 WebElement searchButton = driver.findElement(By.id("index-bn")); //點擊百度一下按鈕 searchButton.click(); try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } } //結束測試代碼: @AfterClass public void afterClass() { driver.quit(); }
四、元素定位
如下圖所示,顯然這是一個webview操作,關於webview怎么查看dom及元素顯示,參照我之前寫過的一篇文章《appium+java(四)微信公眾號自動化測試實踐》,此處不再贅述