зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1250102 - Employ new element location API; r=automatedtester
MozReview-Commit-ID: K831MhwAT6X --HG-- extra : rebase_source : 6f3edeb2b42d8168887738ce4863cc8e15bf5d05
This commit is contained in:
Родитель
a1b600fd96
Коммит
46bb47edff
|
@ -1901,26 +1901,27 @@ GeckoDriver.prototype.multiAction = function*(cmd, resp) {
|
|||
* Value the client is looking for.
|
||||
*/
|
||||
GeckoDriver.prototype.findElement = function*(cmd, resp) {
|
||||
let opts = {
|
||||
startNode: cmd.parameters.element,
|
||||
timeout: this.searchTimeout,
|
||||
all: false,
|
||||
};
|
||||
|
||||
switch (this.context) {
|
||||
case Context.CHROME:
|
||||
resp.body.value = yield new Promise((resolve, reject) => {
|
||||
let win = this.getCurrentWindow();
|
||||
this.curBrowser.elementManager.find(
|
||||
{frame: win},
|
||||
cmd.parameters,
|
||||
this.searchTimeout,
|
||||
false /* all */,
|
||||
resolve,
|
||||
reject);
|
||||
}).then(null, e => { throw e; });
|
||||
let container = {frame: this.getCurrentWindow()};
|
||||
resp.body.value = yield this.curBrowser.elementManager.find(
|
||||
container,
|
||||
cmd.parameters.using,
|
||||
cmd.parameters.value,
|
||||
opts);
|
||||
break;
|
||||
|
||||
case Context.CONTENT:
|
||||
resp.body.value = yield this.listener.findElementContent({
|
||||
value: cmd.parameters.value,
|
||||
using: cmd.parameters.using,
|
||||
element: cmd.parameters.element,
|
||||
searchTimeout: this.searchTimeout});
|
||||
resp.body.value = yield this.listener.findElementContent(
|
||||
cmd.parameters.using,
|
||||
cmd.parameters.value,
|
||||
opts);
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
@ -1934,26 +1935,27 @@ GeckoDriver.prototype.findElement = function*(cmd, resp) {
|
|||
* Value the client is looking for.
|
||||
*/
|
||||
GeckoDriver.prototype.findElements = function*(cmd, resp) {
|
||||
let opts = {
|
||||
startNode: cmd.parameters.element,
|
||||
timeout: this.searchTimeout,
|
||||
all: true,
|
||||
};
|
||||
|
||||
switch (this.context) {
|
||||
case Context.CHROME:
|
||||
resp.body = yield new Promise((resolve, reject) => {
|
||||
let win = this.getCurrentWindow();
|
||||
this.curBrowser.elementManager.find(
|
||||
{frame: win},
|
||||
cmd.parameters,
|
||||
this.searchTimeout,
|
||||
true /* all */,
|
||||
resolve,
|
||||
reject);
|
||||
}).then(null, e => { throw new NoSuchElementError(e.message); });
|
||||
let container = {frame: this.getCurrentWindow()};
|
||||
resp.body = yield this.curBrowser.elementManager.find(
|
||||
container,
|
||||
cmd.parameters.using,
|
||||
cmd.parameters.value,
|
||||
opts);
|
||||
break;
|
||||
|
||||
case Context.CONTENT:
|
||||
resp.body = yield this.listener.findElementsContent({
|
||||
value: cmd.parameters.value,
|
||||
using: cmd.parameters.using,
|
||||
element: cmd.parameters.element,
|
||||
searchTimeout: this.searchTimeout});
|
||||
resp.body = yield this.listener.findElementsContent(
|
||||
cmd.parameters.using,
|
||||
cmd.parameters.value,
|
||||
opts);
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1268,32 +1268,26 @@ function refresh(msg) {
|
|||
* Find an element in the current browsing context's document using the
|
||||
* given search strategy.
|
||||
*/
|
||||
function findElementContent(opts) {
|
||||
return new Promise((resolve, reject) => {
|
||||
elementManager.find(
|
||||
function findElementContent(strategy, selector, opts = {}) {
|
||||
opts.all = false;
|
||||
return elementManager.find(
|
||||
curContainer,
|
||||
opts,
|
||||
opts.searchTimeout,
|
||||
false /* all */,
|
||||
resolve,
|
||||
reject);
|
||||
});
|
||||
strategy,
|
||||
selector,
|
||||
opts);
|
||||
}
|
||||
|
||||
/**
|
||||
* Find elements in the current browsing context's document using the
|
||||
* given search strategy.
|
||||
*/
|
||||
function findElementsContent(opts) {
|
||||
return new Promise((resolve, reject) => {
|
||||
elementManager.find(
|
||||
function findElementsContent(strategy, selector, opts = {}) {
|
||||
opts.all = true;
|
||||
return elementManager.find(
|
||||
curContainer,
|
||||
opts,
|
||||
opts.searchTimeout,
|
||||
true /* all */,
|
||||
resolve,
|
||||
reject);
|
||||
});
|
||||
strategy,
|
||||
selector,
|
||||
opts);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Загрузка…
Ссылка в новой задаче