克隆元素发现者
Cloning element finders
在研究可用的 ElementFinder
和 ElementArrayFinder
方法时,我注意到有一个 clone()
method 已简要记录:
Create a shallow copy of ElementFinder.
据我了解,clone()
并非来自 WebdriverJS
,而是一个特定于量角器的函数。我不明白的是 为什么要在测试中克隆元素查找器或元素查找器 "array"? clone()
涵盖哪些用例?
我查看了 protractor
source code to find example usages, but found only the underlying change set,这对获得清晰的图片没有帮助。
这里介绍了克隆:https://github.com/angular/protractor/issues/1303。
老实说,现在我想起来了,引入它是一个错误,因为它没有任何实用价值。
最初,担心后续的 elementFinder 链会影响之前的链:
var outerElement = element(by.abc...).all(by.def...).first().element(by.ghi...);
var outerText = outerElement.getText();
var innerElement = innerElement.element(by.xyz...);
// Now that I chained more things onto outerElement, is the original outerElement still behaving the same as before? (i.e. is outerText the same as outerElement.getText() still)
在研究可用的 ElementFinder
和 ElementArrayFinder
方法时,我注意到有一个 clone()
method 已简要记录:
Create a shallow copy of ElementFinder.
据我了解,clone()
并非来自 WebdriverJS
,而是一个特定于量角器的函数。我不明白的是 为什么要在测试中克隆元素查找器或元素查找器 "array"? clone()
涵盖哪些用例?
我查看了 protractor
source code to find example usages, but found only the underlying change set,这对获得清晰的图片没有帮助。
这里介绍了克隆:https://github.com/angular/protractor/issues/1303。 老实说,现在我想起来了,引入它是一个错误,因为它没有任何实用价值。
最初,担心后续的 elementFinder 链会影响之前的链:
var outerElement = element(by.abc...).all(by.def...).first().element(by.ghi...);
var outerText = outerElement.getText();
var innerElement = innerElement.element(by.xyz...);
// Now that I chained more things onto outerElement, is the original outerElement still behaving the same as before? (i.e. is outerText the same as outerElement.getText() still)