量角器-无法获得H2值

时间:2018-12-03 06:54:00

标签: protractor

我无法使用量角器从h2标签获得价值。 HTML代码:

<h2 class="ng-binding">7</h2>

我需要这个7值。这是从网站“ http://juliemr.github.io/protractor-demo/”获得的。我要加5 + 2。 感谢您的帮助。

3 个答案:

答案 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')