2016-10-27 1 views
0

WebページのメニューにAdminという要素があります。 は、以下の要素のHTMLタグであり、Firebugのからそれを得た:メニューを選択するためのbuttonTextメソッドの使用中にエラーが発生する

私は、Webアプリケーションを自動化するために分度器を使用しています
<button class="md-button-toggle md-button md-default-theme" ng-transclude="" ng-show="canShow()" ng-click="toggle()" aria-controls="side-menu-admin_short" flex="" layout="row" aria-expanded="false" tabindex="0" aria-hidden="false"> 
<div class="pull-left ng-binding ng-scope">Admin</div> 
<div aria-hidden="true" class="pull-right fa fa-chevron-down md-toggle-icon ng-scope" ng-class="{'toggled' : isOpen()}" style=""></div> 
<div class="md-ripple-container" style=""></div></button> 

、上記の要素のために私がスローされた要素が、エラーをクリックしbuttonTextメソッドを使用していました。

element(by.buttonText('Admin')).click(); 

「管理者」をクリックするのにどのロケータを使用する必要がありますか?

+0

<ボタンクラス= "MD-ボタントグルMD-ボタンMD-デフォルト・テーマ" NG-transclude = "" NG-ショー= "canShow()" NGクリック= "toggle()" aria-controls = "side-menu-admin_short" flex = ""レイアウト= "行" aria-expanded = "false" tabindex = "0" aria-hidden = "false"> \t

Admin
\t

+0

上記のコメントは、firebugを使用して要素を検査したときのhtmlタグです。 –

+0

バインディングロケータを使用しましたが、要素 –

答えて

0

私の経験では、CSSで簡単に見つけることができました。これを試してみてください:

まずLETのは、要素をより良いクラス名を与える:今

<div> class="pull-left ng-binding ng-scope prt-admin"> Admin </div>

をそのようにCSSクラスによって、その要素を見つける:あなたはドン場合

element(by.css('.prt-admin').click();

」 CSSクラスを変更したい場合は、これを試してみてください:

element(by.css('.pull-left ng-binding ng-scope')).click()

または

element(by.css('.pull-left')).click()

+0

より良いクラス名アプリケーションが既に開発されているので、示唆したとおりです。私はクラスで既存の要素を使用するだけで自動化する必要があります。 –

+0

このしようと、あなたはCSSクラスを変更したくない場合は使用してみました:。 要素( 'プル左ngの結合NG-スコープ'(by.cssを))(クリック) または 要素(by.css( '。pull-left'))。click()しかし、私が見たのと同じエラー –

関連する問題