Referência à API
É possível visualizar informações de referência para as APIs de teste do navegador
Ações
Esta função de teste de navegador API cria uma nova sequência de ações utilizando o WebDriver. A sequência não é enviada para execução até que você chame a função ` Actions.perform ()` no seu código.
Uso
$browser.actions().sendKeys("synthetic").perform();
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Actions |
Nova sequência de ações para esta instância |
options |
Object |
Opções de configuração para a sequência Ações . |
Exemplos
Exemplo 1: para clicar, use o seguinte código:
const element = await $browser.waitForAndFindElement(by, timeout);
$browser.actions().move({origin: element}).press().release().perform();
Exemplo 2: para passar o mouse sobre um elemento do navegador, use o seguinte código:
const element = await $browser.waitForAndFindElement(by, timeout);
$browser.actions().move({origin: element, duration: 2000}).perform();
Para ser compatível com a função mouseMove antiga, use o comando a seguir:
$browser.actions().mouseMove(element).perform();
$browser.actions().mouseMove() método para garantir a compatibilidade com versões anteriores e implementam o método com, $browser.actions().move() uma vez que o método foi removido por Selenium em 2021, conforme descrito neste PR.Exemplo 3: para enviar chaves, execute o código a seguir:
await $browser.get("http://www.bing.com");
await $browser.actions().sendKeys("synthetic").perform();
addHeader
Este teste de navegador API modifica o cabeçalho das solicitações feitas a HTTP.
Uso
$browser.addHeader(key: string, val: string): Promise<void>;
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
O valor devolvido é uma promessa. |
key |
string |
O nome do cabeçalho ` HTTP `. |
val |
string |
O valor do cabeçalho ` HTTP `. |
Exemplos
await $browser.addHeader(
"User-Agent",
"Mozilla/5.0 (iPhone; CPU OS 10_15_5 (Ergänzendes Update) like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.1 Mobile/14E304 Safari/605.1.15"
);
await $browser.get("https://www.yahoo.com/");
await $browser.takeScreenshot();
await $browser.addHeader(
"User-Agent",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:86.0) Gecko/20100101 Firefox/86.0"
);
await $browser.get("https://www.yahoo.com/");
await $browser.takeScreenshot();
addHeaders
Este teste de navegador API modifica o cabeçalho das solicitações feitas a HTTP.
Uso
$browser.addHeaders(headers: { [key: string]: string }): Promise<void>;
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
O valor devolvido é uma promessa. |
headers |
{ [key: string]: string } |
Cabeçalhos de HTTP |
Exemplos
await $browser.addHeaders({
key1: "val1",
key2: "val2",
});
addHostnamesToDenylist
Este teste de navegador API adiciona nomes de host à sua lista de bloqueios.
Uso
$browser.addHostnamesToDenylist(hostnameArr: string[]): Promise<void>
addHostnamesToDenylist função para a filtragem ` URL `, mas não remove a addHostnamesToBlacklist função para garantir que o código seja compatível com versões anteriores.$browser.addHostnamesToBlacklist(hostnameArr: string[]): Promise<void>
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
O valor devolvido é uma promessa. |
hostnameArr |
string[] |
Nome do host para corresponder e suportar curingas |
Exemplos
await $browser.addHostnamesToDenylist(["*.css", "*.png"]);
await $browser.addHostnamesToAllowlist(["*"]);
addHostnamesToAllowlist
Este teste de navegador API adiciona nomes de host à sua lista de permissões.
Uso
$browser.addHostnamesToAllowlist(hostnameArr: string[]): Promise<void>
addHostnamesToAllowlist função para filtragem de URL, mas não remove a addHostnamesToWhitelist função para garantir que o código seja compatível com versões anteriores.$browser.addHostnamesToWhitelist(hostnameArr: string[]): Promise<void>
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
O valor devolvido é uma promessa. |
hostnameArr |
string[] |
Nome do host para correspondência e curingas de suporte |
Exemplos
await $browser.addHostnamesToDenylist(["*.css", "*.png"]);
await $browser.addHostnamesToAllowlist(["*"]);
addHostnameToDenylist
Este teste de navegador API adiciona um nome de host à sua lista de bloqueios.
Uso
$browser.addHostnameToDenylist(hostname: string): Promise<void>
addHostnameToDenylist função para filtragem de URL, mas não remove a addHostnameToBlacklist função para garantir que o código seja compatível com versões anteriores.$browser.addHostnameToBlacklist(hostname: string): Promise<void>
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
O valor devolvido é uma promessa. |
hostname |
string |
O nome do host para corresponder e suportar curingas |
Exemplos
await $browser.addHostnameToDenylist(`*.css`);
await $browser.addHostnameToAllowlist(`*`);
addHostnameToAllowlist
Este teste de navegador API adiciona um nome de host à sua lista de permissões.
Uso
$browser.addHostnameToAllowlist(hostname: string): Promise<void>
addHostnameToAllowlist função para a filtragem ` URL `, mas não remove a addHostnameToWhitelist função para garantir que o código seja compatível com versões anteriores.$browser.addHostnameToWhitelist(hostname: string): Promise<void>
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
O valor devolvido é uma promessa. |
hostname |
string |
O nome do host para corresponder e suportar curingas. |
Exemplos
await $browser.addHostnameToDenylist(`*.css`);
await $browser.addHostnameToAllowlist(`*`);
clearProxy
Este teste de navegador API limpa ou remove a configuração atual do proxy.
Uso
$browser.clearProxy(): Promise<void>;
deleteHeader
Este teste de navegador API exclui o cabeçalho definido pelo usuário.
Uso
$browser.deleteHeader(key: string): Promise<void>;
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
Uma promessa que será resolvida quando este comando for concluído |
key |
string |
O nome do cabeçalho ` HTTP `. |
Exemplos
await $browser.addHeader('header1-xxx', 'abcd');
await $browser.addHeaders({
key1: 'val1',
key2: 'val2',
});
await $browser.deleteHeaders(['key1']);
await $browser.get(`http://localhost:${devport}/header-test`);
let userHeaders: Map<string, any> = $browser.getHeaders();
console.log("User customized headers: ", [...userHeaders]);
expect(userHeaders.size).toEqual(2);
deleteHeaders
Este teste de navegador API exclui os cabeçalhos definidos pelo usuário.
Uso
$browser.deleteHeaders: (header: string[]) => Promise<void>;
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
Uma promessa que será resolvida quando este comando for concluído |
header |
string[] |
HTTP Nomes dos cabeçalhos. |
Exemplos
await $browser.addHeader('header1-xxx', 'abcd');
await $browser.addHeaders({
key1: 'val1',
key2: 'val2',
});
await $browser.deleteHeaders(['key1']);
await $browser.get(`http://localhost:${devport}/header-test`);
let userHeaders: Map<string, any> = $browser.getHeaders();
console.log("User customized headers: ", [...userHeaders]);
expect(userHeaders.size).toEqual(2);
deleteHostnameFromDenylist
Este teste de navegador API remove um nome de host da sua lista de bloqueios.
Uso
$browser.deleteHostnameFromDenylist(hostname: string): Promise<void>;
deleteHostnameFromDenylist função para filtragem de URL, mas não remove a deleteHostnameFromBlacklist função para garantir que o código seja compatível com versões anteriores.$browser.deleteHostnameFromBlacklist(hostname: string): Promise<void>;
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
O valor devolvido é uma promessa. |
hostname |
string |
O nome do host para corresponder e suportar curingas. |
deleteHostnameFromAllowlist
Essa API de teste do navegador exclui um nome do host da lista de permissões.
Uso
$browser.deleteHostnameFromAllowlist(hostname: string): Promise<void>;
deleteHostnameFromAllowlist função ao ` API `, mas não remove a deleteHostnameFromWhitelist função, a fim de garantir que o código seja compatível com versões anteriores.$browser.deleteHostnameFromWhitelist(hostname: string): Promise<void>;
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
O valor devolvido é uma promessa. |
hostname |
string |
O nome do host para corresponder e suportar curingas. |
deleteHostnamesFromDenylist
Este teste de navegador API exclui nomes de host da sua lista de bloqueados.
Uso
$browser.deleteHostnamesFromDenylist(hostnameArr: string[]): Promise<void>
deleteHostnamesFromDenylist função para filtragem de URL, mas não remove a deleteHostnamesFromBlacklist função para garantir que o código seja compatível com versões anteriores.$browser.deleteHostnamesFromBlacklist(hostnameArr: string[]): Promise<void>
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
O valor devolvido é uma promessa. |
hostnameArr |
string[] |
O nome do host para corresponder e suportar curingas. |
deleteHostnamesFromAllowlist
Este teste de navegador API exclui nomes de host da sua lista de permissões.
Uso
$browser.deleteHostnamesFromAllowlist(hostnameArr: string[]): Promise<void>
deleteHostnamesFromAllowlist função para filtragem de URL, mas não remove a deleteHostnamesFromWhitelist função para garantir que o código seja compatível com versões anteriores.$browser.deleteHostnamesFromWhitelist(hostnameArr: string[]): Promise<void>
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
O valor devolvido é uma promessa. |
hostnameArr |
string[] |
O nome do host para corresponder e suportar curingas. |
dólar-dólar
O comando $$ é um atalho para chamar o comando findElements para buscar diversos elementos na página O comando retorna uma matriz com os resultados do elemento Esses resultados têm um protótipo estendido para chamar comandos de ação
É possível encadear $ ou $$ juntos para navegar na árvore do DOM
Para obter mais informações sobre como selecionar elementos específicos, consulte Seletores CSS.
Uso
$browser.$$(selector);
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<WebElement[]> |
O valor retornado é uma promessa que será resolvida com uma matriz WebElements. |
selector |
String, Function |
A função Selector ou JavaScript para buscar um determinado elemento. |
Exemplos
O arquivo index.html é o seguinte:
<ul id="menu">
<li><a href="/">Home</a></li>
<li><a href="/">Developer Guide</a></li>
<li><a href="/">API</a></li>
<li><a href="/">Contribute</a></li>
</ul>
Use $$ para localizar elementos da seguinte forma:
test("should get text a menu link", async () => {
const menu = (await $browser.$$("#menu"))[0];
const li = await menu.$$("li");
console.log(await li[2].$("a").getText()); // outputs: "API"
});
test("should get text a menu link - JS Function", async () => {
const text = (
await $browser.$$(function () {
// Arrow function is not allowed here.
return document.querySelectorAll("#menu"); // Element[]
})
)[0];
const li3Text = await (await text.$$("li"))[2].$("a").getText();
console.log(li3Text); // outputs: "API"
});
dólar
O comando $ é um atalho para chamar o comando findElement para buscar um único elemento na página.. O comando retorna um objeto.. O objeto possui um protótipo estendido, para chamar comandos de ação.
É possível encadear $ ou $$ juntos para navegar na árvore do DOM
Para obter mais informações sobre como selecionar elementos específicos, consulte Seletores CSS.
Uso
$browser.$(selector): WebElementPromise;
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
RETURN |
WebElementPromise |
O valor retornado é um objeto do tipo ` WebElementPromise `. |
selector |
String, Function |
A função Seletor ou JavaScript para buscar diversos elementos |
Exemplos
O arquivo index.html é o seguinte:
<ul id="menu">
<li><a href="/">Home</a></li>
<li><a href="/">Developer Guide</a></li>
<li><a href="/">API</a></li>
<li><a href="/">Contribute</a></li>
</ul>
Use $para localizar o elemento da seguinte forma:
test("should get text a menu link", async () => {
const text = await $browser.$("#menu").$$("li");
console.log(await text[2].$("a").getText()); // outputs: "API"
});
test("should get text a menu link - JS Function", async () => {
const text = await $browser.$(function () {
// Arrow function is not allowed here.
return document.querySelector("#menu"); // Element
}).$$("li");
console.log(text.$$("li")[2].$("a").getText()); // outputs: "API"
});
executar
Este teste de navegador API executa o [Command] fornecido utilizando command.Executor o WebDriver.
Uso
$browser.execute(command) => Promise<T>
Promise<T> é uma promessa que será resolvida com o resultado do comando
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
command |
Command |
Comando para planejar |
executeAsyncScript
Este teste de navegador API executa um trecho de código assíncrono JavaScript no contexto do quadro ou janela selecionado no momento. O fragmento de script é executado como o corpo de uma função anônima. Se o script for fornecido como um objeto de função, essa função será convertida em uma sequência para injeção na janela de destino.
Se você fornecer quaisquer argumentos além do script, ele será incluído como argumentos de script e poderá ser referido usando o objeto arguments . Os argumentos podem ser um booleano, número, sequência ou WebElement. Matrizes e objetos também podem ser usados como argumentos de script se cada item aderir aos tipos indicados.
Ao contrário da execução síncrona de ` JavaScript ` com `executeScript`, os scripts executados com esta função devem indicar explicitamente que foram concluídos, iniciando a função de retorno de chamada fornecida. Esse retorno de chamada é sempre injetado na função executada como o último argumento e, portanto, pode ser referido com arguments[arguments.length - 1]. As etapas a seguir são executadas para resolver o valor de retorno desta função no primeiro argumento para a função de retorno de chamada do script:
- Para um elemento HTML, o valor é resolvido para WebElement.
- Valores de retorno nulos e indefinidos são resolvidos para nulo.
- Booleanos, números e sequências são resolvidos como estão.
- As funções são resolvidas para sua representação de sequência..
- Para matrizes e objetos, cada item de membro é convertido de acordo com as regras indicadas
Uso
$browser.executeAsyncScript<T>(script: string|Function, ...var_args: any[]): Promise<T>;
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promise.<T> |
Uma promessa que será resolvida com o valor de retorno do script.. |
script |
string, Function |
O script a ser executado |
...args |
* |
Os argumentos a serem passados para o script |
Exemplos
Exemplo 1: Para executar uma suspensão sincronizada com a janela atualmente selecionada, use os comandos conforme mostrado no exemplo a seguir:
const start = new Date().getTime();
$browser.executeAsyncScript(
"window.setTimeout(arguments[arguments.length - 1], 500);"
).then(function () {
console.log("Elapsed time: " + (new Date().getTime() - start) + " ms");
});
Exemplo 2: Para sincronizar um teste com um aplicativo Ajax, use os comandos conforme mostrado no exemplo a seguir:
const button = $browser.$("#compose-button");
button.click();
$browser.executeAsyncScript(
"var callback = arguments[arguments.length - 1];" +
"mailClient.getComposeWindowWidget().onload(callback);"
);
$browser.switchTo().frame("composeWidget");
$browser.$("#to").sendKeys("dog@example.com");
Exemplo 3: Para injetar XMLHttpRequest e aguardar pelo resultado, use os comandos a seguir: Neste exemplo, o script de injeção é especificado com um literal de função. Quando você usa esse formato, a função é convertida em uma sequência para injeção. Portanto, a função não deve fazer referência a nenhum símbolo que não esteja definido no escopo da página em teste..
$browser.executeAsyncScript(function () {
var callback = arguments[arguments.length - 1];
var xhr = new XMLHttpRequest();
xhr.open("GET", "/resource/data.json", true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
callback(xhr.responseText);
}
};
xhr.send("");
}).then(function (str) {
console.log(JSON.parse(str)["food"]);
});
executeScript
Esta ferramenta de teste de navegadores API executa um trecho do código JavaScript no contexto do quadro ou janela selecionado no momento. O fragmento de script é executado como o corpo de uma função anônima. Se você fornecer o script como um objeto de função, essa função será convertida em uma sequência para injeção na janela de destino.
Se você fornecer argumentos além do script, ele será incluído como argumentos de script e poderá ser referenciado usando o objeto arguments . Os argumentos podem ser um booleano, número, sequência ou WebElement. Matrizes e objetos também podem ser usados como argumentos de script se cada item aderir aos tipos indicados.
O script pode fazer referência a quaisquer variáveis acessíveis na janela atual. Além disso, o script é executado no contexto da janela, portanto document pode ser usado para fazer referência ao documento atual. Nenhuma variável local está disponível após a conclusão da execução do script, embora as variáveis globais persistam
Se o script tiver um valor de retorno, ou seja, se o script contiver uma instrução de retorno, as etapas a seguir serão executadas para resolver o valor de retorno dessa função:
- Para um elemento HTML, o valor é resolvido para WebElement.
- Valores de retorno nulos e indefinidos são resolvidos para nulo.
- Booleanos, números e sequências são resolvidos como estão.
- As funções são resolvidas para sua representação de sequência..
- Para matrizes e objetos, cada item de membro é convertido de acordo com as regras indicadas
Uso
$browser.executeScript<T>(script: string|Function, ...var_args: any[]): Promise<T>;
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promise.<T> |
Uma promessa que será resolvida com o valor de retorno do script.. |
script |
string, Function |
O script a ser executado |
...args |
* |
Os argumentos a serem passados para o script |
findElement
Este teste de navegador API localiza um elemento na página. Se o elemento não puder ser localizado, o driver retornará error.NoSuchElementError
Uso
$browser.findElement(locator: Locator): WebElementPromise;
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
WebElementPromise | Um WebElement que pode ser usado para emitir comandos no elemento localizado. Se o elemento não for localizado o elemento será invalidado e todos os comandos planejados serão parados. |
locator |
By , function |
O localizador a ser usado |
Exemplos
Você não deve usar esta função para testar se um elemento está presente na página.. Em vez disso, você deve usar findElements :
$browser.findElements($driver.By.id("foo"))
.then((found) => console.log("Element found? %s", !!found.length));
É possível definir os critérios de procura para um elemento usando um dos factories no namespace webdriver.By ou como um objeto webdriver.By.Hash curto. Por exemplo, as duas instruções a seguir são equivalentes:
var e1 = $browser.findElement($driver.By.id("foo"));
var e2 = $browser.findElement({ id: "foo" });
Você também pode fornecer uma função de localização personalizada, que receba como entrada esta instância e retorne um `WebElement ` ou uma promessa que será resolvida com um ` WebElement `. Se a promessa retornada for resolvida com uma matriz de WebElements,, o WebDriver usa o primeiro elemento. Por exemplo, para localizar o primeiro link visível em uma página, é possível utilizar os seguintes comandos:
var link = $browser.findElement(firstVisibleLink);
function firstVisibleLink(driver) {
var links = driver.findElements(By.tagName("a"));
return promise.filter(links, function (link) {
return link.isDisplayed();
});
}
findElements
Este teste de navegador API procura vários elementos na página. Para obter informações sobre estratégias de localização de elementos, consulte findElement .
Uso
$browser.findElements(locator: Locator): Promise<WebElement[]>;
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promessa <WebElement[ ]> | Uma promessa que será resolvida com uma matriz de WebElements.. |
locator |
By, function |
O localizador a ser usado |
generateTOTPToken
Este teste de navegador API gera um token de senha de uso único baseada no tempo (TOTP) a partir de uma chave TOTP. Você pode usar este link API para fazer login com autenticação de dois fatores.
Uso
$browser.generateTOTPToken(key: string, options?: TOTPOptions): string;
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
RETURN |
string |
Um token de senha descartável baseada em tempo (TOTP) |
key |
string |
Uma chave TOTP, sequências base32 |
options |
Object,undefined |
Opcional: configurações opcionais, por exemplo, {digits: 8, algorithm:
"SHA-512", period: 60} As configurações padrão são {digits: 6, algorithm: "SHA-1", period: 30} |
Exemplos
Exemplo 1: para gerar um token TOTP e efetuar login com autenticação de dois fatores no teste de Script do Navegador:
await $browser.waitForAndFindElement($driver.By.id("password"), 15000);
let totp_token = $browser.generateTOTPToken($secure.totpKey);
await $browser.findElement($driver.By.id("password")).then((element) => {
return element.clear().then(() => {
return element.sendKeys(totp_token);
});
});
Exemplo 2: para gerar um token TOTP no teste de script SIDE Selenium :
{
"id": "ec51296b-4d16-4167-ac83-ba87f89cc0c7",
"comment": "Generate a TOTP token from a TOTP key",
"command": "executeScript",
"target": "return $browser.generateTOTPToken($secure.totpKey);",
"targets": [],
"value": "totpToken"
}
obter
Este teste de navegador API redireciona para URL.
Uso
$browser.get(url: string): Promise<void>;
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
Uma promessa que será resolvida quando o documento for concluído. |
url |
string |
O endereço completo URL para acessar. |
getAllWindowHandles
Este teste de navegador API executa um comando para recuperar a lista atual de identificadores de janela disponíveis.
Uso
$browser.getAllWindowHandles(): Promise<string[]>;
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<string[]> |
Uma promessa que será resolvida com uma matriz de manipulações de janela. |
getCapabilities
Este teste de navegador API obtém as capacidades desta instância.
Uso
$browser.getCapabilities(): Promise<Capabilities>;
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<Capabilities> |
Uma promessa que será resolvida com os recursos dessa instância |
getCurrentUrl
Este teste de navegador API executa um comando para recuperar o URL da página atual.
Uso
$browser.getCurrentUrl(): Promise<string>;
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<string> |
Uma promessa que será cumprida com o atual URL. |
getHeaders
Este teste de navegador API obtém cabeçalhos personalizados pelo usuário.
Uso
$browser.getHeaders(): Map<string, any>;
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
RETURN |
Map<string, any> |
Cabeçalhos definidos pelo usuário |
Exemplos
await $browser.addHeader('header1-xxx', 'abcd');
await $browser.addHeaders({
key1: 'val1',
key2: 'val2',
});
await $browser.deleteHeaders(['key1']);
await $browser.get(`http://localhost:${devport}/header-test`);
let userHeaders: Map<string, any> = $browser.getHeaders();
console.log("User customized headers: ", [...userHeaders]);
expect(userHeaders.size).toEqual(2);
getPageSource
Este teste de navegador API recupera o código-fonte da página atual. A origem retornada é uma representação do DOM subjacente Não espere que a origem seja formatado ou escapado da mesma maneira que a resposta bruta enviada do servidor da Web
Uso
$browser.getPageSource(): Promise<string>;
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<string> |
Uma promessa que será resolvida com a origem da página atual |
getProxy
Este teste de navegador API recupera a configuração atual do proxy.
Uso
$browser.getProxy(): FFProxyConfig | CProxyConfig;
Este método ` API ` também pode ser chamado por meio do $network objeto:
$network.getProxy(): FFProxyConfig | CProxyConfig;
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
RETURN |
CProxyConfig ou FFProxyConfig | Objeto de configuração de proxy no Chrome ou encapsulamento específico do Firefox . |
Configuração de proxy
/**
* Firefox extension - An object encapsulating a complete proxy configuration
* https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/proxy/settings
*/
export interface FFProxyConfig {
proxyType?: FFProxyType,
http?: string;
ssl?: string,
ftp?: string;
autoConfigUrl?: string,
autoLogin?: boolean,
httpProxyAll?: boolean,
passthrough?: string,
proxyDNS?: boolean,
socks?: string,
socksVersion?: number,
}
/**
* Chrome extension - An object encapsulating a complete proxy configuration
* https://developer.chrome.com/docs/extensions/reference/proxy/#type-ProxyConfig
*/
export interface CProxyConfig {
mode: CProxyType,
rules?: {
bypassList?: string[],
fallbackProxy?: ProxyServer,
proxyForFtp?: ProxyServer,
proxyForHttp?: ProxyServer,
proxyForHttps?: ProxyServer,
singleProxy?: ProxyServer,
},
pacScript?: {
data?: string,
mandatory?: boolean,
url?: string,
},
};
getSession
Este teste de navegador API recupera a sessão deste cliente.
Uso
$browser.getSession(): Promise<Session>;
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<Session> |
Uma promessa para a sessão deste cliente |
getTitle
Este teste de navegador API executa um comando para recuperar o título da página atual.
Uso
$browser.getTitle(): Promise<string>;
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<string> |
Uma promessa que será resolvida com o título da página atual. |
getWindowHandle
Este teste de navegador API executa um comando para recuperar o identificador da janela atual.
Uso
$browser.getWindowHandle(): Promise<string>;
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<string> |
Uma promessa que será resolvida com o identificador de janela atual |
gerenciar
Este teste de navegador API obtém a interface de opções desta instância.
Uso
$browser.manage(): Options;
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
RETURN |
Options |
A interface de opções para esta instância |
Opções
As opções fornecem métodos para o gerenciamento do estado do navegador e do driver
| Tipo | Descrição |
|---|---|
addCookie(spec: IWebDriverOptionsCookie):
Promise<void> |
Planeja um comando para incluir um cookie.. |
deleteAllCookies(): Promise<void>; |
Planeja um comando para excluir todos os cookies visíveis para a página atual. |
deleteCookie(name: string):
Promise<void>; |
Planeja um comando para excluir o cookie com o nome fornecido Se nenhum cookie com o nome fornecido visível para a página atual, esse comando será um no-op. |
getCookies():
Promise<IWebDriverCookie[]>; |
Planeja um comando para recuperar todos os cookies visíveis para a página atual Cada cookie é retornado como um objeto ` JSON `, conforme descrito pelo protocolo de comunicação ` WebDriver `. |
getCookie(name: string):
Promise<IWebDriverCookie>; |
Planeja um comando para recuperar o cookie com o nome fornecido Retorna nulo se nenhum cookie estiver disponível. O cookie é retornado como um objeto ` JSON `, conforme descrito pelo protocolo de comunicação ` WebDriver `. |
logs(): Logs; |
Fornece a interface para gerenciar logs do driver. |
getTimeouts(): Promise<ITimeouts>; |
Obtém os tempos limitesatuais |
setTimeouts(timeouts: ITimeouts):
Promise<void>; |
Configura os tempos limitesatuais |
window(): Window; |
Fornece a interface para gerenciar a janelaatual.. |
IWebDriverCookie
| Parâmetros | Tipo | Descrição |
|---|---|---|
name |
string |
O nome do cookie.. |
value |
string |
O valor do cookie. |
path |
string |
O caminho do cookie O padrão é "/" quando um cookie é incluído. |
domain |
string |
O domínio para o qual o cookie está visível Quando um cookie é adicionado, o valor padrão é o atributo ` URL ` do documento do contexto de navegação atual. |
secure |
boolean |
O parâmetro indica se o cookie é seguro. O valor padrão é false, o que significa que o cookie não é um cookie seguro. |
httpOnly |
boolean |
O parâmetro indica se o cookie é um cookie exclusivamente do domínio HTTP. O valor padrão é false, o que significa que o cookie não é um cookie exclusivo do HTTP. |
expiry |
number |
A expiração é sempre retornada em segundos desde a época ao recuperar cookies do navegador. |
ITimeouts
| Parâmetro | Tipo | Descrição |
|---|---|---|
script |
number |
Especifica a quantidade máxima de tempo a aguardar para que um script avaliado seja executado |
pageLoad |
number |
Especifica a quantidade máxima de tempo para aguardar uma página concluir o carregamento. O padrão é 300000 milissegundos. |
implicit |
number |
Especifica a quantidade máxima de tempo a aguardar para que um localizador de elemento seja bem-sucedido ao localizar elementos na página O padrão é 0 milissegundos. |
Janela
export interface ILocation {
x: number;
y: number;
}
export interface ISize {
width: number;
height: number;
}
export interface IRectangle {
x: number;
y: number;
width: number;
height: number;
}
Uma interface para o gerenciamento da janela atual
| Tipo | Descrição |
|---|---|
getPosition(): Promise<ILocation>; |
Recupera a posição atual da janela, em relação ao canto superior esquerdo da tela |
setPosition(x: number, y: number):
Promise<void>; |
Reposiciona a janela atual |
getSize(): Promise<ISize>; |
Recupera o tamanho atual da janela.. |
setSize(width: number, height: number):
Promise<void>; |
Redimensiona a janela atual |
getRect(): Promise<IRectangle>; |
Retorna o tamanho e a posição da janela de nível superior atual |
setRect({x, y, width, height}:
Partial<IRectangle>): Promise<IRectangle>; |
Configura o tamanho e a posição da janela de nível superior atual É possível atualizar apenas o tamanho omitindo x e y ou apenas a posição omitindo width e height opções. |
maximize(): Promise<void>; |
Maximiza a janela atual.. |
Exemplos
let tm = await $browser.manage().getTimeouts();
console.log('current timeout', tm.implicit, tm.pageLoad, tm.script);
await $browser.manage().timeouts().pageLoadTimeout(119);
tm = await $browser.manage().getTimeouts();
expect(tm.pageLoad).toBe(119);
console.log('current timeout', tm.implicit, tm.pageLoad, tm.script);
await $browser.manage().timeouts().pageLoadTimeout(89);
tm = await $browser.manage().getTimeouts();
expect(tm.pageLoad).toBe(89);
console.log('current timeout', tm.implicit, tm.pageLoad, tm.script);
navegar
Este teste de navegador API obtém a interface de navegação desta instância.
Uso
$browser.navigate(): Navigation;
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
RETURN |
Navigation |
A interface de navegação para esta instância |
Navegação
A interface de navegação para ir e vir no histórico do navegador.
| Tipo | Descrição |
|---|---|
to(url: string): Promise<void>; |
Agenda um comando para acessar um novo URL. |
back(): Promise<void>; |
Planeja um comando para retroceder no histórico do navegador. |
forward(): Promise<void>; |
Planeja um comando para avançar no histórico do navegador. |
refresh(): Promise<void>; |
Planeja um comando para atualizar a página atual.. |
setAuthentication
Este teste de navegador API altera as configurações de autenticação para as próximas solicitações HTTP.
Uso
$browser.setAuthentication(authName: string, authPass: string): Promise<void>;
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
Uma promessa é resolvida quando as configurações são aplicadas |
authName |
string |
Nome do usuário para a autenticação |
authPass |
string |
A senha do usuário para autenticação |
Exemplos
await $browser.setAuthentication(basicauthuser, password);
await $browser.get(`http://${httpserver}/basic/page1.html`)
.then(() => $browser.takeScreenshot());
setProxy
Este teste de navegador API configura um servidor proxy a ser usado para todas as solicitações HTTP, HTTPS e FTP.
Uso
$browser.setProxy(proxyURL: string | URL, noProxy?: string): Promise<void>;
Este método ` API ` também pode ser chamado por meio do $network objeto.
$network.setProxy(proxyURL: string | URL, noProxy?: string): Promise<void>
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
Uma promessa é resolvida quando as configurações são aplicadas |
proxyURL |
string, URL |
Uma string do tipo ` URL ` para se conectar ao servidor proxy. A string ` URL ` deve estar no formato definido no método ` url.parse ` ( urlString ) do nó. Por exemplo, http://proxy_host:8888 ou https://user:pass@proxy_host:8888 |
noProxy |
string |
Opcional: uma lista separada por vírgula de hosts que ignora todos os proxies. |
setProxyAdvanced
Este teste de navegador API define a configuração do proxy utilizando o formato compatível com o Chrome ou com a extensão Firefox API para o uso de proxy.
Uso
$browser.setProxyAdvanced(proxyConfig: CProxyConfig | FFProxyConfig, authName?: string, authPass?: string): Promise<void>;
Este método ` API ` também pode ser chamado por meio do $network objeto.
$network.setProxyAdvanced(proxyConfig: CProxyConfig | FFProxyConfig, authName?: string, authPass?: string): Promise<void>;
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
Uma promessa é resolvida quando as configurações são aplicadas |
proxyConfig |
CProxyConfig ou FFProxyConfig | Um objeto de configuração de proxy no Chrome ou no encapsulamento específico do Firefox |
authName |
string |
Opcional: um nome de usuário do servidor proxy para autenticação.. |
authPass |
string |
Opcional: uma senha do usuário do servidor proxy para autenticação |
Exemplos
async function testProxyAdvanced() {
await $browser.clearProxy();
var ffconfig = {
proxyType: "manual",
//proxyType: "autoConfig",
http: proxy_4,
ssl: proxy_4,
ftp: proxy_4,
autoConfigUrl: pacfile,
passthrough: noproxy,
autoLogin: true,
}
var pxyserver = {
host: httpserver,
port: 8088,
scheme: "http",
}
var cconfig = {
mode: "fixed_servers",
rules: {
bypassList: noproxy.split(','),
fallbackProxy: {
host: "my-proxy-server.us.ibm.com",
port: 8080,
},
proxyForFtp: pxyserver,
proxyForHttp: pxyserver,
proxyForHttps: pxyserver,
},
pacScript: {
url: pacfile,
},
}
var bname = null;
await $browser.getCapabilities().then(cap=> {
bname = cap.getBrowserName();
});
var config = (bname == 'chrome') ? cconfig : ffconfig;
await $browser.setProxyAdvanced(config, proxyuser, password);
await $browser.get(`http://${httpserver}/demo/page2.html`)
.then(() => $browser.takeScreenshot());
}
setProxyAuthentication
Este teste de navegador API altera as configurações de autenticação do proxy para as próximas solicitações HTTP, HTTPS e FTP.
Uso
$browser.setProxyAuthentication(authName: string, authPass: string): Promise<void>;
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
Uma promessa é resolvida quando as configurações são aplicadas |
authName |
string |
Um nome de usuário do servidor proxy para autenticação.. |
authPass |
string |
Uma senha de usuário do servidor proxy para autenticação.. |
Exemplos
async function testProxyAuthentication() {
await $browser.clearProxy();
await $browser.setProxy(proxy_3, noproxy);
await $browser.setProxyAuthentication(proxyuser, password);
await $browser.get(`http://${httpserver}/demo/page2.html`)
.then(() => $browser.takeScreenshot());
}
setProxyForHttp
Este teste de navegador API configura um servidor proxy a ser usado para todas as solicitações HTTP.
Uso
$browser.setProxyForHttp(proxyURL: string | URL, noProxy?: string): Promise<void>
Este método ` API ` também pode ser chamado por meio do $network objeto.
$network.setProxyForHttp(proxyURL: string | URL, noProxy?: string): Promise<void>
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
Uma promessa é resolvida quando as configurações são aplicadas |
proxyURL |
string, URL |
Uma string do tipo ` URL ` para se conectar ao servidor proxy. A string ` URL ` deve estar no formato definido no método ` url.parse ` ( urlString ) do Node. Por exemplo, http://proxy_host:8888 ou https://user:pass@proxy_host:8888 |
noProxy |
string |
Opcional: uma lista separada por vírgula de hosts que devem ignorar todos os proxies. |
Exemplos
let website;
let proxyServer = "proxyHost:proxyPort";
console.log(">>>>>>>>>>>>>>>>>>>", "Clear proxy configuration");
await $network.clearProxy();
console.log(">>>>>>>>>>>>>>>>>>>", "Set proxy configuration for HTTP request");
await $network.setProxyForHttp(proxyServer);
website = await accessWebSite();
checkHostname("www.google.com.hk", website)
setProxyForHttps
Este teste de navegador API configura um servidor proxy a ser usado para todas as solicitações HTTPS.
Uso
$browser.setProxyForHttps(proxyURL: string | URL, noProxy?: string): Promise<void>;
Este método ` API ` também pode ser chamado por meio do $network objeto.
$network.setProxyForHttps(proxyURL: string | URL, noProxy?: string): Promise<void>;
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
Uma promessa é resolvida quando configurações são aplicadas |
proxyURL |
string, URL |
Uma string do tipo ` URL ` para se conectar ao servidor proxy. A string ` URL ` deve estar no formato definido no método ` url.parse ` ( urlString ) do nó. Por exemplo, http://proxy_host:8888 ou https://user:pass@proxy_host:8888 |
noProxy |
string |
Opcional: uma lista separada por vírgula de hosts que devem ignorar todos os proxies. |
Exemplos
let website;
let sslProxyServer = "username:password@proxyHost:proxyPort";
console.log(">>>>>>>>>>>>>>>>>>>", "Clear proxy configuration");
await $network.clearProxy();
console.log(">>>>>>>>>>>>>>>>>>>", "Set proxy configuration for HTTPS request");
let testURL = new URL("http://" + sslProxyServer);
await $network.setProxyForHttps(testURL);
website = await accessWebSite();
checkHostname("www.google.com", website);
setProxyPAC
Este teste de navegador API configura um servidor proxy por meio de um script de configuração automática de proxy (PAC).
Uso
$browser.setProxyPAC(pacScriptURL: string, noProxy?: string, authMap?: Map<string, any>): Promise<void>;
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
Uma promessa é resolvida quando as configurações são aplicadas |
pacScriptURL |
string |
A função ` URL ` do script PAC. |
noProxy |
string |
Opcional: uma lista separada por vírgula de hosts que devem ignorar todos os proxies. |
authMap |
Map |
Opcional: um mapa de credenciais de autenticação a serem fornecidas para os servidores proxy, que são chaveados pelo Hostname dos servidores proxy.. Os valores desse mapa devem ser definidos no formato {username: "authUsername", password:
"authPassword"} |
Exemplos
const httpserver = '<DemoServerIP>';
const noproxy = "localhost,google.com,192.168.1.0/24";
const pacfile = `http://${httpserver}/pacfile`;
const authmap = new Map([
[ httpserver, {username: "proxyuser", password: "passw0rd"} ],
[ "httpserver2", {username: "user1", password: "passw0rd"} ],
])
async function testProxyPAC() {
await $browser.clearProxy();
await $browser.setProxyPAC(pacfile, noproxy, authmap);
await $browser
.get(`http://${httpserver}/demo/page2.html`)
.then(() => $browser.takeScreenshot());
}
suspender
Este teste de navegador API programa um comando para colocar o driver em modo de suspensão por um determinado período de tempo.
Uso
$browser.sleep(ms: number): Promise<void>;
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
Uma promessa que será resolvida quando o sono terminar. |
ms |
number |
A quantia de tempo, em milissegundos, para suspensão.. |
Exemplos
await $browser.get("https://www.yahoo.com/");
await $browser.sleep(3 * 1000);
await $browser.takeScreenshot();
switchTo
Este teste de navegador API oferece uma interface para mudar o foco do driver para outro quadro ou janela.
Uso
$browser.switchTo(): TargetLocator;
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
RETURN |
TargetLocator | A interface do TargetLocator para esta instância |
TargetLocator
Uma interface para alterar o foco do driver para um outro quadro ou janela.
Métodos de instância
| Tipo | Descrição |
|---|---|
activeElement(): WebElementPromise; |
Planeja um comando recuperar o elemento document.activeElement no documento atual ou document.body se activeElement não estiver disponível. |
defaultContent(): Promise<void>; |
Planeja um comando para alternar o foco de todos os comandos futuros para o primeiro quadro na página O quadro de destino pode ser especificado como um dos seguintes valores: - Um número que especifica um índice (com base em zero) no ` window.frames `. - Uma referência ` WebElement `, que corresponde a um elemento frame `DOM` ou iframe `DOM`. - O null valor `top` para selecionar o quadro mais à frente na página. A passagem de null parâmetros equivale a chamar ` defaultContent `. |
frame(id: Number |WebElement| null): Promise<void>; |
Altera o foco de todos os comandos futuros para outro quadro na página.. |
parentFrame(): Promise<void>; |
Altera o foco de todos os comandos futuros para o quadro pai do quadro atualmente selecionado Este comando não terá efeito se o driver já estiver focado no contexto de navegação de nível superior |
window(nameOrHandle: string):
Promise<void>; |
Planeja um comando para mudar o foco de todos os comandos futuros para outra janela. Windows podem ser especificadas por seu window.name atributo ou por seu identificador (conforme retornado por ` getWindowHandle `). |
newWindow(typeHint: string):
Promise<void>; |
Cria uma janela do navegador e transfere o foco para a nova janela para os próximos comandos deste driver. typeHint "janela" ou "aba". A janela criada não tem a garantia de ser do tipo solicitado Se o driver não for compatível com o tipo solicitado, será aberta uma nova janela do navegador com o tipo que o driver suportar. A promessa retornada é resolvida quando o driver muda o foco para a nova janela. |
alert(): AlertPromise; |
Planeja um comando para mudar o foco para o diálogo modal ativo, como aqueles abertos por window.alert(), window.confirm(), e window.prompt() A promessa retornada será rejeitada com um error.NoSuchAlertError se nenhum alerta estiver disponível. |
Exemplos
/**
* samples of getting current window handle
* switch to a new window
* open new page in new tab
*/
console.log("Windows handle: ", await $browser.getWindowHandle(), "Current url: ", await $browser.getCurrentUrl());
console.log("switch to calendar tab");
let originalWindow = await $browser.getWindowHandle();
await $browser.switchTo().newWindow();
/**
* navigate to www.timeanddate.com
* assert page title by getTitle() api
* assert page title by getPageSource() api
*/
console.log("Access time and date page");
await $browser.get("http://www.timeanddate.com");
let page = await $browser.getPageSource();
assert.isTrue(page.includes("<title>timeanddate.com</title>"));
console.log("Page title: ", await $browser.getTitle());
/**
* switch back to original window
* take screenshot
*/
await $browser.switchTo().window(originalWindow);
await $browser.takeScreenshot();
takeScreenshot
Este teste de navegador API programa um comando para capturar uma imagem da tela. O motorista tenta retornar uma captura de tela dos seguintes elementos, em ordem de preferência:
- Página inteira
- Janela atual
- Parte visível do quadro atual
- Exibição inteira que contém o navegador
Uso
$browser.takeScreenshot(): Promise<string>;
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<string> |
Uma promessa que será resolvida com a captura de tela como um PNG codificado base-64 . |
espera
Este teste de navegador API aguarda que uma condição resulte em um valor "verdadeiro". A condição pode ser especificada por uma Condição, como uma função customizada ou como qualquer thenable de promessa.
Para uma Condição ou função, a espera avalia repetidamente a condição até que ela retorne um valor verdadeiro. Se ocorrerem erros enquanto o ` API ` avalia a condição, esses erros podem se propagar. Quando uma condição retorna uma promessa, o loop de pesquisa espera que ela seja resolvida e usa o valor resolvido para verificar se a condição foi atendida O tempo de resolução para uma promessa é sempre fatorado para verificar se uma espera atingiu o tempo limite
Se a condição fornecida for um ` WebElementCondition, `, a espera retorna um ` WebElementPromise ` que aponta para o elemento que satisfez a condição.
Uso
$browser.wait(
condition: WebElementCondition,
opt_timeout?: number,
opt_message?: string): WebElementPromise;
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<string> |
Uma promessa que será resolvida com o primeiro valor verdadeiro retornado pela função de condição ou rejeitado se a condição atingir o tempo limite. Se a condição de entrada for uma instância de um ` WebElementCondition, `, o valor retornado será um ` WebElementPromise `. |
condition |
IThenable<(T|null)> ou Condition<(T|null)> ou function(WebDriver): (T|null) |
A condição para aguardar, definida como uma promessa, objeto de condição ou uma função para avaliar como uma condição. |
opt_timeout |
number |
A duração, em milissegundos, para aguardar que a condição seja verdadeira |
opt_message |
string ou function |
Uma mensagem opcional para usar se a espera atingir o tempo limite. |
Exemplos
Exemplo 1: Para aguardar até 10 segundos para um elemento estar presente na página, use os comandos conforme mostrado no exemplo a seguir:
async function example() {
let button = await $browser.wait(
$driver.until.elementLocated($driver.By.id("foo")),
10000
);
await button.click();
}
Exemplo 2: Para aguardar um elemento e clicar, use os comandos conforme mostrado no exemplo a seguir:
await $browser.wait(until.elementLocated(by), timeout);
const element = await $browser.findElement(by, timeout);
await $browser.wait(until.elementIsVisible(element), timeout, `${by} not visible`);
await $browser.wait(until.elementIsEnabled(element), timeout, `${by} not enabled`);
await element.click();
waitForAndFindElement
Este teste de navegador API aguarda e localiza um elemento na página e aguarda até que ele fique visível. Se não for localizado, o monitoramento sintético retorna um erro. O valor de tempo limite é opcional. Ele é aplicado separadamente para ambas as tarefas de localizar o elemento e aguardar sua visibilidade.. Assim, no pior dos casos, este método pode levar até duas vezes o valor de tempo limite fornecido. O valor de tempo limite padrão é 1000 ms (1 segundo).
Um WebElementPromise será retornado se um elemento for localizado com o localizador fornecido nos parâmetros e o elemento se tornar visível ou quando as condições indicadas não forem atendidas dentro do timeoutespecificado.
Uso
$browser.waitForAndFindElement(locator: Locator, timeout?: number) : WebElementPromise;
A função é semelhante à seguinte:
const element = await $browser.wait(until.elementLocated(locator), timeout);
await $browser.wait(until.elementIsVisible(element), timeout);
return await $browser.findElement(locator);
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
WebElementPromise |
Um WebElement que pode ser usado para emitir comandos no elemento localizado. Se o elemento não for localizado o elemento será invalidado e todos os comandos planejados serão parados. |
locator |
by.By | function |
O localizador a ser usado |
timeout |
number |
Opcional: a quantidade de tempo, em milissegundos, a aguardar.. |
Exemplos
$browser.waitForAndFindElement($driver.By.id("username"), 10000);
waitForPendingRequests
Esta função é para compatibilidade com versões anteriores.
Uso
$browser.waitForPendingRequests(timeout?: number): Promise<void>;
A função é semelhante a
let script = "return document.readyState === 'complete'";
await $browser.wait(() => {
return $browser.executeScript(script);
}, timeout);
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
RETURN |
Promise<void> |
Uma promessa que será resolvida quando o documento e todos os sub-recursos tiverem concluído o carregamento. |
timeout |
number |
A quantidade de tempo, em milissegundos, a aguardar |