コード例 #1
0
ファイル: test_login.py プロジェクト: janzhu1122/app_day10_1
class Test_Login:

    def setup_class(self):
        # 实例化统一入口类
        self.page_obj = Page(get_driver("com.yunmall.lc", "com.yunmall.ymctoc.ui.activity.MainActivity"))
    def teardown_class(self):
        self.page_obj.driver.quit()
    @pytest.mark.parametrize("i, phone, passwd, expect_data", get_login_data().get("suc"))
    def test_login_suc(self, i, phone, passwd, expect_data):
        """成功测试用例"""
        # 点击我
        self.page_obj.get_home_page_obj().click_my_btn()
        # 点击已有账号去登录
        self.page_obj.get_sign_page_obj().click_exits_account()
        # 执行登陆操作
        self.page_obj.get_login_page_obj().login(phone, passwd)
        try:
            # 取我的收藏
            my_like_text = self.page_obj.get_person_page().get_mylike_data()
            # 执行退出操作
            # 点击设置
            self.page_obj.get_person_page().click_setting_btn()
            # 点击退出
            self.page_obj.get_setting_page_obj().log_out()
            # 断言
            assert expect_data == my_like_text
        except TimeoutException:
            # 关闭登录页面
            self.page_obj.get_login_page_obj().close_login_page()
            assert False

    @pytest.mark.parametrize("i, phone, passwd, get_toast, expect_data", get_login_data().get("fal"))
    def test_login_fal(self, i, phone, passwd, get_toast, expect_data):
        """失败测试用例"""
        # 点击我
        self.page_obj.get_home_page_obj().click_my_btn()
        # 点击已有账号去登录
        self.page_obj.get_sign_page_obj().click_exits_account()
        # 执行登陆操作
        self.page_obj.get_login_page_obj().login(phone, passwd)
        try:
            # 获取toast
            toast_message = self.page_obj.get_login_page_obj().get_toast(get_toast)
            # 登录按钮是否存在
            if_login = self.page_obj.get_login_page_obj().if_login_btn()
            # 关闭页面
            self.page_obj.get_login_page_obj().close_login_page()
            # 断言
            assert toast_message == expect_data and if_login
        except TimeoutException:
            #执行退出操作
            # 点击设置
            self.page_obj.get_person_page().click_setting_btn()
            # 点击退出
            self.page_obj.get_setting_page_obj().log_out()
            # 断言
            assert False
コード例 #2
0
ファイル: test_login.py プロジェクト: huifangwu/app_xuechebu
    def test_login(self, user, pwd, toast, exp):
        """登录测试方法"""
        # 登录
        Page.get_login_page().login(user, pwd)
        # 如果toast有值,就是逆向用例
        if toast is not None:
            """预期失败用例"""
            # 获取toast消息
            msg = Page.get_setting_page().get_toast(toast)
            try:
                # 断言toast消息
                assert msg == exp
            except AssertionError:
                # 截图
                Page.get_setting_page().screen_image()
                # 抛出异常
                raise
            finally:
                # 点击返回按钮
                Page.get_login_page().click_login_return_btn()
                allure.attach(
                    '预期失败用例测试步骤\n1、登录失败\n2、获取toast消息\n3、断言toast消息\n4、点击返回按钮',
                    '预期登录失败')

        # 如果toast没有值,就是正向用例
        else:
            """预期通过用例"""
            # 登录确认按钮
            Page.get_login_page().click_login_success_btn()
            # 获取用户名
            user_name = Page.get_person_page().get_user_name()
            try:
                # 断言用户名
                assert user_name == exp
            except AssertionError:
                # 截图
                Page.get_setting_page().screen_image()
                # 抛出异常
                raise
            finally:
                # 点击设置
                Page.get_person_page().click_setting_btn()
                # 点击退出
                Page.get_setting_page().logout()
                allure.attach(
                    '预期通过用例测试步骤\n1、登录成功\n2、获取用户名\n3、断言用户名\n4、点击设置按钮\n5、点击退出按钮',
                    '预期登录成功')
コード例 #3
0
ファイル: test_login.py プロジェクト: Indian0901/app_outlet01
class Test_Login:
    def setup_class(self):
        self.driver = get_driver(
            "com.yunmall.lc", "com.yunmall.ymctoc.ui.activity.MainActivity")
        # 实例化Page类
        self.page_obj = Page(self.driver)

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

    @pytest.fixture(autouse=True)  # 解决依赖条件
    def in_login_page(self):
        # 点击我
        self.page_obj.get_home_page().click_my_btn()
        # 点击已有账号去登录
        self.page_obj.get_sign_page().click_exits_accout()

    @pytest.mark.parametrize("user, pwd, exp", get_login_data().get("suc"))
    def test_succ_login(self, user, pwd, exp):

        # 登录
        self.page_obj.get_login_page().login(user, pwd)
        try:
            # 取我的优惠券
            coupons_text = self.page_obj.get_person_page().get_coupons_text()
            try:
                assert exp == coupons_text
            except AssertionError:
                # 截图
                self.page_obj.get_person_page().screen_shot(name="登录成功")
                assert False

            finally:
                # 点击设置按钮
                self.page_obj.get_person_page().click_setting_btn()
                # 执行退出操作
                self.page_obj.get_setting_page().logout()

        except TimeoutException:
            # 关闭登录页面
            self.page_obj.get_login_page().close_login_page()
            assert False

    @pytest.mark.parametrize("user, pwd, toast, exp",
                             get_login_data().get("fail"))
    def test_fail_login(self, user, pwd, toast, exp):

        # 登录
        self.page_obj.get_login_page().login(user, pwd)
        # 断言
        try:
            # 获取提示消息
            toast_data = self.page_obj.get_setting_page().get_toast(toast)
            try:
                # 断言提示消息 和 登录按钮
                assert toast_data == exp and self.page_obj.get_login_page(
                ).if_login_btn()
            except AssertionError:
                self.page_obj.get_setting_page().screen_shot(name="登录失败")
                assert False
            finally:
                # 关闭登录页面
                self.page_obj.get_login_page().close_login_page()
        except TimeoutException:
            # 截图
            self.page_obj.get_person_page().screen_shot()
            try:
                # 点击设置按钮
                self.page_obj.get_person_page().click_setting_btn()
                # 执行退出操作
                self.page_obj.get_setting_page().logout()
            except TimeoutException:
                self.page_obj.get_login_page().close_login_page()
コード例 #4
0
class Test_login:
    def setup_class(self):
        # 声明driver
        self.driver = get_driver(
            "com.yunmall.lc", "com.yunmall.ymctoc.ui.activity.MainActivity")
        # 实例化统一入口类
        self.page_obj = Page(self.driver)

    def teardown_class(self):
        # 退出driver
        self.driver.quit()

    @pytest.fixture(autouse=True)
    def in_lobin_page(self):
        """每个方法执行一次"""
        # 点击首页我
        self.page_obj.get_home_page().click_home_my_btn()
        # 点击注册页面已有账号去登录
        self.page_obj.get_sign_page().click_sign_exits_btn()

    @pytest.mark.parametrize("case_num, username, passwd, exp_data",
                             get_login_data().get("suc"))
    def test_suc_login(self, case_num, username, passwd, exp_data):
        """预期成功测试用例"""
        # 登录操作
        self.page_obj.get_login_page().login(username, passwd)
        try:
            # 获取我的优惠券
            coup = self.page_obj.get_person_page().get_coupons_text()
            try:
                assert coup == exp_data
            except AssertionError:
                # 截图 TODO
                self.page_obj.get_login_page().screen_png()
                # 显示断言失败
                assert False
            finally:
                # 点击个人中心设置按钮
                self.page_obj.get_person_page().click_setting_btn()
                # 设置页面执行退出操作
                self.page_obj.get_setting_page().logout('y')
        except TimeoutException:
            # 截图 TODO
            self.page_obj.get_login_page().screen_png()
            """新功能的增加不会选择更改老功能元素属性"""
            # try:
            #     # 执行退出操作
            #     self.page_obj.get_person_page().click_setting_btn()
            #     self.page_obj.get_setting_page().logout('y')
            #
            # except TimeoutException:
            #     # 关闭登录页面--页面还停留在登录页
            #     self.page_obj.get_login_page().close_login_page()
            # 关闭登录页面--页面还停留在登录页
            self.page_obj.get_login_page().close_login_page()
            # 显示断言失败
            assert False

    @pytest.mark.parametrize("case_num, username, passwd, toast_mes, exp_data",
                             get_login_data().get("fail"))
    def test_fail_login(self, case_num, username, passwd, toast_mes, exp_data):
        """预期失败测试用例"""
        # 登录操作
        self.page_obj.get_login_page().login(username, passwd)
        try:
            # 获取toast消息
            message = self.page_obj.get_setting_page().get_toast(toast_mes)
            try:
                # 断言
                assert message == exp_data and self.page_obj.get_login_page(
                ).is_login_btn()
            except TimeoutException:
                # 截图 TODO
                self.page_obj.get_login_page().screen_png()
                assert False
            finally:
                # 关闭登录页面
                self.page_obj.get_login_page().close_login_page()
        except TimeoutException:
            # 截图 TODO
            self.page_obj.get_login_page().screen_png()
            try:
                # 找我的优惠券 ---作为个人中心退出操作
                self.page_obj.get_person_page().get_coupons_text()
                # 点击设置
                self.page_obj.get_person_page().click_setting_btn()
                # 执行退出
                self.page_obj.get_setting_page().logout('y')
            except TimeoutException:
                # 关闭登录页面
                self.page_obj.get_login_page().close_login_page()
            assert False
コード例 #5
0
ファイル: test_login.py プロジェクト: huifangwu/app_xuechebu
 def person_click_login_sign(self):
     """个人中心点击登录/注册 -每次"""
     Page.get_person_page().click_login_sign_btn()
コード例 #6
0
ファイル: confirm.py プロジェクト: huifangwu/app_xuechebu
from Base.driver import Driver
from Base.page import Page
from selenium.common.exceptions import TimeoutException

# 首页 -稍后更新
Page.get_home_page().click_update_later()

# 首页 -点击我的
Page.get_home_page().click_mine()

# 个人中心 -登录/注册
Page.get_person_page().click_login_sign_btn()

# 登录页面 -登录
Page.get_login_page().login('13048122192', 'Qq123456')

# 登录页面 -登录确认
Page.get_login_page().click_login_success_btn()

# 个人中心 -获取用户名
print(Page.get_person_page().get_user_name())

# 个人中心 -点击设置
Page.get_person_page().click_setting_btn()

# 设置页面 -确认退出
Page.get_setting_page().logout()

# 退出driver
Driver.quit_app_driver()