コード例 #1
0
class TestLoginTes:
    def setup_class(self):
        self.driver = get_phone_driver(
            "com.yunmall.lc", "com.yunmall.ymctoc.ui.activity.MainActivity")
        self.page = Page(self.driver)

    def teardown_class(self):
        self.driver.quit()

    @pytest.fixture(autouse=True)
    def auto_in_login(self):
        self.page.get_main_page().mp_click_mine_btn()
        self.page.get_login_page().lp_click_go_login()

    @pytest.mark.parametrize("case_num, account, passwd, expect_data",
                             get_login().get("suc"))
    def test_login_test_01(self, case_num, account, passwd, expect_data):

        self.page.get_login_page().lp_input_username(account)
        self.page.get_login_page().lp_input_password(passwd)
        self.page.get_login_page().lp_click_login_btn()
        try:
            shop_cart = self.page.get_mine_page().minep_get_result()
            try:
                assert expect_data in shop_cart
            except AssertionError:
                self.page.get_mine_page().screen_page()
                assert False
            finally:
                self.page.get_mine_page().minep_click_settings_btn()
                self.page.get_settings_page().sp_click_logout_btn()

        except TimeoutException:
            self.page.get_settings_page().screen_page()
            try:
                self.page.get_login_page().lp_if_login_btn()
                self.page.get_login_page().lp_click_close_login_page_btn()

            except TimeoutException:
                self.page.get_mine_page().minep_click_settings_btn()
                self.page.get_settings_page().sp_click_logout_btn()
            assert False

    @pytest.mark.parametrize("case_num, account, passwd, toast, expect_data",
                             get_login().get("fail"))
    def test_login_fail(self, case_num, account, passwd, toast, expect_data):

        self.page.get_login_page().lp_input_username(account)
        self.page.get_login_page().lp_input_password(passwd)
        self.page.get_login_page().lp_click_login_btn()

        try:

            toast_data = self.page.get_settings_page().get_toast(toast)

            try:
                self.page.get_login_page().lp_if_login_btn()
                assert toast_data == expect_data
                self.page.get_login_page().lp_click_close_login_page_btn()
            except TimeoutException:
                self.page.get_settings_page().screen_page()
                self.page.get_mine_page().minep_click_settings_btn()
                self.page.get_settings_page().sp_click_logout_btn()
                assert False
            except AssertionError:
                self.page.get_settings_page().screen_page()
                self.page.get_login_page().lp_click_close_login_page_btn()
                assert False
        except TimeoutException:
            self.page.get_settings_page().screen_page()
            try:
                self.page.get_login_page().lp_if_login_btn()
                self.page.get_login_page().lp_click_close_login_page_btn()

            except TimeoutException:
                self.page.get_mine_page().minep_click_settings_btn()
                self.page.get_settings_page().sp_click_logout_btn()
            assert False