Транспортир: Как зашифровать пароли, передаваемые в сценарии автоматизации пользовательского интерфейса? - PullRequest
0 голосов
/ 14 февраля 2020

Я использую транспортир с машинописью для моей автоматизации на основе пользовательского интерфейса. Я хочу зашифровать пароль, который передается через файл json (используя формат json в качестве файла тестовых данных) в мои спецификации. пароль моего сайта выставлен в файле Json, но каким-то образом я хочу зашифровать то же самое.

1 Ответ

0 голосов
/ 14 февраля 2020

звучит так, что было бы проще передать пароль как переменную среды, а не хранить его в файле, но если вы все еще настаиваете на шифровании его здесь, вы go:

  1. 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...