2012-04-05 3 views
1

저는 Selenium RC에서 작업하고 있습니다. 동적 데이터를 얻을 수있는 방법이동적 값을 사용하여 셀렌 사용

내 의심의 여지가있다

selenium.type("id=username","myName"); 
selenium.type("id=password","myPassword"); 
selenium.click("id=login"); 

아래 selenium.Like에 수동으로 데이터를 제공하지만하고 있는가? 여기에 직접 내 이름을 부여합니다 selenium.type();

텍스트 파일이나 엑셀 파일과 같은 다른 장소에서 사용자 이름과 암호를 검색 할 수있는 방법이 있습니까?

어떤 도움이 필요합니까?

+0

순수 셀렌을 사용하고 있습니까? 프로그래밍 언어를 웹 드라이버로 사용하는 API를 사용하고 있습니까? 예 (자바, 파이썬, ...) – devsnd

+0

셀렌 원격 제어를 사용하고 있습니다. –

답변

1

짧은 대답 - 예.

길게 대답 - 프로그램을 작성해야합니다. 따라서 Selenium IDE를 사용할 수는 없지만 Selenium Webdriver를 사용할 수는 있습니다. Java에서이 작업을 수행하므로 코드 작성에 대한 약간의 스 니펫을 게시합니다. 어떻게 수행합니까?

1) 나는 사용자 정보를 보유 할 특별한 자바 클래스가 있습니다

public class EUAUser { 

    private String username; 
    private String password; 
    private boolean isUsed 

    public EUAUser(String uname, String pwd){ 
    this.username = uname; 
    this.password = pwd; 
    isUsed = false; 
    } 

    public String getPassword(){ 
    return password; 
    } 

public String getUsername(){ 
    return username; 
} 

public void lockUser(){ 
    isUsed = true; 
} 
} 

2) 그럼 난 UserPool 모든 사용자를 보유해야합니다. 지금까지 난 단지 5 개의 다른 사용자를 필요로하기 때문에, 나는 신속하고 더러운 방법으로 그것을 할 :이

UserPool pool = new UserPool(); 
EUAUser user = pool.getNextUser(); 
selenium.type("id=username", user.getUserName()); 
selenium.type("id=password", user.getPassword()); 
selenium.click("id=login"); 

같은이 테스트에서

public class UserPool { 
private List<EUAUser> userList = new ArrayList<EUAUser>(); 

public UserPool(){ 

      userList.add(new EUAUser("firstUser","a")); 
      userList.add(new EUAUser("MyUsername", "a")); 
      userList.add(new EUAUser("TestUser", "a")); 
      userList.add(new EUAUser("TSTUser2", "a")); 

     } 

    public EUAUser getNextUser() throws RuntimeException { 
    for(EUAUser user: userList){   
      if (!user.isUsed()){ 
       user.lockUser(); 
       return user;    
     } 
    } 
    throw new RuntimeException("No free user found."); 
} 

3) 위의 코드는

    을한다
  1. 모든 사용자를 UserPool에 추가하십시오.
  2. 풀에서 한 명의 무료 사용자를 찾으십시오.
  3. log 그 사람의 사용자 이름과 암호로 응용 프로그램에

내 경우에는 정말 빠르고 더러운 접근 방식이지만, 사용자의 파일 목록을 가지고 fileReader 또는 뭔가를 사용하여 UserPool에로드 할 수 있습니다.

+0

나는 프로젝트에 클래스 파일을 포함 시켰고 공개 클래스 EUAUser {}와 public class UserPool {} (위에 주어진)의 코드를 복사했다. 하지만 나는 Userpool pool = new UserPool()을 만들 수 없다. 내 셀렌 클래스에서. (나는 셀레늄을 쓰고있는 곳에서 말하고있다. 타입) –

관련 문제