function Controller() { installer.installationFinished.connect(function() { gui.clickButton(buttons.NextButton); }); installer.setMessageBoxAutomaticAnswer("OverwriteTargetDirectory", QMessageBox.Yes); installer.setMessageBoxAutomaticAnswer("installationErrorWithRetry", QMessageBox.Ignore); installer.setMessageBoxAutomaticAnswer("cancelInstallation", QMessageBox.Yes); } Controller.prototype.WelcomePageCallback = function() { console.log("Welcome Page"); gui.clickButton(buttons.NextButton, 3000); } Controller.prototype.CredentialsPageCallback = function() { console.log("Credentials Page"); var login = installer.environmentVariable("QT_CI_LOGIN"); var password = installer.environmentVariable("QT_CI_PASSWORD"); if( login === "" || password === "" ) { console.log("No credentials provided - could stuck here forever"); gui.clickButton(buttons.CommitButton); } var widget = gui.currentPageWidget(); widget.loginWidget.EmailLineEdit.setText(login); widget.loginWidget.PasswordLineEdit.setText(password); gui.clickButton(buttons.CommitButton); } Controller.prototype.ComponentSelectionPageCallback = function() { console.log("Select components"); var widget = gui.currentPageWidget(); widget.deselectAll(); widget.selectComponent("qt.qt5.5141.gcc_64"); gui.clickButton(buttons.NextButton); } Controller.prototype.IntroductionPageCallback = function() { console.log("Introduction Page"); console.log("Retrieving meta information from remote repository"); gui.clickButton(buttons.NextButton); } Controller.prototype.TargetDirectoryPageCallback = function() { gui.clickButton(buttons.NextButton); } Controller.prototype.LicenseAgreementPageCallback = function() { console.log("Accept license agreement"); var widget = gui.currentPageWidget(); if (widget != null) { widget.AcceptLicenseRadioButton.setChecked(true); } gui.clickButton(buttons.NextButton); } Controller.prototype.ObligationsPageCallback = function() { console.log("Accept obligation agreement"); var page = gui.pageWidgetByObjectName("ObligationsPage"); page.obligationsAgreement.setChecked(true); page.completeChanged(); gui.clickButton(buttons.NextButton); } Controller.prototype.ReadyForInstallationPageCallback = function() { console.log("Ready to install"); gui.clickButton(buttons.CommitButton); } Controller.prototype.FinishedPageCallback = function() { var widget = gui.currentPageWidget(); if (widget.LaunchQtCreatorCheckBoxForm) { // No this form for minimal platform widget.LaunchQtCreatorCheckBoxForm.launchQtCreatorCheckBox.setChecked(false); } gui.clickButton(buttons.FinishButton); } Controller.prototype.DynamicTelemetryPluginFormCallback = function() { var page = gui.pageWidgetByObjectName("DynamicTelemetryPluginForm"); page.statisticGroupBox.disableStatisticRadioButton.setChecked(true); gui.clickButton(buttons.NextButton); }