2017-05-30 7 views
0

spec.jsでフルネーム、電子メール、連絡先番号でサインアップのための分度器テストを書きました。ユーザーが正常にサインアップした場合、ng-showの値はtrueになり、divが表示されますサインアップの成功メッセージ。有効またはNGのための真の設定方法分裂器でng-showの値をtrueにする

Message: 
    Expected true to be false. 
    Stack: 
    Error: Failed expectation 
     at Object.<anonymous> (C:\Users\AppData\Roaming\npm\node_modules 
\protractor\example\example_spec.js:20:31) 
     at C:\Users\AppData\Roaming\npm\node_modules\protractor\node_mod 
ules\jasminewd2\index.js:112:25 
     at new ManagedPromise (C:\Users\AppData\Roaming\npm\node_modules 
\protractor\node_modules\selenium-webdriver\lib\promise.js:1067:7) 
     at ControlFlow.promise (C:\Users\AppData\Roaming\npm\node_module 
s\protractor\node_modules\selenium-webdriver\lib\promise.js:2396:12) 
     at schedulerExecute (C:\Users\AppData\Roaming\npm\node_modules\p 
rotractor\node_modules\jasminewd2\index.js:95:18) 
     at TaskQueue.execute_ (C:\Users\AppData\Roaming\npm\node_modules 
\protractor\node_modules\selenium-webdriver\lib\promise.js:2970:14) 
     at TaskQueue.executeNext_ (C:\Users\AppData\Roaming\npm\node_mod 
ules\protractor\node_modules\selenium-webdriver\lib\promise.js:2953:27) 
     at asyncRun (C:\Users\AppData\Roaming\npm\node_modules\protracto 
r\node_modules\selenium-webdriver\lib\promise.js:2860:25) 
     at C:\Users\AppData\Roaming\npm\node_modules\protractor\node_mod 
ules\selenium-webdriver\lib\promise.js:676:7 
    Message: 
    Failed: element not visible 
     (Session info: chrome=58.0.3029.110) 
     (Driver info: chromedriver=2.29.461591 (62ebf098771772160f391d75e589dc5679 
15b233),platform=Windows NT 6.3.9600 x86_64) 

として

<div class="form-success-forgot" ng-show="isSignedUp"> 
      <h5> 
       <strong><span ng-bind="signedUpSuccessMessage"></span></strong> 
      </h5> 
     </div> 

Spec.js

describe('Test signup ', function() { 
      var fullname=element(by.model('fullName')); 
      var email= element(by.model('email')); 
      var cntNo= element(by.model('contactNo')); 
      var signup= element(by.css("button[type='submit']")); 
      var isSignup=element(by.css('.form-success-forgot')); 
       beforeEach(function() { 

      }); 
      it('signup success', function() { 
      browser.get('http://localhost/signup'); 
      fullname.sendKeys('test user'); 
      email.sendKeys('[email protected]'); 
      cntNo.sendKeys('123-456-7890'); 
      expect(isSignup.isEnabled()).toBe(true); 
      signup.click(); 
      expect(isSignup.isEnabled()).toBe(false); 
       element(by.binding('signedUpSuccessMessage')).sendKeys('Thanks for signing up'); 
       //element(by.css("form-success-forgot")).sendKeys(true); 
      }); 
      }); 

しかし、取得エラー・スタック:

signup.htmlのdivが成功メッセージを表示しますdiv要素を表示するには?

答えて

1

私がコードで見る限り、あなたは間違ったチェックを使用しています。 isEnabledは、inputが有効になっているかどうかをチェックするためにのみ使用できます。

あなたが必要と思うものはisDisplayedまたはisPresentです。要素は、ページ上のDOMと可視で存在する場合、要素はDOM(それが表示されていない場合)、isDisplayed()チェックに存在する場合

isPresent()チェックしていることの違いに注意してください。

希望します。

+0

ボタンにCSSアニメーションがありますか?もし 'browser.sleep(3000)'を実行して、 – wswebcreation

+0

でさえ 'isDisplayed()'が動作していないことを確認するとどうなりますか?同じエラーが発生しました。 – amjeremiad

+0

Nope @wswebcreation – amjeremiad

関連する問題