量角器:如何加密传递给 UI 自动化脚本的密码?
Protractor: How to encrypt passwords passed to the UI automation scripts?
我在基于 UI 的自动化中使用带有打字稿的量角器。我想将通过 json 文件(使用 json 格式作为测试数据文件)传递的密码加密到我的规范中。
我的站点密码在 Json 文件中公开,但我想以某种方式对其进行加密。
听起来将密码作为环境变量传递而不是将其存储在文件中会更容易,但如果您仍然坚持在这里加密它:
- 生成密钥(用于解密的密码)并将其保存在笔记中(您将需要它来解密您的密码)
let uuid = require('uuid');
let key = uuid();
console.log(key); // 3467f7d0-190f-4319-836e-8918a778d120
-
加密密码:
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
P.S.
当我说使用密码作为环境变量启动量角器更容易时,我的意思是这个
PASSWORD=Pa$sword123! protractor protractor.conf.js
然后将密码称为process.env.PASSWORD
我在基于 UI 的自动化中使用带有打字稿的量角器。我想将通过 json 文件(使用 json 格式作为测试数据文件)传递的密码加密到我的规范中。 我的站点密码在 Json 文件中公开,但我想以某种方式对其进行加密。
听起来将密码作为环境变量传递而不是将其存储在文件中会更容易,但如果您仍然坚持在这里加密它:
- 生成密钥(用于解密的密码)并将其保存在笔记中(您将需要它来解密您的密码)
let uuid = require('uuid');
let key = uuid();
console.log(key); // 3467f7d0-190f-4319-836e-8918a778d120
加密密码:
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
P.S.
当我说使用密码作为环境变量启动量角器更容易时,我的意思是这个
PASSWORD=Pa$sword123! protractor protractor.conf.js
然后将密码称为process.env.PASSWORD