我无法使用量角器从h2标签获得价值。 HTML代码:
<h2 class="ng-binding">7</h2>
我需要这个7值。这是从网站“ http://juliemr.github.io/protractor-demo/”获得的。我要加5 + 2。 感谢您的帮助。
答案 0 :(得分:0)
尝试xpath 在这里,我得到的是具有ID的元素,将其向后移动一个位置,然后寻找h2
var result = element(by.xpath('//*[@id=\'gobutton\']/../h2'))
result.getText().then(function(value){
expect(value).toBe('7');
})
或者直接看h2:
element(by.xpath('//h2[@class='ng-binding']'))
如果您打算始终将其保留为7,则还可以查找cssContainingText
var result = element.all(by.cssContainingText('.ng-binding', '7')).first();
在这种情况下,我使用.all和.first,因为这将返回2个元素,所以我告诉量角器始终使用第一个元素
所以您的代码应该是这样的:
it('Should access the page and perform sum', function() {
browser.get('http://juliemr.github.io/protractor-demo/');
element(by.model('first')).sendKeys(5);
element(by.model('second')).sendKeys(2);
element(by.id('gobutton')).click();
var result = element(by.xpath('//*[@id=\'gobutton\']/../h2'))
result.getText().then(function(value){
console.log('result is '+value)
expect(value).toBe('7');
})
});
答案 1 :(得分:0)
根据给定的URL,单击MapActivity
后将加载一段时间。因此,请添加一些等待,然后尝试使用下面的定位符来Go
。
getText()
希望它可以帮助您...
答案 2 :(得分:0)
首先,找到element
,例如通过by.css
调用。然后,您使用getText
方法来检索所需的标签内容。最后,您断言它等于您期望的值:
result = element(by.css('h2.ng-binding'))
expect(result.getText()).toEqual('7')