35 lines
874 B
TypeScript
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
|
|
}
|