2016-09-20 18 views
1

DOMから基本要素データを取得するようにページオブジェクトを設定しています。分度器を使用してDOM内の要素タイトルを取得する

例えば、私は次のように.panel-top-two > .row > h1からtitle要素にアクセスしたいと思い、私のindex.page.jsページオブジェクトに:

$('div.panels.panel-top-two > .row > h1').text() 

私は私のページオブジェクトファイルでのjQueryを使用するか、または私はProtractor Locatorsに固執する必要がありますか?私は分度器を使ってちょっと新しいので、私はある方向を探しています。

ここでは、エクスポートするサンプルのページオブジェクトファイルを示します。 this.getFirstPanelTextは有効な機能ですか? :あなたの答えのための

module.exports = function() { 
 
    this.button = element(by.id('myButton')); 
 
    this.message = element(by.binding('messageText')); 
 
    this.domain = "http://localhost:64174"; 
 

 
    this.get = function() { 
 
     browser.get(this.domain + '/myPage.html'); 
 
    }; 
 

 
    this.getFirstPanelText = function() { 
 
     return $('div.panels.panel-top-one > .row > h1').text(); 
 
    }; 
 
    this.clickButton = function() { 
 
     this.button.click(); 
 
    }; 
 

 
    this.getTitle = function() { 
 
     return browser.getTitle(); 
 
    }; 
 

 
    this.getMessageText = function() { 
 
     return this.message.getText(); 
 
    }; 
 
};

感謝。

答えて

2

あなたの質問にすぐに答えるには、いいえ、jQueryを使用することはできません。

そして今についてthis.getFirstPanelText

それは、部分的に有効な機能ですが、$は結構ですが、text()ではありません。他の分度器の質問に$が使用されていることを尋ねている場合は、がjQueryでないことに注意することが重要です。これは分度器の一部であり、偶然にもjQueryの要素ロケータ関数と同じ構文です。コード内でjQuery関数を使用しないでください。エラーが発生します。

$()は単にあなたは$の使用状況の詳細な説明は私のanswer on another questionを参照することができますelement(by.css())

の省略形です。

+0

をご確認ください。私はjqueryとして$を使用していますが、ここでは間違っています。だから私はいくつかのカスタム選択が必要な場合は、Document.getElementBy ...()に戻りますか? –

+0

いいえ、document.getElementByを使用する必要はありません。分度器にはすべてをカバーするのに十分なロケータが必要です。あなたの '$ 'の中で使われているロケータはまだ有効です。 HTMLを投稿できる場合は、 – Gunderson

+0

Thxといういくつかの例を追加することができます。私は朝にもっと具体的に言えます。 –

2

に設定すると、分度器によってconfigにnoGlobalsオプションが提供されます。 jqueryスタイルのコードも使用できます。分度器のグローバルと衝突してはなりません。

しかし、私も@Gundersonに同意し、私には何の理由も見当たらないので、jqueryコードと分度器を混ぜないように助言します!参考のため

exports.config = { 

seleniumAddress: env.seleniumAddress, 

framework: 'jasmine', 

specs: [ 
'noGlobals/noGlobals_spec.js' 
], 

noGlobals: true, 
}; 

plsはあなたが正確に正しいnoGlobal conf file

関連する問題