【问题标题】:Protractor snippet returning unexpected value量角器片段返回意外值
【发布时间】:2015-01-28 12:00:46
【问题描述】:

我有一段代码试图确认“名称”的值,但它返回了一个非常意外的值,我希望有人能指出我出错的地方。

我正在搜索的 html 如下:

<div class="col" ng-repeat="bank in firstBanks">
        <div style="font-size: 2em; ">
            <label class="bank_radio">
                <input type="radio" ng-model="bankConnection.bank" ng-value="bank" class="ng-pristine ng-valid" name="00D" value="[object Object]">
                <img ng-src="img/banks/bofa.png" src="img/banks/bofa.png">
            </label>
        </div>

</div>

我正在尝试获取 name="00D" 中的值,因此我将下面的代码块作为 expect() 以确保在继续下一步之前获取正确的元素。

expect(element.all(by.repeater('bank in firstBanks')).get(0).element(by.css('[ng-value="bank"]')).getAttribute('name')).toEqual('00D');

由于某种原因,它不断返回“011”并出现错误:

Message:
 Expected '011' to equal '00D'.

这让我非常困惑,因为我的页面上根本没有文字“011”。任何帮助将不胜感激,我是 Protractor 的新手,并且仍在掌握语法。

编辑:

更新了我的 sn-p 以根据“alecxe”响应进行简化。现在返回的错误如下“[ '011', '013', '015', '019', '01B' ] to equal '00D'”。有谁知道这些值是从哪里产生的?因为我的页面中没有这些。

我设置的中继器确实有 5 个实例,并且与该错误消息中返回的数字相匹配,但我觉得这只是随机设置的。

【问题讨论】:

    标签: angularjs protractor angularjs-e2e


    【解决方案1】:

    您可以使用by.model() 来简化测试:

    expect(element(by.model('bankConnection.bank')).getAttribute('name')).toEqual('00D');
    

    或:

    expect(element.all(by.model('bankConnection.bank')).get(0).getAttribute('name')).toEqual('00D');
    

    【讨论】:

    • 感谢您的帮助。我使用您发布的第二行更改了我必须简化测试的内容。我现在收到一条返回错误消息:预期 ['011', '013', '015', '019', '01B' ] 等于 '00D'。我不知道这些数字是在哪里或如何产生的,你有线索吗?
    • 似乎无法正确识别“name”属性。
    • @parchambeau 好吧,对我来说它看起来像一个十六进制数字列表:) 你真的确定有 name="00D" 的元素吗?
    • @parchambeau 反转它只是为了进行检查:expect(element(by.name('00D')).isPresent()).toBe(true);。
    • 你认为这可能是 chrome 开发者工具正在生成的东西吗?在查看我的本地文件时,我实际上没有设置“名称”的值,但是在 chrome 开发人员工具中查看我的页面时,它添加了“名称=00D”,名称=“00F”,名称= 00H", name="00L", name="00N" 到我的每个“bankConnection.bank”模型。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-08
    • 2020-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-19
    相关资源
    最近更新 更多