2016-12-23 18 views
-2

分度器を使用した角度e2eテストのドロップダウンからオプションを選択しようとしています。私はそれらの
How to select option in drop down protractorjs e2e tests
なし私のために働いているように見えるん以下のページに記載されたほぼすべての方法を試してみました
ドロップダウン分度器e2eテストでオプションを選択できません

<div class="width70"> 
    <span title="" class="k-widget k-dropdown k-header width100 ng-scope ng-dirty ng-valid-parse ng-touched ng-invalid ng-invalid-required k-invalid" unselectable="on" role="listbox" aria-haspopup="true" aria-expanded="true" tabindex="0" aria-owns="" aria-disabled="false" aria-readonly="false" aria-busy="false" style="" aria-activedescendant="9e8e661a-e100-4c17-bceb-3de8ac876316"> 
    <span unselectable="on" class="k-dropdown-wrap k-state-default"><span unselectable="on" class="k-input ng-scope">Select Customer</span><span unselectable="on" class="k-select"><span unselectable="on" class="k-icon k-i-arrow-s">select</span></span></span> 
    <select kendo-drop-down-list="" required="" name="customer" ng-model="arrayView.selectedCustomer" k-options="arrayView.customerList" k-rebind="arrayView.customerList" validationmessage="Select Customer" class="width100 ng-scope ng-dirty ng-valid-parse ng-touched ng-invalid ng-invalid-required k-invalid" data-role="dropdownlist" style="display: none;" aria-invalid="true"> 
     <option value="" selected="selected">Select Customer</option> 
     <option value="615">option A</option> 
     <option value="139">option B</option> 
     <option value="1476">option C</option> 
     <option value="570">option D</option>......` 



は、ここで選択するオプションのコードスニペットです。
私は 'select'(親の 'option')タグを見つけることさえできません。
しかし、div.span.span要素をクリックすることに成功しました。

また、ドロップダウンメニューをクリックすると、すべてのオプションとともに検索ボックスが表示されます。私は同じものの写真を添付し​​ています
enter image description here 私を助けてください。私はいくつかの方法を試したが、何も動作していないようだ。

+0

anglejsまたはkendo.jsを使用していますか? –

+0

私はangularjsを使用しています –

+0

わかりませんが、Wappalyzerはウェブフレームワークとして「角度材料」と「剣道UI」の両方を表示しています。 –

答えて

1
var selectOptionFromDrpdwn = function (ngModelLocator, option) {  
    //arguments are strings 
    element(by.model(ngModelLocator)) 
    .element(by.cssContainingText('option', option)) 
    .click(); 
} 

説明:ロケータと選択するためのオプションの値:

上記は2つの引数を取ります。ロケータは何でもかまいませんが、ここではng-modelを使用しています。他のものを使用している場合は、それに応じてロケータ関数を変更する必要があります。

[cssContainingText locator] [1]を使用して、クリックされるオプションが見つかりました。唯一の欠点は、完全に型付けされるオプション値であり、部分的な値の名前をとることはできません。それ以外の場合は、オプション番号ロジックを使用して、数字をクリックすると次のように表示されます。

element(by.model(ngModelLocator)).all(by.tagName('option').get(optionNumber).click(); 
+2

このコードスニペットは問題を解決するかもしれませんが、[説明を含む](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)は本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。 – DimaSan

+0

更新@DimaSan –

関連する問題