加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 量角器通过绑定在转发器中找到元素?

发布时间:2020-12-17 16:58:01 所属栏目:安全 来源:网络整理
导读:我正在尝试编写一个与转发器中的绑定匹配的简单测试. 当我通过CSS类搜索时,我有它工作,但是我“不允许”在我们的代码中执行此操作.我也不能使用HTML标签作为定位器.我只能通过属性或直接绑定找到. 我尝试了很多不同的方法,包括(但得到错误或没有结果): var
我正在尝试编写一个与转发器中的绑定匹配的简单测试.

当我通过CSS类搜索时,我有它工作,但是我“不允许”在我们的代码中执行此操作.我也不能使用HTML标签作为定位器.我只能通过属性或直接绑定找到.

我尝试了很多不同的方法,包括(但得到错误或没有结果):

var productPageUrl = element.all(by.repeater('product in products').row(0).column('{{product.productPageUrl}}'));

不确定它是否有所作为,但在应用程序中,ng-repeat包含HTML模板.

这有效(但不能使用):

products.then(function(prods) {
    prods[0].findElement(by.className('homepage-panel-link')).getAttribute('href').then(function(href){
        expect(href).toMatch('/products/1');
    });
});

重复的HTML模板:

<div data-ng-repeat="product in products">
    <div data-property-name="productItem-{{$index}}">
        <a href="{{product.productPageUrl}}" class="homepage-panel-link" data-property-name="productPageUrl"></a>
    </div>
</div>

无论如何只是测试绑定product.productPageUrl ???从上面的代码开始,为了获得这个价值,似乎还有很长的路要走.

解决方法

看起来你只是在寻找定位器by.binding? http://angular.github.io/protractor/#/api?view=ProtractorBy.prototype.binding

var productPageUrl = element(by.binding('product.productPageUrl'));
expect(productPageUrl.getAttribute('href')).toMatch('/products/1');

或者如果你有很多匹配:

var productPageUrls = element.all(by.binding('product.productPageUrl'));
expect(productPageUrls.getAttribute('href').get(0)).toMatch('/products/1');
or
expect(productPageUrls.getAttribute('href')).toMatch(['/products/1','/products/2',...]);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读