Angularjs 如何访问angular ui boostrap的复选框文本

Angularjs 如何访问angular ui boostrap的复选框文本,angularjs,protractor,Angularjs,Protractor,我正在用量角器编写e2e测试,现在我想检查写在复选框旁边的文本,但我无法找到访问文本的正确定位器 html代码段类似于第页中的示例: 我能够通过.model'oneAtATime'找到输入元素本身,但是如何检查“一次只打开一个”文本 getAttribute'value'返回'true',因为它已被选中 getText和getInnerHtml都返回空字符串一种简单的方法是将pass$事件传递给输入/标签的ng click事件 加成 扑通 如果其他人正在使用angular ui bootstra

我正在用量角器编写e2e测试,现在我想检查写在复选框旁边的文本,但我无法找到访问文本的正确定位器

html代码段类似于第页中的示例:

我能够通过.model'oneAtATime'找到输入元素本身,但是如何检查“一次只打开一个”文本

getAttribute'value'返回'true',因为它已被选中


getText和getInnerHtml都返回空字符串

一种简单的方法是将pass$事件传递给输入/标签的ng click事件

加成 扑通
如果其他人正在使用angular ui bootstrap复选框,下面是我获取文本的解决方案:

expect(element(by.css('label.checkbox')).getText()).toEqual('Open only one at a time');

我不希望为每个复选框注册额外的事件,只是为了在测试中找到一个元素。我可以添加一个id,但我不想添加css、脚本等,如果我不需要的话,只是为了我的测试。添加事件将花费大量资源,尤其是嵌套在ng-repeat中的资源。实际上,为每个输入添加一个单击处理程序并不是真正的费用,但这一点也不重要。为什么不包括test.js,这样我们就可以看到发生了什么。但是,如果我能想出如何编写正确的定位器,这个活动将花费我不需要的资源。我可以找到标签,并用正则表达式解析它的文本,只是猜测,我目前还没有工作,但一定有更好的方法。顺便说一句,非常感谢你的帮助=
<label class="checkbox">
    <input type="checkbox" ng-model="oneAtATime" ng-click="getCheckboxText($event)">
    Open only one at a time
</label>
$scope.getCheckboxText = function(event){
   var parent = event.target.parentNode;
   console.log( parent.innerText );
};
expect(element(by.css('label.checkbox')).getText()).toEqual('Open only one at a time');