量角器 - 检查元素是否与另一个元素相邻

时间:2014-12-19 06:47:14

标签: javascript angularjs testing protractor

我需要通过量角器检查一个元素是否与另一个元素相邻。  在这里,我有一个按钮作为"保存",我必须检查"取消"按钮是否显示在右侧。如何检查。

2 个答案:

答案 0 :(得分:2)

我认为你的意思是如何测试HTML标记,而不是实际的视觉布局。 如果我理解正确,那么有多种方法可以做到。

我会得到按钮组/容器并断言里面的按钮列表。

示例(使用element.all()map()):

var buttons = element.all(by.css('.btn-group button')).map(function (elm) {
    return elm.getText();
});

expect(buttons).toEqual(['Save', 'Cancel']);

或者,如果您找到了Save按钮,则可以使用by.xpath()检查以下兄弟

var save = element(by.css('button.btn-save'));
var cancel = save.element(by.xpath('following-sibling::button'));

expect(cancel.getText()).toEqual('Cancel');

答案 1 :(得分:1)

你可以使用getLocation:

element(by.id('someId')).getLocation().then(loc) {
  console.log(loc.x, loc.y);
};

并比较两个按钮值。但正如Sakshi Singla所提到的,量角器normaly用于模拟浏览器中的用户行为,而不是测试布局。