PeerTube/client/e2e/src/utils.ts

35 lines
874 B
TypeScript

import { browser } from 'protractor'
async function browserSleep (amount: number) {
const oldValue = await browser.waitForAngularEnabled()
// iOS does not seem to work with protractor
// https://github.com/angular/protractor/issues/2840
if (await isIOS()) browser.waitForAngularEnabled(true)
await browser.sleep(amount)
if (await isIOS()) browser.waitForAngularEnabled(oldValue)
}
async function isMobileDevice () {
const caps = await browser.getCapabilities()
return caps.get('realMobile') === 'true' || caps.get('realMobile') === true
}
async function isSafari () {
const caps = await browser.getCapabilities()
return caps.get('browserName') && caps.get('browserName').toLowerCase() === 'safari'
}
async function isIOS () {
return await isMobileDevice() && await isSafari()
}
export {
isMobileDevice,
isSafari,
isIOS,
browserSleep
}