2017-10-05 2 views
0

私はアプリケーションでいくつかのテストを行うためにSeleniumと協力しています。メソッド "Click"を使用している関数は2日ほど前から正常に動作していません。例えば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

ブラウザのバージョンに変更はありません。実際には、その機能ではテストは失敗していません。ログインがOKでないため、次の要素を見つけることができないため、次の命令でテストが失敗します。 –

答えて

0

クリックスルーを管理するためのコードをJavaScriptで追加して問題を修正しました。

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

コードは変更されていませんが、私は同じことをしていました...クリックは機能していましたが、突然それ以上のことはありませんでした。

私はChromeでズーム率を使っていますが、ウェブドライブのクリックは100%ズーム設定でしか動作しません。これは既に問題として追跡されています: https://bugs.chromium.org/p/chromedriver/issues/detail?id=628

関連する問題