2017-11-10 6 views
-1

以下は動作していません: browser.actions()。sendKeys(protractor.Key.TAB); browser.actions()。sendKeys(protractor.Key.ENTER);分度器のバージョン5.2.0(最新) - キーボードのキープレスをシミュレートする方法 - TAB、ENTER?

参照コードボタンロケータで
it('validate the upload portfolio feature', function() { 

    //loginPage.loginToPRA(); // not needed 

    element(by.custLoc(ObjRep.validateUploadPortfolio.portUpload)).click(); 

    browser.actions().sendKeys(protractor.Key.TAB); 
    browser.actions().sendKeys(protractor.Key.ENTER); 

    browser.sleep(3000); 
}); 

class="text-white background-teal cursor-pointer overflow-hidden padding-vertical-5 padding-horizontal-20 border-radius-4 border-shadow vertical-align-middle" 
+0

問題 –

+0

を理解完了するために、コード、または何かを入れてください++コメントが追加されました! –

+0

分度器===窓??、ここでは分度器が定義されています –

答えて

2

あなたは、キー入力の2つの方法が混合しています。

セレンウェイ:browser.actions()

あなたがbrowser.actions().を使用している場合は、セレンウェイを使用して、アクションを実行するためにperform()でそれを終了する必要があります。

簡単な説明とすべての可能なキー操作を含む詳細なセレンの説明へのリンクを見つけてください。here in this Protractor API

分度器機能element.sendKeys()

Protractor API description here.sendKeys()に応じてプロパティ/関数はelement後に続いているので、ここでは実際に、browser.actions().が、element.を必要としません。

ように、コードに記載されたすべての(私だけelement.sendKeys()を使用していますので、私はセレンウェイをテストしていない)

//SELENIUM-ACTION SEQUENCE IN PROTRACTOR 
//Press first TAB, execute it, then Enter, execute it. The current cursor position doesn't matter 
browser.actions().sendKeys(protractor.Key.TAB).perform(); 
browser.actions().sendKeys(protractor.Key.ENTER).perform(); 

//Press TAB then ENTER fast one after the other 
browser.actions() 
    .sendKeys(protractor.Key.TAB) 
    .sendKeys(protractor.Key.ENTER) 
    .perform(); 

//PROTRACTOR 
//focuses first the cursor to "element", then presses [TAB] 
element.sendKeys(protractor.Key.TAB); 
//focuses first the cursor to "element", then presses [ENTER] 
element.sendKeys(protractor.Key.ENTER); 
+0

ありがとうございます! –

+0

@AkshatRastogi:うまくいったので、答えを「正しい」(それより左側のチェックマーク)としてマークしてください。ありがとうと言いましょう。それはコミュニティの動機づけの一部です。なぜ、答えを書くのですか? –

+0

これはユーザーの問題を解決する完全に正しい答えですが、sendKeys()は実際にProtractor APIとは独立したSelenium Webdriverの関数であることを100%正確に指摘したいと思います。 –

関連する問題