AndroidDevice
AndroidDevice 代表一個已連線的裝置,無論是真實硬體或模擬器。裝置可以使用 android.devices() 取得。
方法
close
加入於:v1.9中斷與裝置的連線。
用法
await androidDevice.close();
回傳
drag
加入於:v1.9用法
await androidDevice.drag(selector, dest);
await androidDevice.drag(selector, dest, options);
參數
-
selector
[AndroidSelector]#要拖曳的選擇器。
-
要拖曳到的點。
-
options
Object (選用)-
拖曳的可選速度,單位為像素/秒。
-
最大等待時間,單位為毫秒,預設為 30 秒,傳遞
0
以停用逾時。預設值可以使用 androidDevice.setDefaultTimeout() 方法變更。
-
回傳
fill
加入於:v1.9用法
await androidDevice.fill(selector, text);
await androidDevice.fill(selector, text, options);
參數
-
selector
[AndroidSelector]#要填寫的選擇器。
-
要填入輸入框的文字。
-
options
Object (選用)-
最大等待時間,單位為毫秒,預設為 30 秒,傳遞
0
以停用逾時。預設值可以使用 androidDevice.setDefaultTimeout() 方法變更。
-
回傳
fling
加入於:v1.9在指定的 direction 方向上,快速滑動由 selector 定義的小工具。
用法
await androidDevice.fling(selector, direction);
await androidDevice.fling(selector, direction, options);
參數
-
selector
[AndroidSelector]#要快速滑動的選擇器。
-
direction
"down" | "up" | "left" | "right"#快速滑動方向。
-
options
Object (選用)-
快速滑動的可選速度,單位為像素/秒。
-
最大等待時間,單位為毫秒,預設為 30 秒,傳遞
0
以停用逾時。預設值可以使用 androidDevice.setDefaultTimeout() 方法變更。
-
回傳
info
加入於:v1.9回傳由 selector 定義的小工具的相關資訊。
用法
await androidDevice.info(selector);
參數
-
selector
[AndroidSelector]#要回傳資訊的選擇器。
回傳
installApk
加入於:v1.9在裝置上安裝 apk。
用法
await androidDevice.installApk(file);
await androidDevice.installApk(file, options);
參數
-
apk 檔案的路徑,或 apk 檔案內容。
-
options
Object (選用)
回傳
launchBrowser
加入於:v1.9在裝置上啟動 Chrome 瀏覽器,並回傳其持久性上下文。
用法
await androidDevice.launchBrowser();
await androidDevice.launchBrowser(options);
參數
options
Object (選用)-
是否自動下載所有附件。預設為
true
,表示接受所有下載。 -
args
Array<string> (選用)加入於:v1.29#警告使用自訂瀏覽器引數的風險由您自行承擔,因為其中某些引數可能會破壞 Playwright 功能。
要傳遞給瀏覽器執行個體的其他引數。Chromium 旗標的清單可以在這裡找到。
-
當使用 page.goto()、page.route()、page.waitForURL()、page.waitForRequest() 或 page.waitForResponse() 時,它會透過使用
URL()
建構函式來建構對應的 URL,進而考量基準 URL。預設為未設定。範例- baseURL:
https://127.0.0.1:3000
和導覽至/bar.html
會產生https://127.0.0.1:3000/bar.html
- baseURL:
https://127.0.0.1:3000/foo/
和導覽至./bar.html
會產生https://127.0.0.1:3000/foo/bar.html
- baseURL:
https://127.0.0.1:3000/foo
(不含尾部斜線) 和導覽至./bar.html
會產生https://127.0.0.1:3000/bar.html
- baseURL:
-
切換是否略過頁面的內容安全策略 (CSP)。預設為
false
。 -
colorScheme
null | "light" | "dark" | "no-preference" (選用)#模擬 prefers-colors-scheme 媒體功能,支援的值為
'light'
和'dark'
。請參閱 page.emulateMedia() 以取得更多詳細資訊。傳遞null
會將模擬重設為系統預設值。預設為'light'
。 -
deviceScaleFactor
number (選用)#指定裝置縮放比例 (可以視為 dpr)。預設為
1
。深入瞭解使用裝置縮放比例模擬裝置。 -
extraHTTPHeaders
Object<string, string> (選用)#包含要隨每個請求一起傳送的其他 HTTP 標頭的物件。預設為無。
-
forcedColors
null | "active" | "none" (選用)#模擬
'forced-colors'
媒體功能,支援的值為'active'
、'none'
。請參閱 page.emulateMedia() 以取得更多詳細資訊。傳遞null
會將模擬重設為系統預設值。預設為'none'
。 -
指定視窗是否支援觸控事件。預設為 false。深入瞭解行動裝置模擬。
-
-
username
string -
password
string -
origin
string (選用)限制在特定來源上傳送 http 憑證 (scheme://host:port).
-
send
"unauthorized" | "always" (選用)此選項僅適用於從對應的 APIRequestContext 傳送的請求,且不影響從瀏覽器傳送的請求。
'always'
- 具有基本驗證憑證的Authorization
標頭將與每個 API 請求一起傳送。'unauthorized
- 只有在收到具有WWW-Authenticate
標頭的 401 (未授權) 回應時,才會傳送憑證。預設為'unauthorized'
。
HTTP 驗證的憑證。如果未指定來源,則使用者名稱和密碼會在收到未授權的回應時傳送至任何伺服器。
-
-
ignoreHTTPSErrors
boolean (選用)#是否在傳送網路請求時忽略 HTTPS 錯誤。預設為
false
。 -
是否將
meta viewport
標籤納入考量,並啟用觸控事件。isMobile 是裝置的一部分,因此您實際上不需要手動設定它。預設為false
,且 Firefox 中不支援。深入瞭解行動裝置模擬。 -
javaScriptEnabled
boolean (選用)#是否要在上下文中啟用 JavaScript。預設為
true
。深入瞭解停用 JavaScript。 -
指定使用者地區設定,例如
en-GB
、de-DE
等。地區設定將影響navigator.language
值、Accept-Language
請求標頭值,以及數字和日期格式規則。預設為系統預設地區設定。深入瞭解我們的模擬指南中的模擬。 -
Playwright 記錄的記錄接收器。
-
是否模擬網路離線。預設為
false
。深入瞭解網路模擬。 -
permissions
Array<string> (選用)#要授與此上下文中所有頁面的權限清單。請參閱 browserContext.grantPermissions() 以取得更多詳細資訊。預設為無。
-
要啟動的可選套件名稱,而非預設的 Android 版 Chrome。
-
-
server
string要用於所有請求的 Proxy。支援 HTTP 和 SOCKS Proxy,例如
http://myproxy.com:3128
或socks5://myproxy.com:3128
。簡短格式myproxy.com:3128
會被視為 HTTP Proxy。 -
bypass
string (選用)要略過 Proxy 的可選逗號分隔網域,例如
".com, chromium.org, .domain.com"
。 -
username
string (選用)如果 HTTP Proxy 需要驗證,則使用的可選使用者名稱。
-
password
string (選用)如果 HTTP Proxy 需要驗證,則使用的可選密碼。
網路 Proxy 設定。
-
-
-
omitContent
boolean (選用)用於控制是否從 HAR 中省略請求內容的可選設定。預設為
false
。已棄用,請改用content
策略。 -
content
"omit" | "embed" | "attach" (選用)用於控制資源內容管理的可選設定。如果指定
omit
,則不會保存內容。如果指定attach
,則資源會保存為 ZIP 存檔中的個別檔案或項目。如果指定embed
,則內容會根據 HAR 規格內嵌儲存在 HAR 檔案中。預設為.zip
輸出檔案使用attach
,所有其他副檔名使用embed
。 -
path
string要在檔案系統上寫入 HAR 檔案的路徑。如果檔案名稱以
.zip
結尾,則預設會使用content: 'attach'
。 -
mode
"full" | "minimal" (選用)當設定為
minimal
時,僅記錄從 HAR 路由所需的資訊。這會省略大小、時間、頁面、Cookie、安全性和其他類型的 HAR 資訊,這些資訊在從 HAR 重新播放時不會使用。預設為full
。 -
urlFilter
string | RegExp (選用)用於篩選儲存在 HAR 中的請求的 glob 或 regex 模式。當透過上下文選項提供 baseURL,且傳遞的 URL 是路徑時,它會透過
new URL()
建構函式合併。預設為無。
啟用將所有頁面的 HAR 記錄到
recordHar.path
檔案中。如果未指定,則不會記錄 HAR。請務必等待 browserContext.close() 以儲存 HAR。 -
-
-
dir
string要將影片放入的目錄路徑。
-
size
Object (選用)錄製影片的可選尺寸。如果未指定,則尺寸將等於縮小以適合 800x800 的
viewport
。如果未明確設定viewport
,則影片尺寸預設為 800x450。如有必要,每個頁面的實際圖片都會縮小以符合指定的尺寸。
啟用將所有頁面的影片記錄到
recordVideo.dir
目錄中。如果未指定,則不會錄製影片。請務必等待 browserContext.close() 以儲存影片。 -
-
reducedMotion
null | "reduce" | "no-preference" (選用)#模擬
'prefers-reduced-motion'
媒體功能,支援的值為'reduce'
、'no-preference'
。請參閱 page.emulateMedia() 以取得更多詳細資訊。傳遞null
會將模擬重設為系統預設值。預設為'no-preference'
。 -
模擬透過
window.screen
在網頁內可使用的一致視窗螢幕尺寸。僅當設定 viewport 時才會使用。 -
serviceWorkers
"allow" | "block" (選用)#是否允許網站註冊 Service Worker。預設為
'allow'
。'allow'
:可以註冊 Service Worker。'block'
:Playwright 將封鎖所有 Service Worker 的註冊。
-
如果設定為 true,則會為此上下文啟用嚴格選擇器模式。在嚴格選擇器模式中,當多個元素符合選擇器時,對暗示單一目標 DOM 元素之選擇器的所有操作都會擲回例外。此選項不會影響任何 Locator API (Locator 永遠是嚴格的)。預設為
false
。請參閱 Locator 以深入瞭解嚴格模式。 -
變更上下文的時區。請參閱 ICU 的 metaZones.txt 以取得支援的時區 ID 清單。預設為系統時區。
-
在此上下文中使用的特定使用者代理程式。
-
已棄用
請改用 recordVideo。
-
已棄用
請改用 recordVideo。
-
為每個頁面模擬一致的視窗。預設為 1280x720 視窗。使用
null
停用一致的視窗模擬。深入瞭解視窗模擬。注意null
值會停用預設的預設值,使 viewport 取決於作業系統定義的主機視窗大小。這會使測試的執行變成非決定性的。
-
回傳
longTap
加入於:v1.9對由 selector 定義的小工具執行長按操作。
用法
await androidDevice.longTap(selector);
await androidDevice.longTap(selector, options);
參數
-
selector
[AndroidSelector]#要點擊的選擇器。
-
options
Object (選用)-
最大等待時間,單位為毫秒,預設為 30 秒,傳遞
0
以停用逾時。預設值可以使用 androidDevice.setDefaultTimeout() 方法變更。
-
回傳
model
加入於:v1.9裝置型號。
用法
androidDevice.model();
回傳
open
加入於:v1.9在裝置上的 shell 中啟動程序,並傳回一個 socket 以與啟動的程序進行通訊。
用法
await androidDevice.open(command);
參數
回傳
pinchClose
加入於:v1.9在關閉方向捏合由 selector 定義的小工具。
用法
await androidDevice.pinchClose(selector, percent);
await androidDevice.pinchClose(selector, percent, options);
參數
-
selector
[AndroidSelector]#要向內捏合的選擇器。
-
捏合的大小,以小工具尺寸的百分比表示。
-
options
Object (選用)-
選填的捏合速度,單位為像素/秒。
-
最大等待時間,單位為毫秒,預設為 30 秒,傳遞
0
以停用逾時。預設值可以使用 androidDevice.setDefaultTimeout() 方法變更。
-
回傳
pinchOpen
加入於:v1.9在開啟方向捏合由 selector 定義的小工具。
用法
await androidDevice.pinchOpen(selector, percent);
await androidDevice.pinchOpen(selector, percent, options);
參數
-
selector
[AndroidSelector]#要向外捏合的選擇器。
-
捏合的大小,以小工具尺寸的百分比表示。
-
options
Object (選用)-
選填的捏合速度,單位為像素/秒。
-
最大等待時間,單位為毫秒,預設為 30 秒,傳遞
0
以停用逾時。預設值可以使用 androidDevice.setDefaultTimeout() 方法變更。
-
回傳
press
加入於:v1.9在由 selector 定義的小工具中,按下特定的 key。
用法
await androidDevice.press(selector, key);
await androidDevice.press(selector, key, options);
參數
-
selector
[AndroidSelector]#要在其中按下按鍵的選擇器。
-
key
[AndroidKey]#要按下的按鍵。
-
options
Object (選用)-
最大等待時間,單位為毫秒,預設為 30 秒,傳遞
0
以停用逾時。預設值可以使用 androidDevice.setDefaultTimeout() 方法變更。
-
回傳
push
加入於:v1.9複製檔案到裝置。
用法
await androidDevice.push(file, path);
await androidDevice.push(file, path, options);
參數
-
檔案路徑或檔案內容。
-
裝置上檔案的路徑。
-
options
Object (選用)
回傳
screenshot
加入於:v1.9傳回包含裝置螢幕截圖的 buffer。
用法
await androidDevice.screenshot();
await androidDevice.screenshot(options);
參數
回傳
scroll
加入於:v1.9在指定的 direction 中滾動由 selector 定義的小工具。
用法
await androidDevice.scroll(selector, direction, percent);
await androidDevice.scroll(selector, direction, percent, options);
參數
-
selector
[AndroidSelector]#要滾動的選擇器。
-
direction
"down" | "up" | "left" | "right"#滾動方向。
-
滾動距離,以小工具尺寸的百分比表示。
-
options
Object (選用)-
選填的滾動速度,單位為像素/秒。
-
最大等待時間,單位為毫秒,預設為 30 秒,傳遞
0
以停用逾時。預設值可以使用 androidDevice.setDefaultTimeout() 方法變更。
-
回傳
serial
加入於:v1.9裝置序號。
用法
androidDevice.serial();
回傳
setDefaultTimeout
加入於:v1.9此設定將變更所有接受 timeout 選項的方法的預設最大時間。
用法
androidDevice.setDefaultTimeout(timeout);
參數
shell
加入於:v1.9在裝置上執行 shell 命令並傳回其輸出。
用法
await androidDevice.shell(command);
參數
回傳
swipe
加入於:v1.9在指定的 direction 中滑動由 selector 定義的小工具。
用法
await androidDevice.swipe(selector, direction, percent);
await androidDevice.swipe(selector, direction, percent, options);
參數
-
selector
[AndroidSelector]#要滑動的選擇器。
-
direction
"down" | "up" | "left" | "right"#滑動方向。
-
滑動距離,以小工具尺寸的百分比表示。
-
options
Object (選用)-
選填的滑動速度,單位為像素/秒。
-
最大等待時間,單位為毫秒,預設為 30 秒,傳遞
0
以停用逾時。預設值可以使用 androidDevice.setDefaultTimeout() 方法變更。
-
回傳
tap
加入於:v1.9點擊由 selector 定義的小工具。
用法
await androidDevice.tap(selector);
await androidDevice.tap(selector, options);
參數
-
selector
[AndroidSelector]#要點擊的選擇器。
-
options
Object (選用)-
選填的點擊持續時間,單位為毫秒。
-
最大等待時間,單位為毫秒,預設為 30 秒,傳遞
0
以停用逾時。預設值可以使用 androidDevice.setDefaultTimeout() 方法變更。
-
回傳
wait
加入於:v1.9等待特定的 selector 出現或消失,取決於 state。
用法
await androidDevice.wait(selector);
await androidDevice.wait(selector, options);
參數
-
selector
[AndroidSelector]#要等待的選擇器。
-
options
Object (選用)-
state
"gone" (選填)#選填的狀態。可以是
- 預設 - 等待元素出現。
'gone'
- 等待元素不存在。
-
最大等待時間,單位為毫秒,預設為 30 秒,傳遞
0
以停用逾時。預設值可以使用 androidDevice.setDefaultTimeout() 方法變更。
-
回傳
waitForEvent
加入於:v1.9等待事件觸發並將其值傳遞到述詞函式中。當述詞傳回真值時解析。
用法
await androidDevice.waitForEvent(event);
await androidDevice.waitForEvent(event, optionsOrPredicate);
參數
-
事件名稱,通常與傳遞到
*.on(event)
的名稱相同。 -
optionsOrPredicate
function | Object (選填)#-
predicate
function接收事件資料,並在等待應解析時解析為真值。
-
timeout
number (選填)等待的最大時間 (毫秒)。預設為
30000
(30 秒)。傳遞0
以停用逾時。預設值可以使用 androidDevice.setDefaultTimeout() 變更。
接收事件的述詞或選項物件。選填。
-
回傳
webView
加入於:v1.9此方法會等待符合 selector 的 AndroidWebView 開啟,並傳回它。如果已經有符合 selector 的已開啟 AndroidWebView,則會立即傳回。
用法
await androidDevice.webView(selector);
await androidDevice.webView(selector, options);
參數
selector
Object#options
Object (選用)-
最大等待時間,單位為毫秒,預設為 30 秒,傳遞
0
以停用逾時。預設值可以使用 androidDevice.setDefaultTimeout() 方法變更。
-
回傳
webViews
加入於:v1.9目前開啟的 WebViews。
用法
androidDevice.webViews();
回傳
Properties
input
加入於:v1.9用法
androidDevice.input
Type
Events
on('close')
Added in: v1.28當裝置連線關閉時發出。
用法
androidDevice.on('close', data => {});
Event data
on('webview')
加入於:v1.9當偵測到新的 WebView 實例時發出。
用法
androidDevice.on('webview', data => {});
Event data