diff --git a/tests/functional/test_certification_dialog.py b/tests/functional/test_certification_dialog.py
index 645ded5acacece2d70ecb17c28f849226f7e55a9..a10c086baf097548e8d0c019265d098907da866e 100644
--- a/tests/functional/test_certification_dialog.py
+++ b/tests/functional/test_certification_dialog.py
@@ -3,9 +3,9 @@ import pytest
 from duniterpy.documents import Certification
 from PyQt5.QtCore import QLocale, Qt, QEvent
 from PyQt5.QtTest import QTest
-from PyQt5.QtWidgets import QDialogButtonBox
+from PyQt5.QtWidgets import QDialogButtonBox, QMessageBox
 from sakia.gui.sub.certification.controller import CertificationController
-from ..helpers import click_on_top_message_box
+from ..helpers import click_on_top_message_box_button
 
 
 @pytest.mark.asyncio
@@ -43,7 +43,7 @@ async def test_certification_init_community(application_with_one_connection, fak
         assert certification_dialog.view.button_box.button(QDialogButtonBox.Ok).isEnabled()
         QTest.mouseClick(certification_dialog.view.button_box.button(QDialogButtonBox.Ok), Qt.LeftButton)
         await asyncio.sleep(0.1)
-        click_on_top_message_box()
+        click_on_top_message_box_button(QMessageBox.Yes)
         await asyncio.sleep(0.2)
         assert isinstance(fake_server_with_blockchain.forge.pool[0], Certification)
 
diff --git a/tests/functional/test_connection_cfg_dialog.py b/tests/functional/test_connection_cfg_dialog.py
index 8d0f91980acb25339b6c948127d50e679b894807..10599d381748e8ab0e917f35ee5f2239976424bb 100644
--- a/tests/functional/test_connection_cfg_dialog.py
+++ b/tests/functional/test_connection_cfg_dialog.py
@@ -5,7 +5,7 @@ from PyQt5.QtCore import Qt
 from PyQt5.QtTest import QTest
 from sakia.data.processors import ConnectionsProcessor, BlockchainProcessor
 from sakia.gui.dialogs.connection_cfg import ConnectionConfigController
-from ..helpers import click_on_top_message_box, select_file_dialog
+from ..helpers import select_file_dialog, accept_dialog
 
 
 def assert_key_parameters_behaviour(connection_config_dialog, user):
@@ -59,12 +59,11 @@ async def test_register_empty_blockchain(application, fake_server, bob, tmpdir):
         await asyncio.sleep(1)
         select_file_dialog(str(revocation_file))
         await asyncio.sleep(1)
-        click_on_top_message_box()
         await asyncio.sleep(1)
         revocation_file.ensure()
         assert connection_config_dialog.view.stacked_pages.currentWidget() == connection_config_dialog.view.page_services
         assert len(ConnectionsProcessor.instanciate(application).connections()) == 1
-        click_on_top_message_box()
+        accept_dialog("Registration")
 
     application.loop.call_later(10, close_dialog)
     asyncio.ensure_future(exec_test())
@@ -90,12 +89,10 @@ async def test_connect(application, fake_server_with_blockchain, bob):
         assert connection_config_dialog.view.stacked_pages.currentWidget() == connection_config_dialog.view.page_connection
         assert_key_parameters_behaviour(connection_config_dialog, bob)
         QTest.mouseClick(connection_config_dialog.view.button_next, Qt.LeftButton)
-        await asyncio.sleep(1)
+        await asyncio.sleep(0.1)
 
         assert connection_config_dialog.view.stacked_pages.currentWidget() == connection_config_dialog.view.page_services
         assert len(ConnectionsProcessor.instanciate(application).connections()) == 1
-        click_on_top_message_box()
-
     application.loop.call_later(10, close_dialog)
     asyncio.ensure_future(exec_test())
     await connection_config_dialog.async_exec()
diff --git a/tests/helpers.py b/tests/helpers.py
index 6e340a192f67ba608fcb3ce94536c62f7501e72d..aaeb4cdcbb0d8d5d3931295d294ecb35130ac062 100644
--- a/tests/helpers.py
+++ b/tests/helpers.py
@@ -3,13 +3,18 @@ from PyQt5.QtCore import Qt
 from PyQt5.QtTest import QTest
 
 
-def click_on_top_message_box():
+
+def click_on_top_message_box_button(button):
     topWidgets = QApplication.topLevelWidgets()
     for w in topWidgets:
         if isinstance(w, QMessageBox):
-            QTest.keyClick(w, Qt.Key_Enter)
-        elif isinstance(w, QDialog) and w.windowTitle() == "Registration":
-            QTest.keyClick(w, Qt.Key_Enter)
+            QTest.mouseClick(w.button(button), Qt.LeftButton)
+
+def accept_dialog(title):
+    topWidgets = QApplication.topLevelWidgets()
+    for w in topWidgets:
+        if isinstance(w, QDialog) and w.windowTitle() == title:
+            w.accept()
 
 def select_file_dialog(filename):
     topWidgets = QApplication.topLevelWidgets()