Как зашифровать ввод текста пароля в режиме сценария в Katalon? - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть csv со списком пользователей и паролей, которые мне нужны, чтобы проверить логин.

Есть ли способ зашифровать ввод текста паролем в режиме сценария в Katalon?

Я нашел ответ на форумах katalon , но они делают это вручную с помощью инструмента IDE, как вы можете видеть здесь Работа с чувствительным текстом

Iхотел бы создать скрипт, который для каждого (user,password) шифрует пароль и входит в систему с использованием зашифрованного пароля.

@Keyword
    def  login(user, password, url){

        WebUI.navigateToUrl(url)

        WebUI.setText(findTestObject('Object Repository/Page_Sign in  My Page/input_SigninFormemail'),user)
        def password_encript = Encrypt(password)// Fictitious method that I would like to get

        WebUI.setEncryptedText(findTestObject('Object Repository/Page_Sign in  My Page/input_SigninFormpassword'), password_encript)

        WebUI.click(findTestObject('Object Repository/Page_Sign in  My Page/input_yt0'))

    }

Есть ли такой метод, как Encrypt(password) в Katalon?Есть ли способ сделать это в коде?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 11 июня 2019

Я столкнулся с этим вопросом при изучении других вопросов шифрования Katalon и подумал, что могу предложить некоторую позднюю информацию.

Метод "setEncryptedText (TestObject, encryptedText)" позволяет вам хранить конфиденциальный текст взашифрованная форма, которая затем расшифровывается при вводе в веб-приложение.

Поскольку вашему методу передается 'пароль' в виде строки в виде открытого текста, почему бы просто не сделать так, чтобы функция выполняла:

WebUI.setText(findTestObject('Object Repository/Page_Sign in  My Page/input_SigninFormpassword'), password)
0 голосов
/ 21 октября 2018

Итак, чтобы использовать Java Encryption: Blowfish с текстом и ключом.Вот мое решение:

public static String encrypt(String strClearText,String strKey) throws Exception{
String strData="";

// streData - здесь вы помещаете свои данные

try {
    SecretKeySpec skeyspec=new SecretKeySpec(strKey.getBytes(),"Blowfish");
    Cipher cipher=Cipher.getInstance("Blowfish");
    cipher.init(Cipher.ENCRYPT_MODE, skeyspec);
    byte[] encrypted=cipher.doFinal(strClearText.getBytes());
    strData=new String(encrypted);

} catch (Exception e) {
    e.printStackTrace();
    throw new Exception(e);
}
return strData;

}

...