【发布时间】:2017-05-06 20:48:09
【问题描述】:
我正在使用带有 selenium 和量角器的自动化框架,用 JavaScript 编码。但是,应用程序的这一部分是在没有 Angular 的情况下制作的。我有一个带有加号和减号按钮的数量字段来增加数字。我需要为我的测试选择号码本身。
这是带有“2”作为数字的 DOM
<div class="modify-product padding-lg-top hide-on-review">
<b data-lang-key="store.qty">Qty:</b>
<span class="modify-action">
<span class="remove">-</span>
<span class="product-quantity">2</span>
<span class="add">+</span>
</span>
</div>
如果我在控制台中使用 JQuery,我可以通过以下方式选择 2:
$('.cart-product .product-quantity').text()
现在在 selenium 中,我正在尝试使用以下选择器:
return element(by.css('.cart-product .product-quantity').text())
到目前为止,这被证明是不成功的。我也尝试过 .val() 和其他一些方法,但我尝试的所有方法都返回整个 span 元素或返回未定义。
想法?
【问题讨论】:
-
我仍然收到错误 TypeError: element(...).text is not a function
-
不是
text。您需要使用getText ()。 -
无论获取文本的方法是什么,都不应该在元素对象上调用吗?而不是目前使用的内部。找到元素然后获取像 element(by.css('css_selector')).getText() 这样的文本
标签: javascript jquery angularjs selenium protractor