@boykaframework/boyka-cli
Version:
🧑🏻💻 Command line assistant for Boyka Framework
197 lines (196 loc) • 4.63 kB
JavaScript
import { ApplicationType, Browser, DeviceType, Language, LogLevel, OS, PageLoadStrategy, Protocol, Speed, TargetProviders, VideoPreset, VideoQuality, WindowResizeType, } from './enum-types.js';
const defaultDimension = {
width: 1920,
height: 1080,
};
const defaultServerLogSetting = {
level: LogLevel.INFO,
};
const defaultSwipeSetting = {
distance: 75,
max_swipe_until_found: 5,
speed: Speed.NORMAL,
};
export const defaultIOSVideoSetting = {
codec: 'mpeg4',
fps: 10,
quality: VideoQuality.MEDIUM,
};
export const defaultAndroidVideoSetting = {
bit_rate: 4,
};
const defaultApiLogSetting = {
enable: true,
request: true,
response: true,
};
const defaultApplicationSetting = {
type: ApplicationType.NATIVE,
install_timeout: 30,
wait_timeout: 30,
};
export const defaultWDASetting = {
local_port: 8100,
connection_timeout: 60,
launch_timeout: 60,
startup_retries: 2,
startup_retry_interval: 10,
};
export const defaultVideoSetting = {
enabled: false,
path: './videos',
prefix: 'VID',
};
export const defaultScreenshotSetting = {
enabled: true,
extension: 'png',
path: './screenshots',
prefix: 'SCR',
};
export const defaultTimeoutSetting = {
implicit_wait: 1,
explicit_wait: 10,
highlight_delay: 100,
page_load_timeout: 30,
script_timeout: 30,
};
export const defaultUiLogSetting = {
enable: true,
path: './logs',
};
export const defaultVirtualDeviceSetting = {
connect_keyboard: true,
headless: false,
launch_timeout: 120,
ready_timeout: 60,
name: '',
};
export const defaultDelaySetting = {
before_swipe: 500,
};
export const defaultUiSetting = {
logging: {
...defaultUiLogSetting,
},
screenshot: {
...defaultScreenshotSetting,
},
timeout: {
...defaultTimeoutSetting,
},
};
export const defaultApiSetting = {
base_uri: '',
base_path: '',
connection_timeout: 5,
logging: defaultApiLogSetting,
read_timeout: 5,
write_timeout: 5,
schema_path: './schema',
validate_ssl: true,
verify_host_name: true,
language: {
language: Language.EN,
},
};
export const defaultWebSetting = {
browser: Browser.NONE,
custom_size: defaultDimension,
headless: true,
highlight: false,
resize: WindowResizeType.NORMAL,
page_load_strategy: PageLoadStrategy.NORMAL,
target: TargetProviders.LOCAL,
protocol: Protocol.HTTP,
version: 'stable',
language: {
language: Language.EN,
},
};
export const defaultServerSetting = {
target: TargetProviders.LOCAL,
session_override: true,
timeout: 30,
logging: defaultServerLogSetting,
};
export const defaultDeviceSetting = {
accept_alerts: true,
clear_files: true,
clear_logs: true,
os: OS.ANDROID,
swipe: defaultSwipeSetting,
type: DeviceType.VIRTUAL,
application: defaultApplicationSetting,
name: '',
language: {
language: Language.EN,
},
};
export const defaultMobileSetting = {
server: defaultServerSetting,
device: defaultDeviceSetting,
};
export const defaultDesktopServerSetting = {
target: TargetProviders.LOCAL,
session_override: true,
};
export const defaultMacVideoSetting = {
enabled: false,
path: './videos',
time_limit: 300,
mac: {
preset: VideoPreset.VERY_FAST,
capture_clicks: true,
capture_cursor: true,
fps: 10,
},
};
export const defaultDesktopSetting = {
os: OS.MAC,
type: DeviceType.REAL,
show_server_logs: true,
event_timings: true,
full_reset: true,
no_reset: false,
command_timeout: 60,
server_startup_timeout: 60,
video: defaultMacVideoSetting,
language: {
language: Language.EN,
},
};
export const defaultMacSetting = {
server: defaultDesktopServerSetting,
machine: defaultDesktopSetting,
};
export const defaultNewWebSetting = (configName) => {
return {
[configName]: {
...defaultWebSetting,
},
};
};
export const defaultNewMobileSetting = (configName) => {
return {
[configName]: {
...defaultMobileSetting,
},
};
};
export const defaultNewApiSetting = (configName) => {
return {
[configName]: {
...defaultApiSetting,
},
};
};
export const defaultNewMacSetting = (configName) => {
return {
[configName]: {
...defaultMacSetting,
},
};
};
export const defaultFrameworkSetting = {
$schema: 'https://json.schemastore.org/boyka-config.json',
};