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屏幕录制内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Netty之使用DelimiterBasedFrameDecoder进行消息分隔详解
这篇文章主要介绍了Netty之使用DelimiterBasedFrameDecoder进行消息分隔详解,在使用Netty进行TCP消息传输时,为了上层协议能够对消息正确区分,避免粘包和拆包导致的问题,一般可以通过消息定长、将回车换行符作为消息结束符,需要的朋友可以参考下2023-12-12Java中@DateTimeFormat和@JsonFormat注解介绍
@DateTimeFormat和@JsonFormat都是处理时间格式化问题的,把其他类型转换成自己需要的时间类型,下面这篇文章主要给大家介绍了关于Java中@DateTimeFormat和@JsonFormat注解介绍的相关资料,需要的朋友可以参考下2022-11-11Spring中@ConditionalOnProperty注解的作用详解
这篇文章主要介绍了Spring中@ConditionalOnProperty注解的作用详解,@ConditionalOnProperty注解主要是用来判断配置文件中的内容来决定配置类是否生效用的,如果条件不匹配,则配置类不生效,需要的朋友可以参考下2024-01-01
最新评论