예제 #1
0
    def setup_class(cls):
        # Get test data
        cls.data = merge_configs('~/testrail.json', '../config/data.json')
        cls.p = read_config('../config/project.json')
        cls.runs = read_config('../config/runs.json')
        cls.users = read_config('../config/users.json')
        cls.t = read_config('../config/tests.json')
        cls.plans = read_config('../config/plans.json')

        # Prepare browser
        cls.driver = DriverManager.get_driver(DriverType.FIREFOX)

        cls.driver.maximize_window()
        cls.driver.get(cls.data.server_name)
        cls.driver.implicitly_wait(10)

        # Prepare page objects
        cls.suite = suite_page.SuitePage(cls.driver)
        cls.login = login_page.LoginPage(cls.driver)
        cls.project = project_page.ProjectPage(cls.driver)
        cls.users_roles = UsersRolesPage(cls.driver)
        cls.tests = test_cases_page.TestCasesPage(cls.driver)
        cls.section = section_page.SectionsPage(cls.driver)
        cls.plan = plans_page.PlansPage(cls.driver)
        cls.run = runs_page.RunsPage(cls.driver)
        cls.cases = cases_page.CasesPage(cls.driver)
        cls.prepare_data = PrepareData(cls.driver)
        cls.users_overview_url = cls.data.server_name + cls.users.overview_url

        # Perquisites for tests execution
        cls.prepare_for_testing(cls)
예제 #2
0
    def __init__(self, driver=None):
        self.driver = driver
        self.project = ProjectPage(driver)
        self.users_roles = UsersRolesPage(driver)
        self.suite = SuitePage(driver)
        self.section = SectionsPage(driver)
        self.tests = TestCasesPage(driver)
        self.run = RunsPage(driver)
        self.plan = PlansPage(driver)
        self.cases = CasesPage(driver)
        self.integration = IntegrationPage(self.driver)
        self.login = LoginPage(self.driver)
        self.site_settings_page = SiteSettingsPage(driver)

        self.t = read_config('../config/tests.json')
        self.data = merge_configs('~/testrail.json', '../config/data.json')
        self.p = read_config('../config/project.json')
        self.runs = read_config('../config/runs.json')
        self.users = read_config('../config/users.json')
        self.plans = read_config('../config/plans.json')
        self.site_settings = read_config('../config/site_settings.json')
        self.plugin = read_config("../config/plugin.json")
        self.sso_settings = read_config('../config/sso_settings.json')

        self.users_overview_url = self.data.server_name + self.users.overview_url
예제 #3
0
    def setup_class(cls):
        super().setup_class()

        # Get test data
        cls.p = read_config('../config/project.json')
        cls.reports = read_config("../config/reports.json")
        cls.sso_settings = read_config('../config/sso_settings.json')
        cls.users = read_config('../config/users.json')
        cls.site_settings_config = read_config('../config/site_settings.json')

        cls.client = APIClient(cls.data)

        # Prepare page objects
        cls.project = project_page.ProjectPage(cls.driver)
        cls.reports_page = reports_page.ReportsPage(cls.driver)
        cls.site_settings = site_settings.SiteSettingsPage(cls.driver)
        cls.users_roles = UsersRolesPage(cls.driver)
        cls.prepare_data = PrepareData(cls.driver)

        cls.site_settings_url = cls.data.server_name + cls.sso_settings.site_settings_url
        cls.users_overview_url = cls.data.server_name + cls.users.overview_url

        # Perquisites for tests execution
        cls.setup_database(cls.reports)
        cls.prepare_for_testing(cls)
예제 #4
0
    def setup_class(cls):
        super().setup_class()
        cls.attachments = read_config('../config/attachments.json')
        cls.users = read_config('../config/users.json')

        cls.client = APIClient(cls.data)
        cls.attachments_page = APIPage()
        cls.users_roles_page = UsersRolesPage(cls.driver)
        cls.login_page = LoginPage(cls.driver)

        cls.prepare_test_case()
예제 #5
0
    def add_user_with_permissions(cls, permission="Read-only"):
        cls.users = read_config('../config/users.json')
        cls.users_roles = UsersRolesPage(cls.driver)
        cls.users_overview_url = cls.data.server_name + cls.users.overview_url

        cls.user = decode_data(str(cls.users.regular_user))
        cls.users_roles.open_page(cls.users_overview_url)
        cls.users_roles.add_user(cls.user)

        cls.users_roles.select_user(cls.user.full_name)
        cls.users_roles.open_access_tab()
        cls.users_roles.change_role_for_user(permission)

        return cls.user
예제 #6
0
    def setup_class(cls):
        super().setup_class()

        cls.r = read_config('../config/runs.json')
        cls.runs = runs_page.RunsPage(cls.driver)

        cls.p = read_config('../config/project.json')
        cls.project = project_page.ProjectPage(cls.driver)

        cls.t = read_config('../config/tests.json')
        cls.tests = testcases_page.TestCasesPage(cls.driver)

        cls.u = read_config('../config/users.json')
        cls.users = UsersRolesPage(cls.driver)

        cls.m = read_config("../config/milestones.json")
        cls.miles = milestones_page.MilestonesPage(cls.driver)

        # Perquisites for tests execution
        cls.prepare_for_testing()
    def setup_class(cls):
        super().setup_class()

        # Get test data
        cls.sso_settings = read_config('../config/sso_settings.json')
        cls.user = read_config('../config/users.json')
        cls.auditing = read_config('../config/auditing.json')

        # Prepare page objects
        cls.site_settings_url = cls.data.server_name + cls.sso_settings.site_settings_url
        cls.license_url = cls.data.server_name + cls.auditing.license_url
        cls.user_overview_url = cls.data.server_name + cls.user.overview_url
        cls.site_settings = SiteSettingsPage(cls.driver)
        cls.login = LoginPage(cls.driver)
        cls.project = ProjectPage(cls.driver)
        cls.users_roles = UsersRolesPage(cls.driver)
        cls.setup_database(cls.auditing)

        cls.login_as_admin(cls)
        cls.prepare_regular_user(cls)
예제 #8
0
    def add_user_with_project_permissions(cls,
                                          project_id: int,
                                          permission="Read-only"):
        cls.project = read_config('../config/project.json')
        cls.projects = ProjectPage(cls.driver)
        cls.edit_project_url = cls.data.server_name + cls.project.edit_project_url + str(
            project_id)
        cls.users = read_config('../config/users.json')
        cls.users_roles = UsersRolesPage(cls.driver)
        cls.users_overview_url = cls.data.server_name + cls.users.overview_url

        cls.user = decode_data(str(cls.users.tester_user))
        cls.users_roles.open_page(cls.users_overview_url)
        user_id = cls.users_roles.add_user(cls.user)

        cls.projects.open_page(cls.edit_project_url)
        cls.projects.open_access_tab()
        cls.projects.change_role_for_user(user_id, permission)

        return cls.user
예제 #9
0
    def setup_class(cls):
        super().setup_class()
        # Get test data
        cls.users = read_config('../config/users.json')
        cls.sso_settings = read_config('../config/sso_settings.json')

        cls.setup_database(cls.users)

        platform = cls.data.database.dbtype
        if platform == "mssql":
            cls.valid_settings = cls.sso_settings.valid_settings_windows
        elif platform == "mysql":
            cls.valid_settings = cls.sso_settings.valid_settings_linux
        else:
            cls.valid_settings = cls.sso_settings.valid_settings_hosted

        # Prepare page objects
        cls.users_overview_url = cls.data.server_name + cls.users.overview_url
        cls.site_settings_url = cls.data.server_name + cls.sso_settings.site_settings_url
        cls.users_roles = UsersRolesPage(cls.driver)
        cls.site_settings = SiteSettingsPage(cls.driver)
예제 #10
0
    def setup_class(cls):
        super().setup_class()

        cls.sso_settings = read_config('../config/sso_settings.json')
        cls.user = read_config('../config/users.json')

        #Set URLs
        cls.sso_settings_url = cls.data.server_name + cls.sso_settings.site_settings_url + cls.sso_settings.tabs.sso
        cls.user_overview_url = cls.data.server_name + cls.user.overview_url

        #Initialize Page Objects
        cls.site_settings = SiteSettingsPage(cls.driver)
        cls.users = UsersRolesPage(cls.driver)

        cls.setup_database(cls.sso_settings)

        platform = cls.data.database.dbtype
        if platform == "mssql":
            cls.valid_settings = cls.sso_settings.valid_settings_windows
        elif platform == "mysql":
            cls.valid_settings = cls.sso_settings.valid_settings_linux
        else:
            cls.valid_settings = cls.sso_settings.valid_settings_hosted
예제 #11
0
    def setup_class(cls):
        # Get test data
        super().setup_class()

        cls.p = read_config('../config/project.json')
        cls.t = read_config("../config/tests.json")
        cls.users = read_config('../config/users.json')
        cls.site_settings = read_config('../config/site_settings.json')
        cls.runs = read_config('../config/runs.json')
        cls.plugin = read_config('../config/plugin.json')

        # Prepare page objects
        cls.section = section_page.SectionsPage(cls.driver)
        cls.project = project_page.ProjectPage(cls.driver)
        cls.tests = cases_page.TestCasesPage(cls.driver)
        cls.run = RunsPage(cls.driver)
        cls.users_roles = UsersRolesPage(cls.driver)
        cls.prepare_data = PrepareData(cls.driver)
        cls.integration = IntegrationPage(cls.driver)

        # Perquisites for tests execution
        cls.project_overview = cls.data.server_name + cls.p.project_overview_url
        cls.prepare_for_testing()