コード例 #1
0
 def test_login_correct_creds(self, browser):
     login_page = LoginPage(browser)
     main_page = MainPage(browser)
     with allure.step("Open login page"):
         login_page.open()
     with allure.step("Check that login page opened"):
         assert login_page.at_page()
     with allure.step("Login to JIRA with correct credentials"):
         login_page.login(login, password)
         allure.attach(browser.get_screenshot_as_png(),
                       name="login_correct_creds1",
                       attachment_type=allure.attachment_type.PNG)
     with allure.step("Check that main page opened"):
         assert main_page.at_page()
         allure.attach(browser.get_screenshot_as_png(),
                       name="test_login_correct_creds2",
                       attachment_type=allure.attachment_type.PNG)
     with allure.step("Logout from JIRA"):
         logout_page = main_page.logout()
     with allure.step("Cheсk that logout page appears"):
         assert logout_page.at_page()
     with allure.step("Open login page"):
         login_page.open()
     with allure.step("Check that login page opened"):
         assert login_page.at_page()
         allure.attach(browser.get_screenshot_as_png(),
                       name="test_logout",
                       attachment_type=allure.attachment_type.PNG)
コード例 #2
0
class TestLogin(BaseTest):
    def setup_class(self):
        self.driver = webdriver.Chrome(
            executable_path=ChromeDriverManager().install())
        self.login_page = LoginPage(self.driver)
        self.dashboard_page = DashboardPage(self.driver)
        self.create_issue_page = CreateIssuePage(self.driver)

    @allure.tag("UI")
    @allure.title("Login with correct username & wrong password")
    def test_login_correct_username_wrong_password(self):
        self.login_page.open_page()
        assert self.login_page.at_page()
        self.login_page.login_to_jira(ValidUser.username, InvalidUser.password)
        assert self.login_page.is_error_shown()

    @allure.tag("UI")
    @allure.title("Login with wrong username & correct password")
    def test_login_wrong_username_correct_password(self):
        self.login_page.open_page()
        assert self.login_page.at_page()
        self.login_page.login_to_jira(InvalidUser.username, ValidUser.password)
        assert self.login_page.is_error_shown()

    @allure.tag("UI")
    @allure.title("Login with correct username & correct password")
    def test_login_correct_username_correct_password(self):
        self.login_page.open_page()
        assert self.login_page.at_page()
        self.login_page.login_to_jira(ValidUser.username, ValidUser.password)
        assert self.dashboard_page.at_page()
コード例 #3
0
ファイル: test_pytest_markers.py プロジェクト: xenony/pyTest
class TestLogin:
    def setup_method(self):
        self.driver = webdriver.Chrome(
            executable_path=ChromeDriverManager().install())
        self.login_page = LoginPage(self.driver)
        self.header_page = HeaderPage(self.driver)

    @allure.title("Create issue UI")
    @pytest.mark.regression
    @pytest.mark.P1
    @pytest.mark.ui
    def test_login_to_jira_markers(self):
        self.login_page.open()
        with allure.step("at_page"):
            assert self.login_page.at_page()
        self.login_page.login_to_jira()
        with allure.step("at_page"):
            assert self.header_page.at_page()

    @allure.title("Test to be skipped")
    @pytest.mark.feature
    @pytest.mark.skip(
        reason="NMB-12222 User authorization is blocked by advertisement")
    def test_to_be_skipped(self):
        # TODO: implement this test
        pass

    @allure.title("Unstable test")
    @pytest.mark.flaky(reruns=3, reruns_delay=1)
    def test_unstable(self):
        assert random.randint(1, 2) == 2

    def teardown_method(self):
        self.driver.close()
コード例 #4
0
class TestLogin:

    def test_login_to_jira_page_object(self):
        self.login_page = LoginPage(self.driver)
        self.header_page = HeaderPage(self.driver)
        self.login_page.open()
        assert self.login_page.at_page()
        self.login_page.login_to_jira()
        assert self.header_page.at_page()
コード例 #5
0
class TestJiraLoginUI:

    @pytest.mark.smoke
    def test_login_to_jira(self, browser):
        self.login_page = LoginPage(browser)
        self.login_page.open("http://jira.hillel.it:8080/secure/Dashboard.jspa")
        assert self.login_page.at_page()
        self.login_page.login_to_jira_enter_username("webinar5")
        self.login_page.login_to_jira_enter_password("webinar5")
        self.login_page.click_login_button_at_main_page()
        self.main_page = MainPage(browser)
        self.main_page.is_assigned_to_me_section()
        assert self.main_page.is_assigned_to_me_section()
コード例 #6
0
 def test_login_incorrect_password(self, browser):
     login_page = LoginPage(browser)
     with allure.step("Open login page"):
         login_page.open()
     with allure.step("Check that login page opened"):
         assert login_page.at_page()
     with allure.step("Call login method"):
         login_page.login(login, "wrong")
     with allure.step("Check that correct error is displayed"):
         assert login_page.username_error_text("Sorry, your username and password are incorrect")
         allure.attach(browser.get_screenshot_as_png(),
                       name="test_login_incorrect_password",
                       attachment_type=allure.attachment_type.PNG)
コード例 #7
0
class TestLogin:
    def setup_method(self):
        self.driver = webdriver.Chrome(
            executable_path=ChromeDriverManager().install())
        self.login_page = LoginPage(self.driver)
        self.header_page = HeaderPage(self.driver)

    def test_login_to_jira_page_object(self):
        self.login_page.open()
        assert self.login_page.at_page()
        self.login_page.login_to_jira()
        assert self.header_page.at_page()

    def teardown_method(self):
        self.driver.close()
コード例 #8
0
class TestLogin:

    @pytest.mark.parametrize("login, passwd, rez",
                             [
                                 ("admin", "changeme", "please try again."),
                                 ("admin", "wrongPass", "please try again"),
                                 ("wrongLogin", "changeme", "System Dashboard"),
                             ]
                             )
    def test_login_to_jira_page_object(self, login, passwd, rez):
        self.login_page = LoginPage(self.driver)
        self.header_page = HeaderPage(self.driver)
        self.login_page.open()
        assert self.login_page.at_page()
        self.login_page.enter_name(login)
        self.login_page.enter_password(passwd)
        self.login_page.click_login_button()
        assert self.login_page.wait_for_text_to_appear(rez)
コード例 #9
0
class TestJiraLoginUI:
    @pytest.mark.smoke
    def test_login_to_jira(self, browser):
        self.login_page = LoginPage(browser)
        self.login_page.open(url_ui)
        assert self.login_page.at_page()
        self.login_page.login_to_jira_enter_username(global_user)
        self.login_page.login_to_jira_enter_password(global_pass)
        self.login_page.click_login_button_at_main_page()
        self.main_page = MainPage(browser)
        assert self.main_page.is_assigned_to_me_section()

    @pytest.mark.smoke
    def test_create_issue_in_jira(self, browser):
        self.login_page = LoginPage(browser)
        self.login_page.open(
            "http://jira.hillel.it:8080/secure/Dashboard.jspa")
        assert self.login_page.at_page()
        self.login_page.login_to_jira_enter_username("webinar5")
        self.login_page.login_to_jira_enter_password("webinar5")
        self.login_page.click_login_button_at_main_page()
        self.main_page = MainPage(browser)
        assert self.main_page.is_assigned_to_me_section()
        self.main_page.click_create_issue_button()
        self.create_issue_page = CreateIssue(browser)
        self.create_issue_page.should_have_title("Create Issue")
        self.create_issue_page.choose_the_project("Webinar (WEBINAR)")
        self.create_issue_page.enter_summary_field("UI bug In Jira")
        self.create_issue_page.enter_reporter("webinar5")
        self.create_issue_page.click_create_issue_button_at_details_page()
        assert "Issue" in self.create_issue_page.is_alert_present()

    @pytest.mark.regression
    def test_add_comment_to_the_ticket(self, browser):
        self.login_page = LoginPage(browser)
        self.login_page.open("https://jira.hillel.it/browse/WEBINAR-9060")
        self.login_page.login_to_jira_enter_username("webinar5")
        self.login_page.login_to_jira_enter_password("webinar5")
        self.login_page.click_login_button_at_login_page()
        self.comment_page_page = CommentPage(browser)
        self.comment_page_page.click_comment_button()
        self.comment_page_page.enter_comment_text("comment_text")
        self.comment_page_page.click_add_comment_button()
        assert not self.comment_page_page.comment_input_field_at_page(
        ), "Comment not added"

    @pytest.mark.regression
    def test_change_assigner_for_the_ticket(self, browser):
        self.login_page = LoginPage(browser)
        self.login_page.open(
            "http://jira.hillel.it:8080/secure/Dashboard.jspa")
        self.login_page.login_to_jira_enter_username("webinar5")
        self.login_page.login_to_jira_enter_password("webinar5")
        self.login_page.click_login_button_at_main_page()
        self.main_page = MainPage(browser)
        self.main_page.click_the_first_ticket_assigned_to_me()
        self.issue_details_page = IssueDetailsPage(browser)
        self.issue_details_page.click_issue_reporter_field()
        self.issue_details_page.enter_new_reporter("Artur Piluck")
        assert self.issue_details_page.should_be_new_assigner("Artur Piluck")
        self.issue_details_page.refresh_the_page()
        assert self.issue_details_page.should_be_new_assigner("Artur Piluck")

    @pytest.mark.regression
    @pytest.mark.parametrize("login, password, rez", [
        ("admin", "password",
         "Sorry, your username and password are incorrect - please try again.")
    ])
    def test_with_invalid_login_to_jira(self, browser, login, password, rez):
        self.login_page = LoginPage(browser)
        self.login_page.open(url_ui)
        assert self.login_page.at_page()
        self.login_page.login_to_jira_enter_username(login)
        self.login_page.login_to_jira_enter_password(password)
        self.login_page.click_login_button_at_main_page()
        assert self.login_page.is_invalid_message_present(rez)