52 lines
2.4 KiB
TypeScript
52 lines
2.4 KiB
TypeScript
/**
|
|
* 登录账号凭据 —— 平台用例(登录/登出/注册收尾登回主账号)用。
|
|
* 分平台配置(Android / iOS 可用不同账号),取值优先级与 wifi.config 一致:
|
|
* 平台专用 env(ACCOUNT_EMAIL_ANDROID / ACCOUNT_EMAIL_IOS) > 通用 env(ACCOUNT_EMAIL) > 默认
|
|
* 密码同理(ACCOUNT_PASSWORD_ANDROID / ACCOUNT_PASSWORD_IOS > ACCOUNT_PASSWORD > 默认)。
|
|
*
|
|
* 注:注册/忘记密码/注销用例用临时邮箱(account-code.helper)自建账号,不用这里的主账号;
|
|
* 主账号仅用于"登录"用例与各流程结尾登回。
|
|
*/
|
|
export interface AccountCredentials {
|
|
email: string;
|
|
password: string;
|
|
}
|
|
|
|
// 主账号分平台默认(Android / iOS 不同账号,密码相同)。env 可覆盖:
|
|
// ACCOUNT_EMAIL_ANDROID / ACCOUNT_EMAIL_IOS > ACCOUNT_EMAIL > 平台默认
|
|
const DEFAULT_EMAIL_ANDROID = 'oap107@uuf.me';
|
|
const DEFAULT_PASSWORD = '1234567b';
|
|
|
|
function pick(platformVar: string, genericVar: string, def: string): string {
|
|
return process.env[platformVar] || process.env[genericVar] || def;
|
|
}
|
|
|
|
/** 取当前(或指定)平台的登录账号。platform 缺省读 PLATFORM env(android/ios)。
|
|
* 规则:**iOS 默认沿用 Android 账号** —— iOS 未显式设 ACCOUNT_EMAIL_IOS 时回落到
|
|
* ACCOUNT_EMAIL_ANDROID(再到通用 ACCOUNT_EMAIL、Android 默认),两端同一账号便于过夜跑批。 */
|
|
export function getAccountCredentials(platform?: 'android' | 'ios'): AccountCredentials {
|
|
const isIos = (platform || process.env.PLATFORM || 'android').toLowerCase() === 'ios';
|
|
if (isIos) {
|
|
return {
|
|
email: process.env.ACCOUNT_EMAIL_IOS || process.env.ACCOUNT_EMAIL_ANDROID || process.env.ACCOUNT_EMAIL || DEFAULT_EMAIL_ANDROID,
|
|
password: process.env.ACCOUNT_PASSWORD_IOS || process.env.ACCOUNT_PASSWORD_ANDROID || process.env.ACCOUNT_PASSWORD || DEFAULT_PASSWORD,
|
|
};
|
|
}
|
|
return {
|
|
email: pick('ACCOUNT_EMAIL_ANDROID', 'ACCOUNT_EMAIL', DEFAULT_EMAIL_ANDROID),
|
|
password: pick('ACCOUNT_PASSWORD_ANDROID', 'ACCOUNT_PASSWORD', DEFAULT_PASSWORD),
|
|
};
|
|
}
|
|
|
|
// 欧区账号(欧区账号登录必测项 ONES 227290 用)。env: ACCOUNT_EMAIL_EU / ACCOUNT_PASSWORD_EU 可覆盖。
|
|
const DEFAULT_EU_EMAIL = 'oeu5@uuf.me';
|
|
const DEFAULT_EU_PASSWORD = '88888888';
|
|
|
|
/** 取欧区登录账号。 */
|
|
export function getEuAccountCredentials(): AccountCredentials {
|
|
return {
|
|
email: process.env.ACCOUNT_EMAIL_EU || DEFAULT_EU_EMAIL,
|
|
password: process.env.ACCOUNT_PASSWORD_EU || DEFAULT_EU_PASSWORD,
|
|
};
|
|
}
|