2017-10-05 1 views
0

응용 프로그램에서 일부 테스트를 수행하기 위해 Selenium과 협력 중이며 2 일 전부터 "Click"메서드를 사용하는 함수가 올바르게 작동하지 않습니다. 그것은 잘 작동하지Selenium ChromeDriver C# - 작동하지 않음

public LoginConnect() : base() { } 

    #region pageElements 
    [FindsBy(How = How.Id, Using = "userNameInput")] 
    public IWebElement userId { get; set; } 

    [FindsBy(How = How.Id, Using = "userPasswordInput")] 
    public IWebElement password { get; set; } 

    [FindsBy(How = How.Id, Using = "LoginButton")] 
    public IWebElement loginButton { get; set; } 

    #endregion 

    #region pageActions 
    public JobList LogConnect(String userId, String password) 
    {    
     CleanFormConnect(); 
     this.userId.SendKeys(userId); 
     this.password.SendKeys(password);    
     this.loginButton.Click(); 
     return new JobList(); 
    } 
} 

:

예를 들어, 간단한 기능은 로그인을 확인합니다. 함수 Click에는 오류가 없지만 브라우저는 아무 것도하지 않습니다.

크롬의 버전은 내가 예상대로 작동

this.loginButton.SendKeys(Keys.Return); 

의 기능

this.loginButton.Click(); 

을 변경하는 경우 드라이버의 버전이 2.33

입니다 버전 61.0.3163.100 입니다.

+0

코드가 변경되지 않아 작동 중입니다. 전혀 다른 것이 있습니까? 크롬이 업데이트 되었습니까? 다른 브라우저는 어떨까요 –

+0

또한 브라우저의 콘솔 출력도 확인 했으므로 오류 메시지가 있는지 확인하십시오. –

+0

브라우저의 버전에는 변경 사항이없고 코드에는 변경 사항이 없습니다. 실제로이 테스트에서는 해당 기능이 실패하지 않습니다. 로그인이 잘되지 않아 다음 요소를 찾을 수 없기 때문에 다음 명령에서 테스트가 실패합니다. –

답변

0

JavaScript를 통해 클릭을 관리하는 코드를 추가하는 문제가 해결되었습니다.

public static void JsClick (IWebElement element) 
    { 
     IJavaScriptExecutor js = (IJavaScriptExecutor)ContextDriver.GetDriver(); 
     js.ExecuteScript("arguments[0].click();", element); 
    } 
0

코드가 변경되지 않았더라도 동일한 작업을 수행 할 수있었습니다. 클릭이 작동하고 갑자기 더 이상 작동하지 않았습니다.

나는 크롬에서 확대/축소 비율로 게임을했고 - 웹 드라이브 클릭은 100 % 확대/축소 설정에서만 작동합니다. 이 문제는 이미 문제로 추적되고 있습니다. https://bugs.chromium.org/p/chromedriver/issues/detail?id=628

관련 문제