我想测试两个不同页面中的两个元素是否相等。原因是我需要检查已在我的页面中运行的“复制”功能,因此两个元素(在本例中为 div)必须相同:
我发现 Protractor 中有一个用于元素对象的方法,称为“克隆”,但没有过多解释其用途。无论如何,我尝试了这个:
// In the first page:
browser.get("/page1");
var clone1 = element(by.id("firstElem")).clone();
// then navigating to the other page
browser.get("/page2");
var clone2 = element(by.id("secondElem")).clone();
// then the expectation of them to be equal
expect(clone1).toEqual(clone2);
但是由于堆栈跟踪非常重,期望失败了。还尝试比较:
expect(clone1 == clone2).toBeTruthy();
再次失败。
“clone()”的用途是什么?并且,
如何比较两个不同页面中的两个 div 是否相同?
最佳答案
What is "clone()" supposed to be used for?
我最近创建了一个密切相关的问题,您可以关注那里的更新:
How do I compare two divs in two separate pages for being identical?
根据您的最终目标,您可以使用 getOuterHtml()
来比较元素的“外部 HTML”表示形式。 ,例如:
browser.get("/page1");
element(by.id("firstElem")).getOuterHtml().then(function(value) {
browser.get("/page2");
expect(element(by.id("secondElem")).getOuterHtml()).toEqual(value);
});
关于angularjs - 期望两个元素相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29931765/