def create_pull_request(webdriver, datasets):
    repository_page = Repository(webdriver,
                                 project_key=datasets['project_key'],
                                 repo_slug=datasets['repo_slug'])
    repo_pull_requests_page = RepoPullRequests(
        webdriver,
        repo_slug=repository_page.repo_slug,
        project_key=repository_page.project_key)
    repository_branches_page = RepositoryBranches(
        webdriver,
        repo_slug=repository_page.repo_slug,
        project_key=repository_page.project_key)
    navigation_panel = RepoNavigationPanel(webdriver)
    PopupManager(webdriver).dismiss_default_popup()

    @print_timing
    def measure(webdriver, interaction):
        @print_timing
        def measure(webdriver, interaction):
            branch_from = datasets['pull_request_branch_from']
            branch_to = datasets['pull_request_branch_to']
            repository_branches_page.open_base_branch(
                interaction=interaction, base_branch_name=branch_from)
            fork_branch_from = repository_branches_page.create_branch_fork_rnd_name(
                interaction=interaction, base_branch_name=branch_from)
            navigation_panel.wait_for_navigation_panel(interaction)
            repository_branches_page.open_base_branch(
                interaction=interaction, base_branch_name=branch_to)
            fork_branch_to = repository_branches_page.create_branch_fork_rnd_name(
                interaction=interaction, base_branch_name=branch_to)
            datasets['pull_request_fork_branch_to'] = fork_branch_to
            navigation_panel.wait_for_navigation_panel(interaction)

            repo_pull_requests_page.create_new_pull_request(
                interaction=interaction,
                from_branch=fork_branch_from,
                to_branch=fork_branch_to)
            PopupManager(webdriver).dismiss_default_popup()

        measure(webdriver, 'selenium_create_pull_request:create_pull_request')

        @print_timing
        def measure(webdriver, interaction):
            PopupManager(webdriver).dismiss_default_popup()
            pull_request_page = PullRequest(webdriver)
            pull_request_page.wait_for_overview_tab(interaction)
            PopupManager(webdriver).dismiss_default_popup()
            pull_request_page.merge_pull_request(interaction)

        measure(webdriver, 'selenium_create_pull_request:merge_pull_request')
        repository_branches_page.go_to()
        repository_branches_page.wait_for_page_loaded(interaction)
        repository_branches_page.delete_branch(
            interaction=interaction,
            branch_name=datasets['pull_request_fork_branch_to'])

    measure(webdriver, 'selenium_create_pull_request')
示例#2
0
def view_repo(webdriver, datasets):
    repository_page = Repository(webdriver,
                                 project_key=datasets['project_key'],
                                 repo_slug=datasets['repo_slug'])

    @print_timing("selenium_view_repository")
    def measure():
        repository_page.go_to()
        nav_panel = RepoNavigationPanel(webdriver)
        nav_panel.wait_for_page_loaded()
        PopupManager(webdriver).dismiss_default_popup()
    measure()