2016-07-20 19 views
-1

私はここに問題があります: パスワードを変更して新しいパスワードでログインするためのテストケースを作成します。次のテストケースで再利用するために、新しいパスワードを変数 "currentPassword"に割り当てることはできません。 私は、TestCleanupでパスワードを元の値に戻す方法を用意しています。しかし、私はプロセスをブラウザに表示したくありません。そこで、私は新しいGhost-Driverでこのメソッドを実行します(PhantomJSとHTMLUnitの両方を試しましたが、動作しません)。 ここに私のコードはありますか?エラーが何であるかを確認してください。そしてbtwは他の解決方法がありますか?パスワードを変更するテストケース - セレンC#を使用したユニットテスト

[TestMethod] 
     public void test() 
     { 
      IWebDriver newDriver = new RemoteWebDriver(DesiredCapabilities.HtmlUnit()); 
      newDriver.Navigate().GoToUrl("http://192.168.189.49:8099/Account/Login.cshtml"); 
      newDriver.FindElement(By.Id("username")).SendKeys(Constant.validAcc); 
      newDriver.FindElement(By.Id("password")).SendKeys(Constant.newPass); 
      newDriver.FindElement(By.XPath("//input[@value='login']")).Submit(); 
    } 

ありがとう、皆さん。

+0

質問が分かりません。新しいパスワードを保存する際に問題がありますか?またはコードの構文に問題がありますか(パスワードとは関係ありません)または、パスワードの変更に問題がありますか?それとも、ブラウザに表示されるプロセスに問題がありますか(何が表示されていますか)? – kurakura88

+0

はい、次のログイン時に再利用するために、変更された新しいパスワードを保存する際に問題があります。 私は古いパスを新しいパスに変更した後、TestCleanupでメソッドを置き換えて古い値に戻します(これはパスが変更されていないと見なすことができます)。 TestCleanupでブラウザに表示されます。 上記のコードは、TestCleanupでメソッドを実行するためにゴーストドライバを使用していることを示しています。そしてそれはエラーを示します。 新しいパスワードを保存するための他の解決方法はありますか?そうでない場合は、TestCleanupのメソッドが正しいかどうかを確認してください。 ありがとうございます。 – urind

答えて

0

これはあなたが持っているだけで、構文の問題である:それはちょうど、入力として、私は本当に、それは実際に戻ってパスワードを変更していることを確認していない、けれども

newDriver.FindElement(By.XPath("//input[@value='login']")).Click(); 

でなければなりません

newDriver.FindElement(By.XPath("//input[@value='login']")).Submit(); 

名前、パスワードを入力し、ログインボタンをクリックします。投稿したコードもテストクリーンアップではありません。

+0

はい、これはログインしてTestMethodに入れてデバッグしやすくするコードの一部です。実際には、パスを変更するコードを含み、TestCleanupに入れられます。 Btw、ありがとう! – urind

+0

この方法でもエラーは発生しません。リモートサーバーに接続できません。 – urind

+0

127.0.0.1:4444/wd/hubでリモートサーバーを利用できますか?デフォルト値を使用しない場合は、 'IWebDriver newDriver = new RemoteWebDriver(新しいUri(" xxx.xxx.xxx.xxx ")、DesiredCapabilities.HtmlUnit());'でハブのURIを指定します。なぜ、ローカルWebDriverを使用しないのですか?たとえば、 'IWebDriver newDriver = new FirefoxDriver();' – kurakura88

関連する問題