Ejemplo n.º 1
0
 def test_set_font_size(self):
     # 设置页面 -点击显示
     Page.get_setting_page().click_show_btn()
     # 显示页面 -选择字体
     Page.get_show_page().choice_front()
     # 显示页面 -获取描述信息-断言
     assert "普通" in Page.get_show_page().get_summary_list()
Ejemplo n.º 2
0
 def test_set_ziti(self):
     # 点击显示按钮
     Page.get_setting_page().click_xianshi()
     # 点击字体大小 # 选择字体为普通
     Page.get_xianshi_page().click_ziti_size()
     # 断言
     assert "普通" in Page.get_xianshi_page().get_ziti_results()
Ejemplo n.º 3
0
class Test_setting():
    def setup_class(self):
        self.page_obj = Page(get_driver("com.android.settings", ".Settings"))
        # self.page_obj = Page(get_driver("com.android.settings", ".Settings"))

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

    def test_change(self):
        #点击更多
        self.page_obj.get_setting_page().More()
        #点击移动网络
        self.page_obj.get_more_page().network_btn()
        #点击首选网络类型
        self.page_obj.get_mobile_network().select_first()

        #断言
        # print(self.page_obj.get_mobile_network().get_res())
        assert "3G" in self.page_obj.get_mobile_network().get_res()
Ejemplo n.º 4
0
    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、点击退出按钮',
                    '预期登录成功')
Ejemplo n.º 5
0
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()
Ejemplo n.º 6
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
Ejemplo n.º 7
0
 def click_search_btn(self):
     # 点击搜索按钮
     Page.get_setting_page().click_search_btn()
Ejemplo n.º 8
0
 def click_search_button(self):
     Page.get_setting_page().click_search_btn()
Ejemplo n.º 9
0
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()
Ejemplo n.º 10
0
 def click_search_btn(self):
     """点击搜索按钮"""
     Page.get_setting_page().click_search_btn()