Java+Appium實(shí)現(xiàn)屏幕錄制功能
1、我們進(jìn)入下面這個(gè)界面
圖中紅色標(biāo)記1為 “top by coordinates” 按鈕, 這是一種通過坐標(biāo)定位元素的方式。
圖中紅色標(biāo)記2為 “Start Recording” 按鈕, 選中表示處理錄制狀態(tài)。

2、點(diǎn)擊“top by coordinates” 按鈕,再點(diǎn)擊 “Start Recording” 按鈕,我們就可以在左則的 App 界面上點(diǎn)點(diǎn)點(diǎn)了。 腳本會(huì)隨著我們的點(diǎn)擊生成。

3、選擇導(dǎo)出的腳本語(yǔ)言,如下所示,可以選擇如下5種

4、我們選擇導(dǎo)出java語(yǔ)言
圖中紅色標(biāo)記1為 我們選擇java-JUnit格式的代碼
圖中紅色標(biāo)記2為 生成完整的腳本
圖中紅色標(biāo)記3為 復(fù)制

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、分析腳本
我們發(fā)現(xiàn)它生成的控件定位都是以坐標(biāo)形式的, 但是我們知道坐標(biāo)定位是不可靠的,因?yàn)樗鼤?huì)受屏幕大小和分辨率的影響 。不過呢,個(gè)人認(rèn)為也是有可以借鑒之處,至少對(duì)Appium有了一個(gè)簡(jiǎn)單的認(rèn)識(shí)
到此這篇關(guān)于Java+Appium實(shí)現(xiàn)屏幕錄制功能的文章就介紹到這了,更多相關(guān)Appium屏幕錄制內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring?Boot+Vue實(shí)現(xiàn)Socket通知推送的完整步驟
最近工作中涉及消息通知功能的開發(fā),所以下面這篇文章主要給大家介紹了關(guān)于Spring?Boot+Vue實(shí)現(xiàn)Socket通知推送的完整步驟,文中通過實(shí)例代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04
spring cloud實(shí)現(xiàn)前端跨域問題的解決方案
這篇文章主要介紹了 spring cloud實(shí)現(xiàn)前端跨域問題的解決方案,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-01-01
ElasticSearch學(xué)習(xí)之Es索引Api操作
這篇文章主要為大家介紹了ElasticSearch學(xué)習(xí)之Es索引Api操作詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
如何實(shí)現(xiàn)自定義SpringBoot的Starter組件
這篇文章主要介紹了實(shí)現(xiàn)自定義SpringBoot的Starter組件的示例代碼,想要自定義starter組件,首先要了解springboot是如何加載starter的,也就是springboot的自動(dòng)裝配機(jī)制原理,本文結(jié)合示例代碼詳細(xì)講解,需要的朋友可以參考下2023-02-02
Springboot jpa @Column命名大小寫問題及解決
這篇文章主要介紹了Springboot jpa @Column命名大小寫問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
Struts2學(xué)習(xí)筆記(4)-通配符的使用
本文主要介紹Struts2中通配符的使用,簡(jiǎn)單實(shí)用,希望能給大家做一個(gè)參考。2016-06-06

