我在量角器中从元素中获取文本时遇到问题。对于页面的其他元素,它按预期工作,而不是这个:/
<p class="error theme-info-i ng-binding ng-scope" ng-if="firstFormError && form.$invalid" ng-click="goToErrorField(firstFormError)">
<span class="emphasize ng-binding">User ID</span> (The user ID is required.)
</p>
我可以使用by.className找到两个元素而没有问题,并且getInnerHtml / getOuterHtml按预期工作。但是getText为两者返回一个空字符串。
答案 0 :(得分:1)
找到原因......它是一个两步注册,其中第一步具有相同的通知区域并且只是隐藏。由于我无法理解的原因,开发人员更新了两个通知区域(不仅仅是当前页面上的那个),因此内部/外部HTML似乎返回了“正确的内容”,并且因为第一个区域被隐藏,所以getText按照规范返回为空。 / p>
我想我现在要提交一些内部错误报告,我们正在处理这些通知;)
答案 1 :(得分:1)
你可以尝试
var firstName = element(by.model('firstName'))
expect(firstName.getAttribute('value'))
这为您提供了输入框的值。
答案 2 :(得分:0)
有同样的问题。
期望(元件(By.css(&#39; span.emphasize.ng结合&#39;。))的getAttribute(&#39;的textContent&#39))...
似乎对我来说工作得很好(当然,如果你只有一个班级与这些班级或是第一个。否则你需要更具体。但无论如何你仍然需要解决问题尝试“ .getAttribute(&#39; textContent&#39;)“)