簡體   English   中英

使用Protractor設置角度模型

[英]Setting an Angular model using Protractor

我正在嘗試使用Protractor在我的網站上模擬用戶故事。

用戶必須輸入使用自動完成的輸入。 在現實生活中,用戶必須在輸入中鍵入一些文本,然后用鼠標或更自然地用她的向下鍵來選擇正確的命題。

問題是我似乎無法用Protractor模擬它。 element.sendKeys只是不允許你這樣做。 我已經嘗試了十幾種不同的方式,它最多會產生不可預測的結果。

所以我想直接操縱ng-model behing我的輸入。 有沒有辦法從Protractor訪問元素的范圍並調用函數/ set屬性?

這是我的問題的簡化版本:

查看:

<div ng-controller="MyController"> 
  <input id="my-input" ng-model="myModel"/>
</div>

控制器:

 myModule.controller('MyController', ['$scope', function($scope){
   $scope.myModel = "";
   //[...]
 }]);

e2e量角器測試:

describe("setting myModel to a fixture value", function(){
  it("should set myModel to 'a test value'", function(){
    var myInput = element('my-input');
    // Now what?
  });
});

您可以使用.evaluate()直接設置模型值:

var elm = element(by.model("obj.field"));
elm.evaluate("obj.field = 'test';");

要獲得模型值:

elm.evaluate("obj.field").then(function (value) {
    console.log(value);
});

在這個答案: 如何在下拉量子器e2e測試中選擇選項

他們用這個: .sendKeys(protractor.Key.ARROW_DOWN); 用於發送向下箭頭。

值得一試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM