Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

267
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!