2017-02-17 57 views
0

我有這樣的片段,返回ElementFinder如何使用量角器設置元素的屬性?

const elem = $('[formatcontrolname="startDate"]').$('input'); 

我想設置這個元素的屬性ng-reflect-model

對此的建議?

我試過幾個browser.executeScript命令,但我不知道如何利用變量elem


編輯:我沒有結束這條路線。我能夠使用量角器中的標準css選擇器來做我需要的。

+1

你爲什麼想這樣做?量角器用於測試應用程序的方式,最終用戶將與之交互。 – jonrsharpe

回答

1

您不應該這樣做,這不是正常用戶在與您的應用進行交互時會做的事情。我會盡量回答你問題的第二部分

我已經嘗試了一些browser.executeScript命令,但我不 瞭如何利用可變ELEM。

var el = element(by.module('header')); 
var tag = browser.executeScript('return arguments[0].tagName', el); 

here

+0

謝謝你的量角器API的鏈接;不知道存在!作爲參考,我試圖自動點擊這個角度2模塊:https://github.com/koleary94/Angular-2-Datepicker。測試第三方角度2模塊似乎很難。有什麼建議? –

+1

如果是這樣的話,我們需要打開硒的可重現問題。同時您是否嘗試使用他們的API?或者使用JS臨時設置屬性,但正如我所說,它不是一個好的解決方案。 – nilesh

+1

你說得對。我能夠通過使用CSS選擇器進行測試。我能夠點擊元素,調出日期選擇器,找到日期選擇器上的按鈕,然後選擇一個日期。全部使用標準量角器選擇器。 –

1

直抄我按照設定日期屬性的值:

browser.driver.executeScript("document.getElementById('start-date').setAttribute('value','01/10/2017')"); 

在方案中試試這個,希望這可以幫助。