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
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)
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)
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()
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
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)
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
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)
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
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()
class PrepareData(BasePageElement): 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 def add_single_repo_project(self, add_project_url, project_name): self.project.open_page(add_project_url) project_id = self.project.add_single_repo_project(project_name) return project_id def add_multi_repo_project(self, add_project_url, project_name): self.project.open_page(add_project_url) project_id = self.project.add_multi_repo_project(project_name) return project_id def delete_existing_users(self, users_overview_url, message): self.users_roles.open_page(users_overview_url) self.users_roles.forget_all_added_users(message) def add_multiple_users(self, users, multiple_users_url, message): users_to_add = [user.full_name for user in users] user_mails = [user.email_address for user in users] users_add_str = ''.join([ str(name) + ", " + str(email) + "\n" for name, email in zip(users_to_add, user_mails) ]) self.users_roles.open_page(multiple_users_url) self.users_roles.add_multiple_users(users_add_str, users, message) return users_to_add def add_test_cases(self, project_overview_url, suite_url, cases, section_name, message): self.suite.open_page(project_overview_url) suite_id = self.section.open_test_cases() test_case_url = suite_url + suite_id self.tests.add_multiple_test(cases, test_case_url, section_name, message) return suite_id def add_section_with_test_cases_inline(self, project_overview_url, cases_number: int): self.suite.open_page(project_overview_url) suite_id = self.section.open_test_cases() cases = [] for case in range(0, cases_number): case = "TestCase_" + "".join( random.sample((string.ascii_uppercase + string.digits), 6)) cases.append(case) self.section.add_first_section(self.p.sections.first_section) self.section.press_add_section_button() section, section_id = self.section.get_section( self.p.sections.first_section) self.tests.press_add_test_inline(str(section_id)) for case in cases: self.tests.add_test_case_inline(str(section_id), case) self.tests.confirm_adding_testcase_inline(section) return suite_id