звучит так, что было бы проще передать пароль как переменную среды, а не хранить его в файле, но если вы все еще настаиваете на шифровании его здесь, вы go:
- Generate ключ (пароль для расшифровки) и сохраните его в заметках (он понадобится вам для расшифровки пароля)
let uuid = require('uuid');
let key = uuid();
console.log(key); // 3467f7d0-190f-4319-836e-8918a778d120
Установить crypto- js
Зашифровать пароль:
let CryptoJS = require("crypto-js");
let encryptedPassword = CryptoJS.AES.encrypt('Pa$sword123!', key).toString();
console.log(encryptedPassword); // U2FsdGVkX18iI0gLaeQmf2z7Ev82hMynTo1c2TkCCJo=
Сохраните его в файле данных json
{
'username': 'test-account',
'password': 'U2FsdGVkX18iI0gLaeQmf2z7Ev82hMynTo1c2TkCCJo='
}
Везде, где вам нужно использовать пароль, сделайте это
let CryptoJS = require("crypto-js");
let decryptedPassword = CryptoJS.AES.decrypt(json['password'], process.env.PASSWORD_KEY).toString(CryptoJS.enc.Utf8);
await login(json.username, decryptedPassword);
Запустите транспортир с помощью следующей команды, указав ключ дешифрования из шага # 1
PASSWORD_KEY=3467f7d0-190f-4319-836e-8918a778d120 protractor protractor.conf.js
PS
, когда я сказал, что проще запустить транспортир с паролем в качестве переменной среды Я имел в виду это
PASSWORD=Pa$sword123! protractor protractor.conf.js
и затем называю пароль process.env.PASSWORD