我想测试两个不同页面中的两个元素是否相等。这样做的原因是我需要检查已经在我的页面中工作的“复制”功能,因此这两个元素(在这种情况下为div)必须是缩进的:
我发现在量角器中有一个叫做“克隆”的元素对象的方法,但并没有解释它的目的。无论如何我试过这个:
// 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是否相同?
答案 0 :(得分:2)
什么是“clone()”应该用于什么?
我最近创建了一个密切相关的问题,您可以按照其中的更新进行操作:
如何比较两个单独页面中的两个div是否相同?
根据您的最终目标,您可以使用getOuterHtml()
比较元素的“外部HTML”表示,例如:
Age_10_to_11
答案 1 :(得分:0)
你可以试试这个:
expect(angular.equals(clone1, clone2).toBe(true));
在此处详细了解angular.equals:https://docs.angularjs.org/api/ng/function/angular.equals
答案 2 :(得分:0)
尝试没有克隆
browser.get("/page1");
var clone1 = element(by.id("firstElem"));
browser.get("/page2");
var clone2 = element(by.id("secondElem"));
expect(clone1).toEqual(clone2);