Question log scénario blog code

Bonjour,

J’ai un léger soucis de code, je suis sur que quelqu’un aura une réponse pour moi :wink:

J’execute Un code python depuis un scénario:

$retour=shell_exec("sudo python3 /home/jeedom/gazpar_mqtt.py");
$scenario->setLog('DEBUG RETOUR : '.$retour);

J’ai ajouté le $retour et le setlog pour que les erreurs arrivent dans le log su scénario directement.

Mon soucis est que ça ne marche pas…

Dans les logs du scénario j’ai:

[2020-09-17 21:07:02][SCENARIO] Start : Scenario execute automatiquement sur programmation.
[2020-09-17 21:07:02][SCENARIO] Exécution du sous-élément de type [action] : code
[2020-09-17 21:07:02][SCENARIO] Exécution d'un bloc code
[2020-09-17 21:08:47][SCENARIO] DEBUG RETOUR : 
[2020-09-17 21:08:47][SCENARIO] Fin correcte du scénario

Et dan le log scenario_execution (dans la page de log) j’ai ça :

Traceback (most recent call last):
  File "/home/jeedom/gazpar_mqtt.py", line 17, in <module>
    client.update()
  File "/usr/local/lib/python3.7/dist-packages/pygazpar/client.py", line 106, in update
    daily_consumption_element.click()
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/remote/webelement.py", line 80, in click
    self._execute(Command.CLICK_ELEMENT)
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/remote/webelement.py", line 633, in _execute
    return self._parent.execute(command, params)
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementClickInterceptedException: Message: Element <label> is not clickable at point (558,569) because another element <div id="mfbIframeOverlay" class="mfbHidden mfbVisible"> obscures it

Je sais que le soucis vient du fait que l’erreur n’est pas un retour du code python mais une exception.

Quelqu’un peut me donner la syntaxe pour que cette exception soit dans les logs du scénario et non les logs globaux?

Hello, si tu rediriges l’output comme ceci il y a du mieux?

$retour=shell_exec("sudo python3 /home/jeedom/gazpar_mqtt.py 2>&1");

2 « J'aime »

Merci, je me doutais bien qu’il y avait une syntaxe pour ça :+1:

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.