Typescript 量角器:如何加密传递给UI自动化脚本的密码?
我正在使用带有typescript的量角器实现基于UI的自动化。我想将通过json文件(使用json格式作为testdata文件)传递的密码加密到我的规范中。Typescript 量角器:如何加密传递给UI自动化脚本的密码?,typescript,encryption,protractor,Typescript,Encryption,Protractor,我正在使用带有typescript的量角器实现基于UI的自动化。我想将通过json文件(使用json格式作为testdata文件)传递的密码加密到我的规范中。 我的站点密码在Json文件中公开,但不知何故,我想对其进行加密。听起来,将密码作为环境变量传递比将其存储在文件中更容易,但如果您仍然坚持在此处对其进行加密,您可以: 生成密钥(用于解密的密码)并将其保存在notes中(解密密码时需要它) 安装 加密密码: 将其保存在json数据文件中 无论何时何地需要使用密码,请执行此操作 使用以下命
我的站点密码在Json文件中公开,但不知何故,我想对其进行加密。听起来,将密码作为环境变量传递比将其存储在文件中更容易,但如果您仍然坚持在此处对其进行加密,您可以:
PASSWORD=Pa$sword123! protractor protractor.conf.js
然后将密码称为
process.env.password
,webdriver协议本身也存在问题。默认情况下,它是HTTP,因此sendKeys将发送未加密的密码,并且可能很容易读取。以及命令和使用的值可能会写入一些命令日志等…@Sergey Pleshakov感谢您提供了一个漂亮而详细的答案。
let CryptoJS = require("crypto-js");
let encryptedPassword = CryptoJS.AES.encrypt('Pa$sword123!', key).toString();
console.log(encryptedPassword); // U2FsdGVkX18iI0gLaeQmf2z7Ev82hMynTo1c2TkCCJo=
{
'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);
PASSWORD_KEY=3467f7d0-190f-4319-836e-8918a778d120 protractor protractor.conf.js
PASSWORD=Pa$sword123! protractor protractor.conf.js