2014-10-08 2 views
0

모든 직원이 내가 만든 모든 자바 파일에 액세스 할 수있는 회사 젠킨스 서버에 셀레늄 테스트 케이스를 작성하려고합니다.테스트 사례를위한 자바 클래스 파일에 비밀번호 숨김

public static void main(String[] args) { 


    WebDriver driver = new FirefoxDriver(); 

    driver.get("http://somesite.com"); 

    driver.manage().window().maximize(); 

    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 



    WebElement userName=driver.findElement(By.xpath(".//*[@id='username']")); 
    userName.clear(); 
    userName.sendKeys("[email protected]"); 

    WebElement password=driver.findElement(By.xpath(".//*[@id='password']")); 
    passwordclear(); 
    password.sendKeys("password"); 
    password.submit(); 

    driver.quit(); 

내가 원하는 것은 "비밀번호"를 표시하지 않고 다른 직원이 내 비밀번호를 볼 수 없도록하려는 것입니다. 내가 할 수있는 방법이 있습니까?

답변

2

당신은 항상 평범한 텍스트가 아니므로 base64 또는 그 무엇인가를 암호화 할 수 있습니다. 그러나 하드 코딩 된 암호 암호화의 종류는 소스 코드를 볼 수 있다면 되돌릴 수 있습니다.

+0

+1 사실 – Leo

+0

이므로 Java의 [Console] (http://docs.oracle.com/javase/7/docs/api/java/io/Console.html) 클래스를 사용할 수도 있습니다. [readPassword()] (http://docs.oracle.com/javase/7/docs/api/java/io/Console.html#readPassword()) 메서드를 사용하여 테스트 사례를 실행할 때 입력하십시오. – zack6849

+0

@ user3792255 내가 어떤 평판이 없기 때문에 나는 다른 스레드에 대해 논평 할 수 없다. 나는 동료가 쉽게 eas 일 수 있다는 것을 지적하는 데 도움이 될 것 같은 기분이다. ily 그 exe를 실행하고 비밀 번호를 얻을, 그래서 좋은 생각인지 모르겠다. – zack6849

1

글쎄, 나는 그것에 대해 생각하고 있었고 당신이 base64 또는 암호화가 쉽게 되돌릴 수 있다고 말했다. AutoIT를 사용하여 방법을 찾았습니다. 따라서 문자 (암호화 된 또는 암호화되지 않은)를 웹 요소로 보내는 대신 .exe 파일을 만들었고이 작업을 수행했습니다.

Runtime.getRuntime(). exec ("password.exe");

위선적으로 작동했습니다. .exe 파일을 디 컴파일하는 것이 어렵다는 것을 알고 있습니다.

그래서 가장 좋은 해결책이라고 생각하십니까?

+0

이것이 최고인지는 확실하지 않지만 암호를 숨기는 데는 좋은 방법입니다. 더 많은 보호를 위해 암호를 암호화 된 문자열로 exe의 소스 코드에 저장 한 다음 exe의 런타임에서 암호를 해독 할 수 있습니다. –

+0

좋아요, 추가 보안을 위해서 ... 감사합니다 – user3792255

+0

@ user3792255 어떻게했는지 보여 주시겠습니까? 나는 또한 비밀 번호를 숨기고 싶다. 고맙습니다 –

0

테스트가 Jenkins에서만 실행되는 경우 Jenkins 환경 변수를 사용하여 비밀번호를 저장할 수 있습니다.

Jenkins는 콘솔 로그에서도 숨길 암호 환경 변수 ***을 지원합니다. 이 암호는 전체적으로 (모든 작업에서 사용 가능) 또는 작업별로 구성 할 수 있습니다.이 경우 특정 작업을 구성 할 수있는 액세스 권한이있는 사용자 만 암호를 볼 수 있으며 심지어 직접 암호를 볼 수 없습니다.

자세히 설명했습니다. 구성 방법 in this answer

관련 문제