Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/confluence.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ settings:
like_page: 3
standalone_extension: 0 # By default disabled
# Custom dataset section.
custom_dataset_query: # Write CQL query to add CQL output to the app/datasets/confluence/custom_pages.csv, e.g. "title ~ 'AppPage*'"
custom_dataset_query: title ~ 'AppPage*' # Write CQL query to add CQL output to the app/datasets/confluence/custom_pages.csv, e.g. "title ~ 'AppPage*'"
services:
- module: shellexec
prepare:
Expand Down
90 changes: 90 additions & 0 deletions app/extension/confluence/extension_ui.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,93 @@ def sub_measure():
page.wait_until_visible((By.ID, "ID_OF_YOUR_APP_SPECIFIC_UI_ELEMENT")) # Wait for you app-specific UI element by ID selector
sub_measure()
measure()

def zscale_view_test_cases_by_status_macro_in_page(webdriver, datasets):
page = BasePage(webdriver)
zscale_specific_page_id = datasets['custom_page_id']

@print_timing("zscale_specific_user_login")
def measure():
def zscale_specific_user_login(username='admin', password='admin'):
login_page = Login(webdriver)
login_page.delete_all_cookies()
login_page.go_to()
login_page.wait_for_page_loaded()
login_page.set_credentials(username=username, password=password)
login_page.click_login_button()
if login_page.is_first_login():
login_page.first_user_setup()
all_updates_page = AllUpdates(webdriver)
all_updates_page.wait_for_page_loaded()
zscale_specific_user_login(username='admin', password='admin')
measure()

@print_timing("view_test_cases_by_status_action")
def measure():
check_zscale_content(page, datasets)
measure()

def zscale_view_test_cases_by_project_macro_in_page(webdriver, datasets):
page = BasePage(webdriver)
zscale_specific_page_id = datasets['custom_page_id']

@print_timing("zscale_specific_user_login")
def measure():
def zscale_specific_user_login(username='admin', password='admin'):
login_page = Login(webdriver)
login_page.delete_all_cookies()
login_page.go_to()
login_page.wait_for_page_loaded()
login_page.set_credentials(username=username, password=password)
login_page.click_login_button()
if login_page.is_first_login():
login_page.first_user_setup()
all_updates_page = AllUpdates(webdriver)
all_updates_page.wait_for_page_loaded()
zscale_specific_user_login(username='admin', password='admin')
measure()

@print_timing("view_test_cases_by_project_action")
def measure():
check_zscale_content(page, datasets)
measure()

def zscale_view_test_cases_by_folder_macro_in_page(webdriver, datasets):
page = BasePage(webdriver)
zscale_specific_page_id = datasets['custom_page_id']

@print_timing("zscale_specific_user_login")
def measure():
def zscale_specific_user_login(username='admin', password='admin'):
login_page = Login(webdriver)
login_page.delete_all_cookies()
login_page.go_to()
login_page.wait_for_page_loaded()
login_page.set_credentials(username=username, password=password)
login_page.click_login_button()
if login_page.is_first_login():
login_page.first_user_setup()
all_updates_page = AllUpdates(webdriver)
all_updates_page.wait_for_page_loaded()
zscale_specific_user_login(username='admin', password='admin')
measure()

@print_timing("view_test_cases_by_folder_action")
def measure():
check_zscale_content(page, datasets)
measure()


def check_zscale_content(page, datasets):
zscale_specific_page_id = datasets['custom_page_id']

page.go_to_url(f"{CONFLUENCE_SETTINGS.server_url}/pages/viewpage.action?pageId={zscale_specific_page_id}")

if zscale_specific_page_id == 38928401:
page.wait_until_visible((By.TAG_NAME, "reports-viewer-test-cases-summary-by-status"))
elif zscale_specific_page_id == 38928403:
page.wait_until_visible((By.TAG_NAME, "reports-viewer-test-cases-created-by-project-list"))
elif zscale_specific_page_id == 38928405:
page.wait_until_visible((By.TAG_NAME, "reports-viewer-test-cases-created-by-folder-list"))
else:
page.wait_until_visible((By.TAG_NAME, "macro-view"))
33 changes: 33 additions & 0 deletions app/extension/jira/extension_ui.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,37 @@ def sub_measure():
page.wait_until_visible((By.ID, "ID_OF_YOUR_APP_SPECIFIC_UI_ELEMENT")) # Wait for you app-specific UI element by ID selector
sub_measure()
measure()

def zscale_view_test_case_in_issue_view(webdriver, datasets):
page = BasePage(webdriver)
issue_key = datasets['custom_issue_key']

@print_timing("zephyr_scale_view_test_case_in_issue_view")
def measure():
page.go_to_url(f"{JIRA_SETTINGS.server_url}/browse/{issue_key}")
page.wait_until_visible((By.ID, "TM4JTraceLinksPanel")) # Wait for you app-specific UI element by ID selector
page.wait_until_visible((By.TAG_NAME, "test-case-trace-link")) # Wait for you app-specific UI element by ID selector
measure()

def zscale_view_test_cycle_in_issue_view(webdriver, datasets):
page = BasePage(webdriver)
issue_key = datasets['custom_issue_key']

@print_timing("zephyr_scale_view_test_cycle_in_issue_view")
def measure():
page.go_to_url(f"{JIRA_SETTINGS.server_url}/browse/{issue_key}")
page.wait_until_visible((By.ID, "TM4JTraceLinksPanel")) # Wait for you app-specific UI element by ID selector
page.wait_until_visible((By.TAG_NAME, "test-run-trace-link")) # Wait for you app-specific UI element by ID selector
measure()

def zscale_view_test_plan_in_issue_view(webdriver, datasets):
page = BasePage(webdriver)
issue_key = datasets['custom_issue_key']

@print_timing("zephyr_scale_view_test_plan_in_issue_view")
def measure():
page.go_to_url(f"{JIRA_SETTINGS.server_url}/browse/{issue_key}")
page.wait_until_visible((By.ID, "TM4JTraceLinksPanel")) # Wait for you app-specific UI element by ID selector
page.wait_until_visible((By.TAG_NAME, "test-plan-trace-link")) # Wait for you app-specific UI element by ID selector
measure()

4 changes: 2 additions & 2 deletions app/jira.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ settings:
aggregator: consolidator
verbose: false
env:
application_hostname: test_jira_instance.atlassian.com # Jira DC hostname without protocol and port e.g. test-jira.atlassian.com or localhost
application_hostname: jira-loadb-cn7kineqi4pq-1519173426.us-west-2.elb.amazonaws.com # Jira DC hostname without protocol and port e.g. test-jira.atlassian.com or localhost
application_protocol: http # http or https
application_port: 80 # 80, 443, 8080, 2990, etc
secure: True # Set False to allow insecure connections, e.g. when using self-signed SSL certificate
Expand Down Expand Up @@ -35,7 +35,7 @@ settings:
browse_boards: 2
standalone_extension: 0 # By default disabled
# Custom dataset section.
custom_dataset_query: # Write JQL query to add JQL output to the app/datasets/jira/custom-issues.csv, e.g. "summary ~ 'AppIssue*'"
custom_dataset_query: summary ~ 'AppIssue*' # Write JQL query to add JQL output to the app/datasets/jira/custom-issues.csv, e.g. "summary ~ 'AppIssue*'"
services:
- module: shellexec
prepare:
Expand Down
8 changes: 8 additions & 0 deletions app/selenium_ui/confluence_ui.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,14 @@ def test_1_selenium_view_dashboard(confluence_webdriver, confluence_datasets, co
# def test_1_selenium_custom_action(confluence_webdriver, confluence_datasets, confluence_screen_shots):
# extension_ui.app_specific_action(confluence_webdriver, confluence_datasets)

def test_1_selenium_zscale_view_test_cases_by_status_macro_in_page(confluence_webdriver, confluence_datasets, confluence_screen_shots):
extension_ui.zscale_view_test_cases_by_status_macro_in_page(confluence_webdriver, confluence_datasets)

def test_1_selenium_zscale_view_test_cases_by_project_macro_in_page(confluence_webdriver, confluence_datasets, confluence_screen_shots):
extension_ui.zscale_view_test_cases_by_project_macro_in_page(confluence_webdriver, confluence_datasets)

def test_1_selenium_zscale_view_test_cases_by_folder_macro_in_page(confluence_webdriver, confluence_datasets, confluence_screen_shots):
extension_ui.zscale_view_test_cases_by_folder_macro_in_page(confluence_webdriver, confluence_datasets)

# this action should be the last one
def test_2_selenium_z_log_out(confluence_webdriver, confluence_datasets, confluence_screen_shots):
Expand Down
8 changes: 8 additions & 0 deletions app/selenium_ui/jira_ui.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,14 @@ def test_1_selenium_view_project_summary(jira_webdriver, jira_datasets, jira_scr
# def test_1_selenium_custom_action(jira_webdriver, jira_datasets, jira_screen_shots):
# extension_ui.app_specific_action(jira_webdriver, jira_datasets)

def test_1_selenium_zscale_view_test_case_in_issue_view(jira_webdriver, jira_datasets, jira_screen_shots):
extension_ui.zscale_view_test_case_in_issue_view(jira_webdriver, jira_datasets)

def test_1_selenium_zscale_view_test_cycle_in_issue_view(jira_webdriver, jira_datasets, jira_screen_shots):
extension_ui.zscale_view_test_cycle_in_issue_view(jira_webdriver, jira_datasets)

def test_1_selenium_zscale_view_test_plan_in_issue_view(jira_webdriver, jira_datasets, jira_screen_shots):
extension_ui.zscale_view_test_plan_in_issue_view(jira_webdriver, jira_datasets)

# this action should be the last one
def test_2_selenium_z_log_out(jira_webdriver, jira_datasets, jira_screen_shots):
Expand Down