2016-03-14 88 views
-1

我在Orange HRM中的while循環中創建了一個代碼。 我正在從文本文件中獲取UID &密碼的數據。 但是執行時也執行第1行,這是不必要的。 我想跳過第一行(UID,PWD)並繼續。 我希望使用While和For循環的解決方案。從while循環跳過第一行執行

我覺得這很簡單,但我無法立即做到。 請在while循環中找到我的代碼。

BufferedReader br = new BufferedReader(new FileReader("E:/WorkSpace/Test/InputData/uid.txt")); 
String sCurrentLine; 

while ((sCurrentLine = br.readLine())!= null) 
{ 
    String str[] = sCurrentLine.split(" ");  
    driver.findElement(By.id("txtUsername")).sendKeys(str[0]); 
    driver.findElement(By.id("txtPassword")).sendKeys(str[1]); 
    driver.findElement(By.id("btnLogin")).click(); 
    Thread.sleep(3000); 
    if (driver.findElement(By.tagName("a")).getAttribute("id").contains("welcome")) 
    { 
     System.out.println("Login is Successful"); 
     temp = true; 
     break; 
    } 
    else 
    { 
     System.out.println("Login Failed"); 
     temp = false; 
     driver.navigate().to("http://opensource.demo.orangehrm.com/"); 
    } 
    if (temp) { 
     break; 
    } 
} 

回答

0

難道你不能只移動一次你想執行的代碼嗎?把它放在循環之前,它會被執行,然後立即進入循環。

或者你可以有這樣的:

for(int i=0; i<length; i++) { 
    if (i == 0) { 
     //code you want executed 
    } 
} 
1

如果你想跳過第一線,在循環之前閱讀:

br.readLine() 
while ((sCurrentLine = br.readLine())!= null) 
{ 
    ...