2014-11-19 3 views
0

www.flipkart.com 사이트의 로그인 및 로그 아웃을 자동화하는 스크립트를 작성하려고합니다. 하지만 내 스크립트가 실패하고 예외를 제공하고 있습니다 : Unable to locate element: {"method":"link text","selector":"Logout"} 문제점을 파악할 수 없습니다. 아무도 내 위치 찾기 문제가 무엇인지 말할 수 있습니까? 난과 flipkart 로그 아웃과 개인을 도왔다 최근 ..예외 발생 : 요소를 찾을 수 없습니다.

Actions builder = new Actions(driver); 
System.out.print("log1"); 
WebElement element = driver.findElement(By.xpath(".//*[@id='fk-mainhead-id']/div[1]/div/div[2]/div[1]/ul/li[6]/a")); 
System.out.print("log2"); 
Action action = builder.moveToElement(element).build(); 
action.perform(); 
System.out.print("log3"); 
driver.manage().timeouts().implicitlyWait(5,TimeUnit.SECONDS); 
driver.findElement(By.linkText("Logout")).click(); 
} 
+0

[하위 메뉴를 클릭하는 동안 [요소가 현재 표시되어 있지 않으므로 상호 작용하지 않을 수 있습니다]] (http://stackoverflow.com/questions/19679748/element-is-not-currently- 시도하고있는 동안 보이지 않을 수도 있고 상호 작용할 수도 있음) – Louis

답변

1

당신은 운이있어 : 다음은 내 코드입니다. 스크립트는 다음과 같습니다.

@Config(url="http://flipkart.com", browser=Browser.FIREFOX) 
public class TestFlipKart extends Conductor { 
    @Test 
    public void testLoginLogout() { 
     String username = "<username>"; 
     String password = "<password>"; 

     click(By.cssSelector("a[href*='/login']")) 
     .setText(By.cssSelector("input[name='email']"), username) 
     .setText(By.cssSelector("input[name='password']"), password) 
     .click(By.cssSelector("input[type='submit'][value='Login']")) 

     .validatePresent(By.cssSelector("li.greeting-link > a")) 

     .hoverOver(By.cssSelector("li.greeting-link > a")) 

     .click(By.cssSelector("ul.account-dropdown a[href*='/logout']")) 

     // should be logged out now. 
     .validatePresent(By.cssSelector("a[href*='/login']")); 
    } 
} 

마음에 들으시 고, 이것은 Conductor 프레임 워크를 사용하고 있습니다. 거기에있는 CSS 선택기를 스크립트로 번역 할 수 있습니다.

관련 문제