Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

271
Visualizações
Mis 'esperas' no funcionan correctamente en webdriverIO
describe("Purge all", function() { it('Purge all', () => { CachePurgePage.open(PARTNER_ID, ACCOUNT_ID, CONFIGURATION_ID); const label = $('[class = "css-1av0y7f-SidebarLinkTitle ezsph7p1"]'); browser.waitUntil(function(){ return label.isClickable() }, 6000, "Element is not clickable"); label.click(); browser.waitUntil(function(){ return $$('[class ="css-1rqefwa-LabelOutput e9gmw1r4"]')[1].isDisplayed(); }, 6000, "Element is not displayed") $$('[class ="css-1rqefwa-LabelOutput e9gmw1r4"]')[1].click(); browser.waitUntil(function(){ return $$('[class *= "Row-StyledTableRow"]')[1].isDisplayed(); }, 6000, "Element is not clickable") const firstTR = CachePurgePage.tableTasksInfo[0]; const internalTDs = firstTR.$$('[class = "css-zr137n-Cell eveacmn0"]'); expect(internalTDs[1]).toHaveText('2');

¡Hola a todos! Mi primera prueba de WDIO y no es difícil de entender que soy nuevo en esto. Así que me encontré con un problema interesante. La prueba funciona bien cuando uso browser.pause() pero si solo trato de implementar $element.waitForClickable().click() todo sale mal. La prueba no espera condiciones y trata de encontrar un elemento de todos modos y luego hacer clic en él. Por supuesto, no encuentra nada porque la página necesaria no se ha descargado y simplemente hace clic en el elemento "desdefinir" que da como resultado que la prueba finalice con un error. Así que probé browser.waitUntil() y se estaban dando algunos pasos inesperados. Primero, el navegador busca "label = $('[class = "css-1av0y7f-SidebarLinkTitle ezsph7p1"]')" y luego hace clic en él. La salida del terminal dice que todo está bien. Luego comienza a buscar "$$('[class ="css-1rqefwa-LabelOutput e9gmw1r4"]')[1]" y no puede localizarlo porque en la vida real el clic() en el elemento anterior no sucedió. No puedo entender por qué está funcionando de esta manera. Tengo 94 chromedriver, 7.14 wdio y 14 node.js y lo probé en 85 chromedriver, 6.7 wdio y 12 node.js no hay ninguna diferencia

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Consulte los ejemplos aquí: https://webdriver.io/docs/api/browser/waitUntil/

Notará que le faltan notaciones async/await .

Básicamente browser.waitUntil devuelve una Promise() que simplemente estás ignorando.

desde la sincronización de NodeJs v16. el modo está en desuso: sincronizar advertencia de modo


Prueba esto:

 describe("Purge all", function() { it('Purge all', async () => { CachePurgePage.open(PARTNER_ID, ACCOUNT_ID, CONFIGURATION_ID); const label = $('[class = "css-1av0y7f-SidebarLinkTitle ezsph7p1"]'); await browser.waitUntil(function(){ return label.isClickable() }, 6000, "Element is not clickable"); label.click(); await browser.waitUntil(function(){ return $$('[class ="css-1rqefwa-LabelOutput e9gmw1r4"]')[1].isDisplayed(); }, 6000, "Element is not displayed") $$('[class ="css-1rqefwa-LabelOutput e9gmw1r4"]')[1].click(); await browser.waitUntil(function(){ return $$('[class *= "Row-StyledTableRow"]')[1].isDisplayed(); }, 6000, "Element is not clickable") const firstTR = CachePurgePage.tableTasksInfo[0]; const internalTDs = firstTR.$$('[class = "css-zr137n-Cell eveacmn0"]'); expect(internalTDs[1]).toHaveText('2'); //...
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda