一、老规矩,咱们进入下面这个界面java
图中红色标记1为 “top by coordinates” 按钮, 这是一种经过坐标定位元素的方式。
图中红色标记2为 “Start Recording” 按钮, 选中表示处理录制状态。
android
二、点击“top by coordinates” 按钮,再点击 “Start Recording” 按钮,咱们就能够在左则的 App 界面上点点点了。 脚本会随着咱们的点击生成。
app
三、选择导出的脚本语言,以下所示,能够选择以下5种ui
四、咱们选择导出java语言spa
图中红色标记1为 咱们选择java-JUnit格式的代码.net
图中红色标记2为 生成完整的脚本code
图中红色标记3为 复制orm
五、最终咱们获得以下代码blog
import io.appium.java_client.MobileElement; import io.appium.java_client.android.AndroidDriver; import junit.framework.TestCase; import org.junit.After; import org.junit.Before; import org.junit.Test; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.remote.DesiredCapabilities; public class SampleTest { private AndroidDriver driver; @Before public void setUp() throws MalformedURLException { DesiredCapabilities desiredCapabilities = new DesiredCapabilities(); desiredCapabilities.setCapability("automationName", "Appium"); desiredCapabilities.setCapability("platformName", "Android"); desiredCapabilities.setCapability("platformVersion", "6.0"); desiredCapabilities.setCapability("appPackage", "com.android.calculator2"); desiredCapabilities.setCapability("appActivity", ".Calculator"); desiredCapabilities.setCapability("deviceName", "msm8953_64"); URL remoteUrl = new URL("http://localhost:4723/wd/hub"); driver = new AndroidDriver(remoteUrl, desiredCapabilities); } @Test public void sampleTest() { (new TouchAction(driver)).tap(429, 574).perform() (new TouchAction(driver)).tap(596, 691).perform() (new TouchAction(driver)).tap(424, 572).perform() (new TouchAction(driver)).tap(418, 1067).perform() } @After public void tearDown() { driver.quit(); } }
六、分析脚本rem
咱们发现它生成的控件定位都是以坐标形式的, 可是咱们知道坐标定位是不可靠的,由于它会受屏幕大小和分辨率的影响 。不过呢,我的认为也是有能够借鉴之处,至少对Appium有了一个简单的认识