Actualmente estoy tratando de agregar capacidades de emulación móvil en ms: edgeOptions a través de mi enlace beforeSession cuando se ejecuta una especificación específica. Framework está utilizando wdio v7.9.
Al agregar mobileEmulation:{'deviceName': 'iPhone X'} en las capacidades en la parte superior de wdio.conf, esto funciona sin problemas.
El problema ocurre durante el enlace, que es donde necesito esto, ya que solo necesito que se ejecute para esta especificación específica y no para el resto de la suite.
Gancho antes de la sesión:
if(capabilities.browserName === 'MicrosoftEdge' && specs.toString() === '[PathToSpecFile]'){ capabilities['ms:edgeOptions'].mobileEmulation = 'iPhone X'; console.log('##########', capabilities); }La salida de la consola muestra que las capacidades se han configurado como se esperaba:
########## { [0-0] maxInstances: 1, [0-0] browserName: 'MicrosoftEdge', [0-0] 'ms:edgeOptions': { [0-0] args: [], [0-0] prefs: { [0-0] 'download.default_directory': '[PATH]' [0-0] }, [0-0] mobileEmulation: 'iPhone X' [0-0] }, [0-0] protocol: 'http', [0-0] hostname: 'localhost', [0-0] port: 4444, [0-0] path: '/wd/hub' [0-0] }Sin embargo, cuando intento crear la sesión, aparece el siguiente error:
ERROR webdriver: Request failed with status 500 due to session not created: Unable to create session from { [0-0] "desiredCapabilities": { [0-0] "browserName": "MicrosoftEdge", [0-0] "ms:edgeOptions": { [0-0] "args": [ [0-0] ], [0-0] "prefs": { [0-0] "download.default_directory": "[PATH]" [0-0] }, [0-0] "mobileEmulation": "iPhone X" [0-0] } [0-0] }, [0-0] "capabilities": { [0-0] "firstMatch": [ [0-0] { [0-0] "browserName": "MicrosoftEdge", [0-0] "ms:edgeOptions": { [0-0] "args": [ [0-0] ], [0-0] "prefs": { [0-0] "download.default_directory": "[PATH]" [0-0] }, [0-0] "mobileEmulation": "iPhone X" [0-0] } [0-0] } [0-0] ] [0-0] } [0-0] } [0-0] Driver info: driver.version: unknown