一、前言
早之前写过一段时间的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(四)微信公众号自动化测试实践》,此处不再赘述