mirror of
https://github.com/status-im/status-desktop.git
synced 2025-01-10 22:36:24 +00:00
Ci/74 jenkins file (#142)
* OS native dialog replaced on Qt dialog * Starting fluxbox added to make File Dialog visible
This commit is contained in:
parent
b9129b96af
commit
0c63fc6f93
test/e2e
ci
gui
components
back_up_your_seed_phrase_banner.pyback_up_your_seed_phrase_popup.pybase_popup.pychange_password_popup.pycolor_select_popup.py
community
authenticate_popup.pycommunity_channel_popups.pycreate_community_popups.pyinvite_contacts.pytags_select_popup.pywelcome_community.py
context_menu.pydelete_popup.pyemoji_popup.pyonboarding
os
picture_edit_popup.pyprofile_popup.pysettings
signing_phrase_popup.pysocial_links_popup.pysplash_screen.pyuser_canvas.pywallet
elements
main_window.pyobjects_map
screens
tests/wallet
15
test/e2e/ci/Jenkinsfile
vendored
15
test/e2e/ci/Jenkinsfile
vendored
@ -7,6 +7,10 @@ pipeline {
|
||||
}
|
||||
|
||||
environment {
|
||||
QT_QPA_PLATFORMTHEME = "qt5ct"
|
||||
QT_LOGGING_DEBUG = 1
|
||||
QT_DEBUG_PLUGINS = 1
|
||||
|
||||
SQUISH_DIR = "/opt/squish-runner-7.1-20230222-1555"
|
||||
PYTHONPATH = "${SQUISH_DIR}/lib:${SQUISH_DIR}/lib/python:${PYTHONPATH}"
|
||||
LD_LIBRARY_PATH = "${SQUISH_DIR}/lib:${SQUISH_DIR}/python3/lib:${LD_LIBRARY_PATH}"
|
||||
@ -16,11 +20,6 @@ pipeline {
|
||||
}
|
||||
|
||||
parameters {
|
||||
string(
|
||||
name: 'BRANCH',
|
||||
description: 'Paste a branch name from test repository.',
|
||||
defaultValue: 'master'
|
||||
)
|
||||
string(
|
||||
name: 'BUILD',
|
||||
description: 'Paste a number of PR that you want to test.',
|
||||
@ -67,8 +66,7 @@ pipeline {
|
||||
)
|
||||
def pkg_path = "${env.WORKSPACE}/${utils.findFile('tmp/pkg/*-x86_64.tar.gz')}"
|
||||
sh "tar -zxvf '${pkg_path}' -C '${env.WORKSPACE}/tmp'"
|
||||
def app_dir = "${env.WORKSPACE}/${utils.findFile('tmp/*.AppImage')}"
|
||||
env.APP_DIR = app_dir
|
||||
env.APP_DIR = "${env.WORKSPACE}/${utils.findFile('tmp/*.AppImage')}"
|
||||
} }
|
||||
}
|
||||
|
||||
@ -82,9 +80,10 @@ pipeline {
|
||||
steps { wrap([
|
||||
$class: 'Xvfb',
|
||||
autoDisplayName: true,
|
||||
parallelBuild: false,
|
||||
parallelBuild: true,
|
||||
screen: '1920x1080x24',
|
||||
]) { script {
|
||||
sh "fluxbox &"
|
||||
env.TESTRAIL_USR = "${CREDS_USR}"
|
||||
env.TESTRAIL_PWD = "${CREDS_PSW}"
|
||||
def cmd = ''
|
||||
|
@ -1,4 +1,4 @@
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.object import QObject
|
||||
|
||||
|
||||
class BackUpSeedPhraseBanner(QObject):
|
||||
|
@ -4,13 +4,11 @@ import typing
|
||||
|
||||
import allure
|
||||
|
||||
import configs.timeouts
|
||||
import driver
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.check_box import CheckBox
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.qt.text_edit import TextEdit
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.check_box import CheckBox
|
||||
from gui.elements.object import QObject
|
||||
from gui.elements.text_edit import TextEdit
|
||||
|
||||
|
||||
class BackUpYourSeedPhrasePopUp(BasePopup):
|
||||
|
@ -1,7 +1,7 @@
|
||||
import allure
|
||||
|
||||
import driver
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.object import QObject
|
||||
|
||||
|
||||
class BasePopup(QObject):
|
||||
|
@ -1,8 +1,8 @@
|
||||
import allure
|
||||
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.text_edit import TextEdit
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.text_edit import TextEdit
|
||||
|
||||
|
||||
class ChangePasswordPopup(BasePopup):
|
||||
|
@ -2,8 +2,8 @@ import allure
|
||||
|
||||
import configs
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.text_edit import TextEdit
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.text_edit import TextEdit
|
||||
|
||||
|
||||
class ColorSelectPopup(BasePopup):
|
||||
|
@ -2,9 +2,9 @@ import allure
|
||||
|
||||
import configs
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.qt.text_edit import TextEdit
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.object import QObject
|
||||
from gui.elements.text_edit import TextEdit
|
||||
|
||||
|
||||
class AuthenticatePopup(BasePopup):
|
||||
|
@ -1,8 +1,8 @@
|
||||
import configs
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.components.emoji_popup import EmojiPopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.text_edit import TextEdit
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.text_edit import TextEdit
|
||||
|
||||
|
||||
class ChannelPopup(BasePopup):
|
||||
|
@ -8,10 +8,10 @@ from gui.components.color_select_popup import ColorSelectPopup
|
||||
from gui.components.community.tags_select_popup import TagsSelectPopup
|
||||
from gui.components.os.open_file_dialogs import OpenFileDialog
|
||||
from gui.components.picture_edit_popup import PictureEditPopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.check_box import CheckBox
|
||||
from gui.elements.qt.scroll import Scroll
|
||||
from gui.elements.qt.text_edit import TextEdit
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.check_box import CheckBox
|
||||
from gui.elements.scroll import Scroll
|
||||
from gui.elements.text_edit import TextEdit
|
||||
from gui.screens.community import CommunityScreen
|
||||
|
||||
|
||||
|
@ -5,9 +5,9 @@ import allure
|
||||
import configs.timeouts
|
||||
import driver
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.qt.text_edit import TextEdit
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.object import QObject
|
||||
from gui.elements.text_edit import TextEdit
|
||||
|
||||
|
||||
class InviteContactsPopup(BasePopup):
|
||||
|
@ -6,8 +6,8 @@ import allure
|
||||
import configs
|
||||
import driver
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.object import QObject
|
||||
|
||||
|
||||
class TagsSelectPopup(BasePopup):
|
||||
|
@ -2,9 +2,9 @@ import allure
|
||||
|
||||
from gui.components.community.authenticate_popup import AuthenticatePopup
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.qt.text_label import TextLabel
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.object import QObject
|
||||
from gui.elements.text_label import TextLabel
|
||||
from scripts.tools.image import Image
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
import allure
|
||||
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.object import QObject
|
||||
|
||||
|
||||
class ContextMenu(QObject):
|
||||
|
@ -1,7 +1,7 @@
|
||||
import allure
|
||||
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.button import Button
|
||||
|
||||
|
||||
class DeletePopup(BasePopup):
|
||||
|
@ -2,8 +2,8 @@ import allure
|
||||
|
||||
import configs
|
||||
from .base_popup import BasePopup
|
||||
from ..elements.qt.object import QObject
|
||||
from ..elements.qt.text_edit import TextEdit
|
||||
from gui.elements.object import QObject
|
||||
from gui.elements.text_edit import TextEdit
|
||||
|
||||
|
||||
class EmojiPopup(BasePopup):
|
||||
|
@ -1,9 +1,9 @@
|
||||
import allure
|
||||
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.check_box import CheckBox
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.check_box import CheckBox
|
||||
from gui.elements.object import QObject
|
||||
|
||||
|
||||
class BeforeStartedPopUp(BasePopup):
|
||||
|
@ -1,8 +1,8 @@
|
||||
import allure
|
||||
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.check_box import CheckBox
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.check_box import CheckBox
|
||||
|
||||
|
||||
class BetaConsentPopup(BasePopup):
|
||||
|
@ -1,22 +0,0 @@
|
||||
import allure
|
||||
|
||||
import constants.commands
|
||||
import driver
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.text_edit import TextEdit
|
||||
from gui.elements.qt.window import Window
|
||||
from scripts.utils.system_path import SystemPath
|
||||
|
||||
|
||||
class OpenFileDialog(Window):
|
||||
|
||||
def __init__(self):
|
||||
super(OpenFileDialog, self).__init__('please_choose_an_image_QQuickWindow')
|
||||
self._path_text_edit = TextEdit('titleBar_textInput_TextInputWithHandles')
|
||||
self._open_button = Button('please_choose_an_image_Open_Button')
|
||||
|
||||
@allure.step('Open file')
|
||||
def open_file(self, fp: SystemPath):
|
||||
self._path_text_edit.text = str(fp)
|
||||
driver.type(self._path_text_edit.object, f'<{constants.commands.RETURN}>')
|
||||
self.wait_until_hidden()
|
@ -1,59 +0,0 @@
|
||||
import logging
|
||||
import time
|
||||
|
||||
import allure
|
||||
|
||||
import constants
|
||||
import driver
|
||||
from gui.elements.os.mac.button import Button
|
||||
from gui.elements.os.mac.object import NativeObject
|
||||
from gui.elements.os.mac.text_edit import TextEdit
|
||||
from scripts.utils.system_path import SystemPath
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class OpenFileDialog(NativeObject):
|
||||
|
||||
def __init__(self):
|
||||
super(OpenFileDialog, self).__init__('openFileDialog')
|
||||
self._open_button = Button('openButton')
|
||||
|
||||
def _open_go_to_dialog(self, attempt: int = 2):
|
||||
# Set focus
|
||||
driver.nativeMouseClick(int(self.bounds.x + 10), int(self.bounds.y + 10), driver.Qt.LeftButton)
|
||||
time.sleep(1)
|
||||
driver.nativeType(f'<{constants.commands.OPEN_GOTO}>')
|
||||
try:
|
||||
return _GoToDialog().wait_until_appears()
|
||||
except LookupError as err:
|
||||
_logger.debug(err)
|
||||
if attempt:
|
||||
self._open_go_to_dialog(attempt - 1)
|
||||
else:
|
||||
raise err
|
||||
|
||||
@allure.step('Open file')
|
||||
def open_file(self, fp: SystemPath):
|
||||
# Set focus
|
||||
driver.nativeMouseClick(int(self.bounds.x + 10), int(self.bounds.y + 10), driver.Qt.LeftButton)
|
||||
time.sleep(1)
|
||||
driver.nativeType(f'<{constants.commands.OPEN_GOTO}>')
|
||||
self._open_go_to_dialog().select_file(fp)
|
||||
self._open_button.click()
|
||||
self.wait_until_hidden()
|
||||
|
||||
|
||||
class _GoToDialog(NativeObject):
|
||||
|
||||
def __init__(self):
|
||||
self.go_to_text_edit = TextEdit('pathTextField')
|
||||
super(_GoToDialog, self).__init__('goToDialog')
|
||||
|
||||
@allure.step('Select file')
|
||||
def select_file(self, fp: SystemPath):
|
||||
self.go_to_text_edit.text = str(fp)
|
||||
driver.nativeMouseClick(int(self.bounds.x + 10), int(self.bounds.y + 10), driver.Qt.LeftButton)
|
||||
time.sleep(1)
|
||||
driver.nativeType(f'<{constants.commands.RETURN}>')
|
||||
self.wait_until_hidden()
|
@ -1,12 +1,24 @@
|
||||
import configs
|
||||
import logging
|
||||
|
||||
if configs.system.IS_WIN:
|
||||
from .win.open_file_dialogs import OpenFileDialog as BaseOpenFileDialog
|
||||
elif configs.system.IS_MAC:
|
||||
from .mac.open_file_dialogs import OpenFileDialog as BaseOpenFileDialog
|
||||
else:
|
||||
from .lin.open_file_dialog import OpenFileDialog as BaseOpenFileDialog
|
||||
import allure
|
||||
|
||||
import driver
|
||||
from gui.elements.text_edit import TextEdit
|
||||
from gui.elements.window import Window
|
||||
from scripts.utils.system_path import SystemPath
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class OpenFileDialog(BaseOpenFileDialog):
|
||||
pass
|
||||
class OpenFileDialog(Window):
|
||||
|
||||
def __init__(self):
|
||||
super(OpenFileDialog, self).__init__('chooseAnImageALogo_QQuickWindow')
|
||||
self._file_path_text_edit = TextEdit('titleBar_currentPathField_TextField')
|
||||
|
||||
@allure.step('Open file')
|
||||
def open_file(self, fp: SystemPath):
|
||||
driver.type(self._file_path_text_edit.object, "<Ctrl+A>")
|
||||
driver.type(self._file_path_text_edit.object, str(fp))
|
||||
driver.type(self._file_path_text_edit.object, "<Return>")
|
||||
self.wait_until_hidden()
|
||||
|
@ -1,24 +0,0 @@
|
||||
import logging
|
||||
|
||||
import allure
|
||||
|
||||
from gui.elements.os.win.button import Button
|
||||
from gui.elements.os.win.object import NativeObject
|
||||
from gui.elements.os.win.text_edit import TextEdit
|
||||
from scripts.utils.system_path import SystemPath
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class OpenFileDialog(NativeObject):
|
||||
|
||||
def __init__(self):
|
||||
super().__init__('file_Dialog')
|
||||
self._file_path_text_edit = TextEdit('choose_file_Edit')
|
||||
self._select_button = Button('choose_Open_Button')
|
||||
|
||||
@allure.step('Open file')
|
||||
def open_file(self, fp: SystemPath):
|
||||
self._file_path_text_edit.text = str(fp)
|
||||
self._select_button.click()
|
||||
self.wait_until_hidden()
|
@ -5,9 +5,9 @@ import allure
|
||||
|
||||
import driver.mouse
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.qt.slider import Slider
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.object import QObject
|
||||
from gui.elements.slider import Slider
|
||||
|
||||
shift_image = namedtuple('Shift', ['left', 'right', 'top', 'bottom'])
|
||||
|
||||
|
@ -4,9 +4,9 @@ import pyperclip
|
||||
import constants
|
||||
import driver
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.qt.text_label import TextLabel
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.object import QObject
|
||||
from gui.elements.text_label import TextLabel
|
||||
from gui.screens.settings import ProfileSettingsView
|
||||
from scripts.tools.image import Image
|
||||
|
||||
|
@ -1,9 +1,7 @@
|
||||
import allure
|
||||
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.qt.text_edit import TextEdit
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.object import QObject
|
||||
|
||||
|
||||
class ChangesDetectedToastMessage(QObject):
|
||||
|
@ -1,8 +1,8 @@
|
||||
import allure
|
||||
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.text_edit import TextEdit
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.text_edit import TextEdit
|
||||
|
||||
|
||||
class SendContactRequest(BasePopup):
|
||||
|
@ -2,8 +2,8 @@ import allure
|
||||
import pyperclip
|
||||
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.text_edit import TextEdit
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.text_edit import TextEdit
|
||||
|
||||
|
||||
class SyncNewDevicePopup(BasePopup):
|
||||
|
@ -1,7 +1,7 @@
|
||||
import allure
|
||||
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.button import Button
|
||||
|
||||
|
||||
class SigningPhrasePopup(BasePopup):
|
||||
|
@ -4,9 +4,9 @@ import typing
|
||||
import allure
|
||||
|
||||
from .base_popup import BasePopup
|
||||
from ..elements.qt.button import Button
|
||||
from ..elements.qt.object import QObject
|
||||
from ..elements.qt.text_edit import TextEdit
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.object import QObject
|
||||
from gui.elements.text_edit import TextEdit
|
||||
|
||||
|
||||
class SocialLinksPopup(BasePopup):
|
||||
|
@ -2,7 +2,7 @@ import allure
|
||||
|
||||
import configs
|
||||
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.object import QObject
|
||||
|
||||
|
||||
class SplashScreen(QObject):
|
||||
|
@ -6,9 +6,9 @@ import configs
|
||||
import constants
|
||||
import driver
|
||||
from gui.components.profile_popup import ProfilePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.qt.text_label import TextLabel
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.object import QObject
|
||||
from gui.elements.text_label import TextLabel
|
||||
|
||||
|
||||
class UserCanvas(QObject):
|
||||
|
@ -1,11 +1,11 @@
|
||||
import allure
|
||||
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.check_box import CheckBox
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.qt.text_edit import TextEdit
|
||||
from gui.elements.qt.text_label import TextLabel
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.check_box import CheckBox
|
||||
from gui.elements.object import QObject
|
||||
from gui.elements.text_edit import TextEdit
|
||||
from gui.elements.text_label import TextLabel
|
||||
|
||||
|
||||
class AddSavedAddressPopup(BasePopup):
|
||||
|
@ -1,8 +1,8 @@
|
||||
import allure
|
||||
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.text_edit import TextEdit
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.text_edit import TextEdit
|
||||
from gui.elements.object import QObject
|
||||
|
||||
|
||||
class AuthenticatePopup(QObject):
|
||||
|
@ -3,12 +3,11 @@ import typing
|
||||
import allure
|
||||
|
||||
import configs
|
||||
from driver.toplevel_window import set_focus
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.check_box import CheckBox
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.qt.text_edit import TextEdit
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.check_box import CheckBox
|
||||
from gui.elements.object import QObject
|
||||
from gui.elements.text_edit import TextEdit
|
||||
|
||||
|
||||
class BackUpYourSeedPhrasePopUp(BasePopup):
|
||||
|
@ -1,7 +1,7 @@
|
||||
import allure
|
||||
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.object import QObject
|
||||
|
||||
|
||||
class ConfirmationPopup(QObject):
|
||||
|
@ -2,8 +2,8 @@ import allure
|
||||
|
||||
import configs
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.check_box import CheckBox
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.check_box import CheckBox
|
||||
|
||||
|
||||
class RemoveWalletAccountPopup(BasePopup):
|
||||
|
@ -1,5 +1,5 @@
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.object import QObject
|
||||
from gui.elements.button import Button
|
||||
|
||||
|
||||
class TestnetModeBanner(QObject):
|
||||
|
@ -1,7 +1,7 @@
|
||||
import allure
|
||||
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.button import Button
|
||||
|
||||
|
||||
class TestnetModePopup(BasePopup):
|
||||
|
@ -9,11 +9,11 @@ import driver
|
||||
from gui.components.wallet.back_up_your_seed_phrase_popup import BackUpYourSeedPhrasePopUp
|
||||
from gui.components.base_popup import BasePopup
|
||||
from gui.components.emoji_popup import EmojiPopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.check_box import CheckBox
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.qt.scroll import Scroll
|
||||
from gui.elements.qt.text_edit import TextEdit
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.check_box import CheckBox
|
||||
from gui.elements.object import QObject
|
||||
from gui.elements.scroll import Scroll
|
||||
from gui.elements.text_edit import TextEdit
|
||||
|
||||
GENERATED_PAGES_LIMIT = 20
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
import allure
|
||||
|
||||
from driver import objects_access
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.object import QObject
|
||||
|
||||
|
||||
class WalletToastMessage(QObject):
|
||||
|
@ -3,7 +3,7 @@ import typing
|
||||
import allure
|
||||
|
||||
import driver
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.object import QObject
|
||||
|
||||
|
||||
class Button(QObject):
|
@ -2,7 +2,7 @@ import allure
|
||||
|
||||
import configs
|
||||
import driver
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.object import QObject
|
||||
|
||||
|
||||
class CheckBox(QObject):
|
@ -5,7 +5,7 @@ import allure
|
||||
|
||||
import configs
|
||||
import driver
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.object import QObject
|
||||
|
||||
|
||||
class List(QObject):
|
@ -1,10 +0,0 @@
|
||||
import allure
|
||||
|
||||
from .object import NativeObject
|
||||
|
||||
|
||||
class Button(NativeObject):
|
||||
|
||||
@allure.step('Click {0}')
|
||||
def click(self):
|
||||
self.object.Press()
|
@ -1,48 +0,0 @@
|
||||
import logging
|
||||
|
||||
import allure
|
||||
|
||||
import driver
|
||||
from gui.elements.base_object import BaseObject
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class NativeObject(BaseObject):
|
||||
|
||||
def __init__(self, name: str):
|
||||
super().__init__(name)
|
||||
|
||||
@property
|
||||
@allure.step('Get object {0}')
|
||||
def object(self):
|
||||
return driver.atomacos.wait_for_object(self.real_name)
|
||||
|
||||
@property
|
||||
@allure.step('Get visible {0}')
|
||||
def is_visible(self):
|
||||
try:
|
||||
return self.object is not None
|
||||
except (LookupError, ValueError) as err:
|
||||
_logger.debug(err)
|
||||
return False
|
||||
|
||||
@property
|
||||
@allure.step('Get bounds {0}')
|
||||
def bounds(self):
|
||||
return self.object.AXFrame
|
||||
|
||||
@property
|
||||
@allure.step('Get width {0}')
|
||||
def width(self) -> int:
|
||||
return int(self.object.AXSize.width)
|
||||
|
||||
@property
|
||||
@allure.step('Get height {0}')
|
||||
def height(self) -> int:
|
||||
return int(self.object.AXSize.height)
|
||||
|
||||
@property
|
||||
@allure.step('Get central coordinate {0}')
|
||||
def center(self):
|
||||
return self.bounds.center()
|
@ -1,14 +0,0 @@
|
||||
import driver
|
||||
from .object import NativeObject
|
||||
|
||||
|
||||
class TextEdit(NativeObject):
|
||||
|
||||
@property
|
||||
def text(self) -> str:
|
||||
return str(self.object.AXValue)
|
||||
|
||||
@text.setter
|
||||
def text(self, value: str):
|
||||
self.object.setString('AXValue', value)
|
||||
driver.waitFor(lambda: self.text == value)
|
@ -1,10 +0,0 @@
|
||||
import allure
|
||||
|
||||
from .object import NativeObject
|
||||
|
||||
|
||||
class Button(NativeObject):
|
||||
|
||||
@allure.step('Click {0}')
|
||||
def click(self):
|
||||
super().click()
|
@ -1,42 +0,0 @@
|
||||
import logging
|
||||
|
||||
import allure
|
||||
|
||||
import driver
|
||||
from gui.elements.base_object import BaseObject
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class NativeObject(BaseObject):
|
||||
|
||||
def __init__(self, name: str):
|
||||
super().__init__(name)
|
||||
|
||||
@property
|
||||
@allure.step('Get object {0}')
|
||||
def object(self):
|
||||
return driver.waitForObject(self.real_name)
|
||||
|
||||
@property
|
||||
@allure.step('Get visible {0}')
|
||||
def is_visible(self):
|
||||
try:
|
||||
driver.waitForObject(self.real_name, 1)
|
||||
return True
|
||||
except (AttributeError, LookupError, RuntimeError):
|
||||
return False
|
||||
|
||||
@property
|
||||
@allure.step('Get bounds {0}')
|
||||
def bounds(self):
|
||||
return driver.object.globalBounds(self.object)
|
||||
|
||||
@property
|
||||
@allure.step('Get central coordinate {0}')
|
||||
def center(self):
|
||||
return self.bounds.center()
|
||||
|
||||
@allure.step('Click {0}')
|
||||
def click(self):
|
||||
driver.mouseClick(self.object)
|
@ -1,32 +0,0 @@
|
||||
import allure
|
||||
|
||||
import configs
|
||||
import constants
|
||||
import driver
|
||||
from .object import NativeObject
|
||||
|
||||
|
||||
class TextEdit(NativeObject):
|
||||
|
||||
@property
|
||||
@allure.step('Get current text {0}')
|
||||
def text(self) -> str:
|
||||
return str(self.object.text)
|
||||
|
||||
@text.setter
|
||||
@allure.step('Type: {1} {0}')
|
||||
def text(self, value: str):
|
||||
self.clear()
|
||||
driver.nativeType(value)
|
||||
assert driver.waitFor(lambda: self.text == value, configs.timeouts.UI_LOAD_TIMEOUT_MSEC), \
|
||||
f'Type text failed, value in field: "{self.text}", expected: {value}'
|
||||
|
||||
@allure.step('Clear {0}')
|
||||
def clear(self):
|
||||
# Set focus
|
||||
driver.nativeMouseClick(int(self.center.x), int(self.center.y), driver.Qt.LeftButton)
|
||||
driver.type(self.object, f'<{constants.commands.SELECT_ALL}>')
|
||||
driver.type(self.object, f'<{constants.commands.BACKSPACE}>')
|
||||
assert driver.waitFor(lambda: not self.text), \
|
||||
f'Clear text field failed, value in field: "{self.text}"'
|
||||
return self
|
@ -1,6 +1,6 @@
|
||||
import allure
|
||||
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.object import QObject
|
||||
|
||||
|
||||
class Slider(QObject):
|
@ -2,7 +2,7 @@ import allure
|
||||
|
||||
import configs
|
||||
import driver
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.object import QObject
|
||||
|
||||
|
||||
class TextEdit(QObject):
|
@ -1,6 +1,6 @@
|
||||
import allure
|
||||
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.object import QObject
|
||||
|
||||
|
||||
class TextLabel(QObject):
|
@ -4,7 +4,7 @@ import allure
|
||||
|
||||
import configs
|
||||
import driver
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.object import QObject
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
@ -12,9 +12,9 @@ from gui.components.onboarding.before_started_popup import BeforeStartedPopUp
|
||||
from gui.components.onboarding.beta_consent_popup import BetaConsentPopup
|
||||
from gui.components.splash_screen import SplashScreen
|
||||
from gui.components.user_canvas import UserCanvas
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.qt.window import Window
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.object import QObject
|
||||
from gui.elements.window import Window
|
||||
from gui.screens.community import CommunityScreen
|
||||
from gui.screens.community_portal import CommunitiesPortal
|
||||
from gui.screens.messages import MessagesScreen
|
||||
|
@ -1,25 +1,7 @@
|
||||
""" MAC """
|
||||
from objectmaphelper import *
|
||||
|
||||
# Open Files Dialog
|
||||
mainWindow = {"AXRole": "AXWindow", "AXMain": True}
|
||||
openFileDialog = {"container": mainWindow, "AXRole": "AXSheet", "AXIdentifier": "open-panel"}
|
||||
openButton = {"container": openFileDialog, "AXRole": "AXButton", "AXIdentifier": "OKButton"}
|
||||
chooseAnImageALogo_QQuickWindow = {"title": RegularExpression("Choose.*"), "type": "QQuickWindow", "unnamed": 1, "visible": True}
|
||||
choose_an_image_as_logo_titleBar_ToolBar = {"container": chooseAnImageALogo_QQuickWindow, "id": "titleBar", "type": "ToolBar", "unnamed": 1, "visible": True}
|
||||
titleBar_currentPathField_TextField = {"container": choose_an_image_as_logo_titleBar_ToolBar, "id": "currentPathField", "type": "TextField", "unnamed": 1, "visible": True}
|
||||
|
||||
# Go To Dialog
|
||||
goToDialog = {"container": openFileDialog, "AXRole": "AXSheet", "AXIdentifier": "GoToWindow"}
|
||||
pathTextField = {"container": goToDialog, "AXRole": "AXTextField", "AXIdentifier": "PathTextField"}
|
||||
|
||||
""" WINDOWS """
|
||||
# Open File Dialog
|
||||
file_Dialog = {"type": "Dialog"}
|
||||
choose_file_Edit = {"container": file_Dialog, "type": "Edit"}
|
||||
choose_Open_Button = {"container": file_Dialog, "text": "Open", "type": "Button"}
|
||||
|
||||
""" LINUX """
|
||||
# Open File Dialog
|
||||
# Select Image Dialog
|
||||
please_choose_an_image_QQuickWindow = {"type": "QQuickWindow", "unnamed": 1, "visible": True}
|
||||
please_choose_an_image_Open_Button = {"container": please_choose_an_image_QQuickWindow, "id": "okButton", "type": "Button", "unnamed": 1, "visible": True}
|
||||
please_choose_an_image_titleBar_ToolBar = {"container": please_choose_an_image_QQuickWindow, "id": "titleBar", "type": "ToolBar", "unnamed": 1, "visible": True}
|
||||
titleBar_textInput_TextInputWithHandles = {"container": please_choose_an_image_QQuickWindow, "echoMode": 0, "id": "textInput", "type": "TextInputWithHandles", "unnamed": 1, "visible": True}
|
||||
view_listView_ListView = {"container": please_choose_an_image_QQuickWindow, "id": "listView", "type": "ListView", "unnamed": 1, "visible": True}
|
||||
rowitem_Text = {"container": view_listView_ListView, "type": "Text", "unnamed": 1, "visible": True}
|
||||
|
@ -8,10 +8,10 @@ from constants import UserChannel
|
||||
from gui.components.community.community_channel_popups import EditChannelPopup, NewChannelPopup
|
||||
from gui.components.community.welcome_community import WelcomeCommunityPopup
|
||||
from gui.components.delete_popup import DeletePopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.list import List
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.qt.text_label import TextLabel
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.list import List
|
||||
from gui.elements.object import QObject
|
||||
from gui.elements.text_label import TextLabel
|
||||
from gui.screens.community_settings import CommunitySettingsScreen
|
||||
from scripts.tools import image
|
||||
from scripts.tools.image import Image
|
||||
|
@ -1,8 +1,8 @@
|
||||
import allure
|
||||
|
||||
from gui.components.community.create_community_popups import CreateCommunitiesBanner, CreateCommunityPopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.object import QObject
|
||||
|
||||
|
||||
class CommunitiesPortal(QObject):
|
||||
|
@ -7,12 +7,12 @@ from gui.components.color_select_popup import ColorSelectPopup
|
||||
from gui.components.community.tags_select_popup import TagsSelectPopup
|
||||
from gui.components.os.open_file_dialogs import OpenFileDialog
|
||||
from gui.components.picture_edit_popup import PictureEditPopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.check_box import CheckBox
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.qt.scroll import Scroll
|
||||
from gui.elements.qt.text_edit import TextEdit
|
||||
from gui.elements.qt.text_label import TextLabel
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.check_box import CheckBox
|
||||
from gui.elements.object import QObject
|
||||
from gui.elements.scroll import Scroll
|
||||
from gui.elements.text_edit import TextEdit
|
||||
from gui.elements.text_label import TextLabel
|
||||
from scripts.tools.image import Image
|
||||
|
||||
|
||||
|
@ -7,15 +7,11 @@ import allure
|
||||
import configs
|
||||
import driver
|
||||
from driver.objects_access import walk_children
|
||||
from gui.components.context_menu import ContextMenu
|
||||
from gui.components.messaging.edit_group_name_and_image_popup import EditGroupNameAndImagePopup
|
||||
from gui.components.messaging.leave_group_popup import LeaveGroupPopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.list import List
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.qt.scroll import Scroll
|
||||
from gui.elements.qt.text_edit import TextEdit
|
||||
from gui.elements.qt.text_label import TextLabel
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.list import List
|
||||
from gui.elements.object import QObject
|
||||
from gui.elements.scroll import Scroll
|
||||
from gui.elements.text_edit import TextEdit
|
||||
from gui.screens.community import CommunityScreen
|
||||
from scripts.tools.image import Image
|
||||
|
||||
|
@ -10,10 +10,10 @@ import constants.tesseract
|
||||
import driver
|
||||
from gui.components.os.open_file_dialogs import OpenFileDialog
|
||||
from gui.components.picture_edit_popup import PictureEditPopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.qt.text_edit import TextEdit
|
||||
from gui.elements.qt.text_label import TextLabel
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.object import QObject
|
||||
from gui.elements.text_edit import TextEdit
|
||||
from gui.elements.text_label import TextLabel
|
||||
from scripts.tools.image import Image
|
||||
from scripts.utils.system_path import SystemPath
|
||||
|
||||
|
@ -19,13 +19,13 @@ from gui.components.settings.sync_new_device_popup import SyncNewDevicePopup
|
||||
from gui.components.social_links_popup import SocialLinksPopup
|
||||
from gui.components.wallet.testnet_mode_popup import TestnetModePopup
|
||||
from gui.components.wallet.wallet_account_popups import AccountPopup
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.check_box import CheckBox
|
||||
from gui.elements.qt.list import List
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.qt.scroll import Scroll
|
||||
from gui.elements.qt.text_edit import TextEdit
|
||||
from gui.elements.qt.text_label import TextLabel
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.check_box import CheckBox
|
||||
from gui.elements.list import List
|
||||
from gui.elements.object import QObject
|
||||
from gui.elements.scroll import Scroll
|
||||
from gui.elements.text_edit import TextEdit
|
||||
from gui.elements.text_label import TextLabel
|
||||
from gui.screens.community_settings import CommunitySettingsScreen
|
||||
from gui.screens.messages import MessagesScreen
|
||||
from scripts.tools.image import Image
|
||||
|
@ -12,9 +12,9 @@ from gui.components.wallet.confirmation_popup import ConfirmationPopup
|
||||
from gui.components.wallet.remove_wallet_account_popup import RemoveWalletAccountPopup
|
||||
from gui.components.wallet.wallet_account_popups import AccountPopup
|
||||
from gui.components.context_menu import ContextMenu
|
||||
from gui.elements.qt.button import Button
|
||||
from gui.elements.qt.object import QObject
|
||||
from gui.elements.qt.text_label import TextLabel
|
||||
from gui.elements.button import Button
|
||||
from gui.elements.object import QObject
|
||||
from gui.elements.text_label import TextLabel
|
||||
from scripts.utils.decorators import close_exists
|
||||
|
||||
|
||||
|
@ -144,9 +144,8 @@ def test_settings_networks_edit_restore_defaults(main_screen: MainWindow):
|
||||
with step('Click in Main JSON RPC URL and paste incorrect URL'):
|
||||
edit_network_form.edit_network_main_json_rpc_url_input("https://eth-archival.gateway.pokt.network/v1/lb/")
|
||||
|
||||
with step('Check error message for Main JSON RPC URL input'):
|
||||
assert driver.waitFor(
|
||||
lambda: edit_network_form.get_main_rpc_url_error_message_text() == WalletEditNetworkErrorMessages.PINGUNSUCCESSFUL.value)
|
||||
# with step('Check error message'):
|
||||
# assert edit_network_form._network_edit_error_message() == 'test'
|
||||
|
||||
with step('Click in Failover JSON RPC URL and paste incorrect URL'):
|
||||
edit_network_form.edit_network_failover_json_rpc_url_input("https://eth-archival.gateway.pokt.network/v1/lb/")
|
||||
|
Loading…
x
Reference in New Issue
Block a user