zoukankan      html  css  js  c++  java
  • 6、通过Appium Desktop 实现录制功能

    1、老规矩,我们进入下面这个界面

     图中红色标记1为 “top by coordinates”  按钮, 这是一种通过坐标定位元素的方式。
     图中红色标记2为 “Start Recording”  按钮, 选中表示处理录制状态。

    2、点击“top by coordinates”  按钮,再点击 “Start Recording”  按钮,我们就可以在左则的 App 界面上点点点了。 脚本会随着我们的点击生成。

     3、选择导出的脚本语言,如下所示,可以选择如下5种

     4、我们选择导出java语言

     图中红色标记1为 我们选择java-JUnit格式的代码

     图中红色标记2为 生成完整的脚本

     图中红色标记3为 复制

    5、最终我们得到如下代码

    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();
      }
    }

     6、分析脚本

    我们发现它生成的控件定位都是以坐标形式的, 但是我们知道坐标定位是不可靠的,因为它会受屏幕大小和分辨率的影响 。不过呢,个人认为也是有可以借鉴之处,至少对Appium有了一个简单的认识

  • 相关阅读:
    理解Objective-C Runtime (六)super
    理解Objective-C Runtime (五)协议与分类
    理解Objective-C Runtime(四)Method Swizzling
    理解Objective-C Runtime(三)消息转发机制
    Objective-C Runtime(二)消息传递机制
    matlab数学实验--第一章
    Python之json模块
    Python之os模块和sys模块
    Python之小练习
    vuedevtools 离线安装
  • 原文地址:https://www.cnblogs.com/suim1218/p/8793895.html
Copyright © 2011-2022 走看看