Java+Appium实现屏幕录制功能

 更新时间:2023年06月13日 15:31:04   作者:qq_492448446  
这篇文章主要介绍了Java如何利用Appium实现屏幕录制功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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("platformVersion", "10");
    desiredCapabilities.setCapability("deviceName", "9b2157cfaedb");
    desiredCapabilities.setCapability("platformName", "android");
    desiredCapabilities.setCapability("automationName", "UiAutomator2");
    desiredCapabilities.setCapability("appActivity", "com.android.settings.Settings");
    desiredCapabilities.setCapability("appPackage", "com.android.settings");
    desiredCapabilities.setCapability("noReset", "true");
    desiredCapabilities.setCapability("ensureWebviewsHavePages", true);
 
    URL remoteUrl = new URL("http://127.0.0.1:4723/wd/hub");
 
    driver = new AndroidDriver(remoteUrl, desiredCapabilities);
  }
 
  @Test
  public void sampleTest() {
    (new TouchAction(driver)).tap(74, 1117).perform()
    (new TouchAction(driver)).tap(170, 629).perform()
  }
 
  @After
  public void tearDown() {
    driver.quit();
  }
}

6、分析脚本

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

到此这篇关于Java+Appium实现屏幕录制功能的文章就介绍到这了,更多相关Appium屏幕录制内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MyBatis动态sql查询及多参数查询方式

    MyBatis动态sql查询及多参数查询方式

    这篇文章主要介绍了MyBatis动态sql查询及多参数查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • springboot 如何添加webapp文件夹

    springboot 如何添加webapp文件夹

    这篇文章主要介绍了springboot 如何添加webapp文件夹,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Netty之使用DelimiterBasedFrameDecoder进行消息分隔详解

    Netty之使用DelimiterBasedFrameDecoder进行消息分隔详解

    这篇文章主要介绍了Netty之使用DelimiterBasedFrameDecoder进行消息分隔详解,在使用Netty进行TCP消息传输时,为了上层协议能够对消息正确区分,避免粘包和拆包导致的问题,一般可以通过消息定长、将回车换行符作为消息结束符,需要的朋友可以参考下
    2023-12-12
  • 详解Maven JAR包冲突问题排查及解决方案

    详解Maven JAR包冲突问题排查及解决方案

    这篇文章主要介绍了Maven JAR包冲突问题排查及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Java中@DateTimeFormat和@JsonFormat注解介绍

    Java中@DateTimeFormat和@JsonFormat注解介绍

    @DateTimeFormat和@JsonFormat都是处理时间格式化问题的,把其他类型转换成自己需要的时间类型,下面这篇文章主要给大家介绍了关于Java中@DateTimeFormat和@JsonFormat注解介绍的相关资料,需要的朋友可以参考下
    2022-11-11
  • Java的项目构建工具Maven的配置和使用教程

    Java的项目构建工具Maven的配置和使用教程

    Maven是Java世界中的项目管理和构建自动化工具,基于POM项目对象模型的思想,下面我们就具体来看一下具体的Java的项目构建工具Maven的配置和使用教程:
    2016-05-05
  • scala中常用特殊符号详解

    scala中常用特殊符号详解

    这篇文章主要介绍了scala中常用特殊符号详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • java读写oracle的blob字段示例

    java读写oracle的blob字段示例

    这篇文章主要介绍了java读写oracle的blob字段示例,需要的朋友可以参考下
    2014-02-02
  • Spring中@ConditionalOnProperty注解的作用详解

    Spring中@ConditionalOnProperty注解的作用详解

    这篇文章主要介绍了Spring中@ConditionalOnProperty注解的作用详解,@ConditionalOnProperty注解主要是用来判断配置文件中的内容来决定配置类是否生效用的,如果条件不匹配,则配置类不生效,需要的朋友可以参考下
    2024-01-01
  • Java生成及校验token的实践

    Java生成及校验token的实践

    Token 的生成和校验机制为应用程序提供了一种安全的身份验证和授权方式,可以用于用户认证、API 访问控制等场景,本文主要介绍了Java生成及校验token的实践,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04

最新评论