Я использую pytest-qt для автоматизации тестирования PyQt GUI.Диалоги должны быть обработаны как часть тестирования (диалоги не должны быть смоделированы).
Например, должен быть обработан диалог с файлом, который появляется после нажатия кнопки.Есть 2 проблемы
После команды нажатия кнопки управление программой переходит к обработчику событий, а не к следующей строке, где я могу попытаться отправить щелчок мыши / нажатия клавиш в диалоговом окне.
Поскольку QDialog не добавляется в основной виджет, он не отображается среди дочерних элементов основного виджета.Итак, как получить ссылку на QDialog?
Я пробовал многопоточность, но это не сработало, позже я обнаружил, что объекты QObject не являются потоко-безопасными.
def test_filedialog(qtbot, window):
qtbot.mouseClick(window.browseButton, QtCore.Qt.LeftButton, delay=1)
print("After mouse click")
#This is where I need to get the reference of QDialog and handle it