def setup_class(self):
     #获取驱动
     self.driver = Init_driver()
     #获取统一页面入口对象
     self.page = Page(self.driver)
     self.shouye_po = self.page.ret_shouye_po()
     self.fabuye_po = self.page.ret_fabuye_po()
Example #2
0
 def setup_class(self):
     # self.obj = Login_Page(get_driver())
     # # 点击我的
     # self.obj.click_btn()
     self.page_obj = Page(get_driver())
     #点击我的
     self.page_obj.get_login_page().click_btn()
Example #3
0
class Test_Search:
    def setup_class(self):
        self.page_obj = Page(get_driver_sc())
        # 点击搜索按钮
        self.page_obj.get_search_page().click_search()

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

    @pytest.mark.parametrize("input,expect", read_search_data())
    def test_search_text(self, input, expect):
        # print("input:%s\nexpect:%s",(input,expect))
        # 搜索输入内容
        result = self.page_obj.get_search_page().search_text(input)

        assert expect in result
Example #4
0
class Test_Search:
    def setup_class(self):
        #实例化page页面对象
        self.page_obj = Page(get_driver_sc())
        # 点击搜索按钮
        self.page_obj.get_search_page().click_search()

    def teardown_class(self):
        #关闭页面驱动对象
        self.page_obj.driver.quit()

    @pytest.mark.parametrize("text_value,expect", [(1, "休眠"), ("ip", "IP地址"),
                                                   ("mtp", "媒体设备(MTP)")])  #
    def test_search_input(self, text_value, expect):
        # 输入搜索内容,获取搜索结果列表
        result = self.page_obj.get_search_page().search_text(text_value)
        # 断言结果
        assert expect in result
Example #5
0
class Test_Mess:
    def setup_class(self):
        self.page_obj = Page(get_driver_mes())

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

    @pytest.fixture(scope='class', autouse=True)
    def add_phonenum(self):
        #点击新建短信
        self.page_obj.get_mess_page().add_sms()
        #输入手机号
        self.page_obj.get_mess_page().add_phone('1871788888')

    @pytest.mark.parametrize("send_ms", ["hello", "你好", "bye"])
    def test_mess_send(self, send_ms):
        #发送短信
        send_result = self.page_obj.get_mess_page().send_sms(send_ms)
        assert send_ms in send_result
Example #6
0
class Test_Sms:
    def setup_class(self):
        self.page_obj = Page(get_driver())

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

    @pytest.fixture(scope="class", autouse=True)
    def in_sms_page(self):
        self.page_obj.get_sms_page().add_sms()

        self.page_obj.get_sms_page().add_phone("18310787064")

    @pytest.mark.parametrize("send_ms", ["hi", "你好", "嘿嘿"])
    def test_send_sms(self, send_ms):

        send_result = self.page_obj.get_sms_page().send_sms(send_ms)

        assert send_ms in send_result
Example #7
0
class Test_01:
    def setup_class(self):
        # 实例化统一入口类
        self.page_obj = Page(get_driver())

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

    def get_ph(self):
        img_name = './phtot/%d.png' % int(time.time())
        self.page_obj.driver.get_sereenshot_as_file(img_name)
        with open(img_name, 'rb') as f:
            allure.attach("sd", f.read(), allure.attach_type.PNG)

    def test_01(self):

        self.page_obj.get_login_page().click_my_btn()
        assert 0, self.get_ph()

    def test_02(self):
        assert 0, self.get_ph()
class Test_deploy_toutiao:
    def setup_class(self):
        #获取驱动
        self.driver = Init_driver()
        #获取统一页面入口对象
        self.page = Page(self.driver)
        self.shouye_po = self.page.ret_shouye_po()
        self.fabuye_po = self.page.ret_fabuye_po()

    @pytest.mark.skipif(condition=2 > 1, reason="跳过该函数")
    def test01(self):
        '''
        1、进入【首页】,点击发布
        2、点击发图文按钮
        3、进入,【发布页面】,输入文本(上传图片)
        4、点击发布
        '''
        #点击发布
        self.shouye_po.click_deploy_button()
        #点击发图文按钮
        self.shouye_po.click_send_imageAndtext_button()
        #发布内容
        text = '你好,我是诸葛维琪'
        self.fabuye_po.send(text)

    def test02(self):
        '''
        搜索头条,发布头条
        :return:
        '''
        #点击输入框
        self.shouye_po.click_search_input_button()
        #输入搜索内容
        self.shouye_po.send('林峰')
        #点击搜索按钮
        self.shouye_po.click_search_button()
        time.sleep(5)

    def teardown_class(self):
        self.driver.quit()
Example #9
0
    def test_login_page(self, case_num, text, tag):
        """

        :param case_num: 用例编号
        :param text: 输入测试数据
        :param tag: 1 标记成功
        :return:
        """
        page = Page(self.driver, self.url)
        page.open()

        allure.attach("用例编号", "{}".format(case_num))

        page.input_text(text)
Example #10
0
class Test_search(object):
    def setup_class(self):
        self.driver = init_driver()
        self.search_obj = Page(self.driver).Page_obj()
        # 点击搜索按钮
        self.search_obj.start_search()

    def teardown_class(self):
        # 点击返回按钮
        self.search_obj.stop_search()
        #结束搜索
        self.driver.quit()

    @pytest.allure.severity(pytest.allure.severity_level.CRITICAL)
    @allure.step(title="我是001")
    @pytest.mark.parametrize('test_id,input_text,expect_data',
                             package_param_data())
    def test_2case(self, test_id, input_text, expect_data):
        allure.attach("描述", "我在001里面")
        print("test_id", test_id)
        #输入测试用例
        self.search_obj.input_search(input_text)
        self.driver.get_screenshot_as_file("./screenshot/%s.png" % test_id)
        assert expect_data == 456
Example #11
0
class Test_login:
    def setup_class(self):
        # self.obj = Login_Page(get_driver())
        # # 点击我的
        # self.obj.click_btn()
        self.page_obj = Page(get_driver())
        #点击我的
        self.page_obj.get_login_page().click_btn()

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

    @pytest.mark.parametrize(
        'test_login_num,username,passwd,get_mess,expect_message,tag',
        get_data())
    def test_login(self, test_login_num, username, passwd, get_mess,
                   expect_message, tag):
        # 点击登录注册
        self.page_obj.get_login_page().click_login_sign_btn()
        self.page_obj.get_login_page().input_phone(username, passwd)

        # 分两种去情况 我的订单 和登录失败

        # 输入手机号  密码 点击登录
        # 输入正确的手机号和密码
        if tag:
            try:
                # 断言是否登录成功和是否有 我的订单内容
                login_toast = self.page_obj.get_login_page().get_toast(
                    get_mess)
                login_status = self.page_obj.get_login_page(
                ).if_my_order_status()
                #点击设置
                self.page_obj.get_login_page().click_setting_btn()
                # 退出登录  点击安全退出
                self.page_obj.setting_page().safe_logout()
                assert login_toast == expect_message and login_status

            except Exception as e:
                self.page_obj.get_login_page().get_screen_01()
                assert False
            finally:
                # 点击 登录页面的关闭按钮
                self.page_obj.get_login_page().quit_login_page()
        else:
            try:
                mess = self.page_obj.get_login_page().get_toast(get_mess)
                if mess:
                    assert mess == expect_message

                else:
                    self.page_obj.get_login_page().get_screen_01()
                    assert False
            finally:
                self.page_obj.get_login_page().quit_login_page()
Example #12
0
 def setup_class(self):
     # 实例化一个page的统一入口类对象
     self.page_obj = Page(
         get_driver("com.yunmall.lc",
                    "com.yunmall.ymctoc.ui.activity.MainActivity"))
Example #13
0
class Test_Login:
    def setup_class(self):
        # 实例化一个page的统一入口类对象
        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(
        'test_num,phone,passwd,tag,tag_message,expect_requst',
        get_aolai_data())
    def test_login(self, test_num, phone, passwd, tag, tag_message,
                   expect_requst):
        # 点击我的按钮
        self.page_obj.get_home_page_obj().click_my_btn()
        # 点击已有账号去登录
        self.page_obj.get_sign_page_obj().click_exits_account_btn()
        # 进行登录操作
        self.page_obj.get_login_page_obj().login(phone, passwd)
        # 断言是否登录成功,成功就退出,未成功则判断提示信息,
        if tag == 1:
            # 预期成功用例
            try:
                # 定位我的优惠券
                coupons = self.page_obj.get_person_page_obj().get_coupons_text(
                )
                try:
                    # 断言 定位的我的优惠券文本==预期结果
                    assert coupons == expect_requst
                # 元素依然是可以找到的,只是里面的文本可能变了,所以断言时文本不相等 ,但不影响,所以捕获这个异常
                except AssertionError as e:
                    print(e.__str__())
                # 执行退出操作
                # 点击设置按钮
                self.page_obj.get_person_page_obj().click_setting_btn()
                # 向上滑屏,点击退出登录
                self.page_obj.get_setting_page().click_logout_btn()

            # 如果找不到我的优惠券,那么说明本该本成功的用例失败了
            except TimeoutException as e:
                # 关闭登录页面
                self.page_obj.get_login_page_obj().close_login_page_btn()
                # 执行到这里,说明本次用例执行失败,必须抛一个异常,不然会显示本次用例是成功的
                assert False

        else:
            # 预期失败案例
            try:
                # 获取toast消息
                toast_message = self.page_obj.get_person_page_obj(
                ).get_toast_text(tag_message)
                print(toast_message)
                # 获取登录按钮是否存在
                if_login_btn = self.page_obj.get_login_page_obj(
                ).if_login_btn_exits()
                print(if_login_btn)
                # 断言取到了toast文本=预期 同时在登录页面
                assert if_login_btn and toast_message == expect_requst
                print(expect_requst)
            # 如果找不到toast消息,就会超时,所以捕获超时异常
            except TimeoutException as e:
                # 找不到说明和预期不一样,那就是这条用例运行失败,所以必须抛一个异常,不然会显示运行成功
                assert False
            # 不管执行成功还是失败都要把这个页面关闭,才能不影响下一条用例的执行
            finally:
                # 关闭登录页面
                self.page_obj.get_login_page_obj().close_login_page_btn()
Example #14
0
 def setup_class(self):
     self.driver = init_driver()
     self.search_obj = Page(self.driver).Page_obj()
     # 点击搜索按钮
     self.search_obj.start_search()
Example #15
0
class Test_Login:
    def setup_class(self):
        self.page_obj = Page(get_driver())
        # 点击我的
        self.page_obj.get_login_page().click_my_btn()
    def teardown_class(self):
        self.page_obj.driver.quit()


    @pytest.mark.parametrize("username,passwd,expectx,expect_toast,get_msg",get_login_data())
    def test_login(self, username,passwd,expectx,expect_toast,get_msg):
        # 点击登陆/注册
        self.page_obj.get_login_page().click_insert_login()
        # 登陆操作
        self.page_obj.get_login_page().login(username, passwd)

        if expectx:
            try:
                # 登陆成功toast消息
                suc_msg = self.page_obj.get_login_page().find_toast(get_msg)
                # 获取我的订单按钮是否存在 成功返回True 不成功返回False
                suc_status = self.page_obj.get_login_page().get_suc_login_status()
                # 断言成功/失败
                assert suc_msg == expect_toast and  suc_status
                # 退出操作
                # 点击个人中心设置
                self.page_obj.get_setting_page().click_setting_btn()
                # 点击退出登录按钮
                self.page_obj.get_setting_page().click_logout_btn()
            except:
                # 点击登陆页面关闭按钮
                self.page_obj.get_login_page().login_faile_x()
                assert False
        else:
            # 获取toast消息
            reslut_msg = self.page_obj.get_login_page().find_toast(get_msg)
            # 点击登陆页面关闭按钮
            self.page_obj.get_login_page().login_faile_x()
            assert expect_toast == reslut_msg
Example #16
0
class Test_01:
    def setup_class(self):
        self.Page_obj = Page(get_driver("com.tpshop.malls", ".SPMainActivity"))
        self.Page_obj.get_login_page().click_my_btn()

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

    @allure.step("执行测试用例")
    @pytest.mark.parametrize(
        "case_num, username, passwd,get_mess,expect_message, tag", get_data())
    def test_01_1(self, case_num, username, passwd, get_mess, expect_message,
                  tag):
        self.Page_obj.get_login_page().click_sign_btn()
        self.Page_obj.get_login_page().input_mess(username, passwd)
        self.Page_obj.get_login_page().click_login_btn()
        if tag:
            try:
                order_status = self.Page_obj.get_login_page(
                ).if_my_order_status()
                toast = self.Page_obj.get_login_page().get_toast(get_mess)
                self.Page_obj.get_login_page().click_setting_btn()
                self.Page_obj.get_setting_page().clcik_exit_btn()
                assert order_status and toast == expect_message
            except Exception as e:
                print(e)
                self.Page_obj.get_login_page().click_close()
                assert False
        else:
            try:
                toast = self.Page_obj.get_login_page().get_toast(get_mess)
                if toast:
                    assert toast == expect_message
                else:
                    assert False
            finally:
                self.Page_obj.get_login_page().click_close()
Example #17
0
class Test_Login:
    def setup_class(self):
        # 实例化统一入口类
        self.page_obj = Page(get_driver())
        self.page_obj.get_login_page().click_my_btn()

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

    @pytest.mark.parametrize(
        "case_num, username, passwd,get_mess,expect_message, tag", get_data())
    def test_login_page(self, case_num, username, passwd, get_mess,
                        expect_message, tag):
        """
        :param username: 用户名
        :param passwd: 密码
        :param get_mess: toast传参
        :param expect_message: 预期toast消息
        :param tag: 1 标记登陆成功用例
        :return:
        """
        # 点击登陆注册
        self.page_obj.get_login_page().click_login_sign_btn()
        # 登陆操作
        self.page_obj.get_login_page().login_input_page(username, passwd)
        if tag:
            try:
                # 获取登陆成功toast
                suc_msg = self.page_obj.get_login_page().get_toast(get_mess)
                # 获取我的订单状态
                order_status = self.page_obj.get_login_page(
                ).if_my_order_status()
                # 退出登录
                self.page_obj.get_setting_page().logout_page()
                assert suc_msg == expect_message and order_status

            except Exception as e:
                # 关闭登陆信息输入页面
                self.page_obj.get_login_page().login_close_page()
                assert False
        else:
            try:
                # 获取登陆失败toast消息
                fail_msg = self.page_obj.get_login_page().get_toast(get_mess)
                if fail_msg:
                    assert fail_msg == expect_message
                else:
                    assert False
            finally:
                self.page_obj.get_login_page().login_close_page()
Example #18
0
class Test_01:
    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.fixture(autouse=True)
    def in_login(self):
        # 点击我的
        self.page_obj.get_home_page_obj().click_my_btn()
        # 点击已有账号登录
        self.page_obj.get_sign_page_obj().click_exits_account_btn()

    @pytest.mark.parametrize('test_num,phone,passwd,tag_message,expect_requst',
                             get_login_data().get('scc'))
    def test_login_scc(self, test_num, phone, passwd, tag_message,
                       expect_requst):
        """预期正确的用例"""
        try:
            coupons = self.page_obj.get_person_page_obj().get_coupons_text()
            try:
                assert coupons == expect_requst
            except AssertionError as e:
                print(e.__str__())
            # 点击设置
            self.page_obj.get_person_page_obj().click_setting_btn()
            # 点击退出
            self.page_obj.get_setting_page().click_logout_btn()
        except TimeoutError as e:
            # 关闭登录页面
            self.page_obj.get_login_page_obj().close_login_page_btn()

    @pytest.mark.parametrize('test_num,phone,passwd,tag_message,expect_requst',
                             get_login_data().get('s'))
    def test_login_s(self, test_num, phone, passwd, tag_message,
                     expect_requst):
        """预期失败的用例"""
        pass
Example #19
0
 def setup_class(self):
     # 实例化统一入口类
     self.page_obj = Page(get_driver())
Example #20
0
 def setup_class(self):
     # 实例化统一入口类
     self.page_obj = Page(get_driver())
     self.page_obj.get_login_page().click_my_btn()
Example #21
0
from selenium.webdriver.common.by import By

from Base.getdriver import get_phone_driver
from Page.Page import Page

# 实例化driver
driver = get_phone_driver("com.yunmall.lc",
                          "com.yunmall.ymctoc.ui.activity.MainActivity")
# 实例化统一入口类
page_obj = Page(driver)

# 点击首页我
page_obj.get_homepage().click_my_btn()
# 点击注册页面已有账号去登录
page_obj.get_signpage().click_exits_account()
# 执行登录操作
page_obj.get_loginpage().login("13488834010", "159357")
# 获取提示消息
# 获取错误提示xpath
error_message = (By.XPATH, '//*[contains(@text,"错误")]')
message = page_obj.get_settingpage().get_element(error_message,
                                                 timeout=5,
                                                 poll_frequency=0.5).text

print(message)

# # 获取我的优惠券
# print("获取结果:{}".format(page_obj.get_personpage().get_shop_cart()))
# # 点击设置按钮
# page_obj.get_personpage().click_setting_btn()
# 退出操作
Example #22
0
class TestLogin:
    def setup_class(self):
        # 初始化driver
        self.driver = get_phone_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 auto_in_login(self):
        """自动进入登录页面"""
        # 点击我
        self.page_obj.get_homepage().click_my_btn()
        # 点击已有账号
        self.page_obj.get_signpage().click_exits_account()

    @pytest.mark.parametrize("case_num, account, passwd, exp_data", get_login_data().get("suc"))
    def test_login_suc(self, case_num, account, passwd, exp_data):
        """

        :param case_num: 用例编号
        :param account: 用户名
        :param passwd: 密码
        :param exp_data: 预期结果
        :return:
        """
        # 登录操作 --个人中心
        self.page_obj.get_loginpage().login(account, passwd)
        try:
            # 获取我的优惠
            shop_cart = self.page_obj.get_personpage().get_shop_cart()  # 能获取到  ---获取不到-验证完
            try:
                assert exp_data == shop_cart  # 断言成功 ---断言失败
            except AssertionError:
                """停留在个人中心,需要执行退出操作"""
                # 截图
                self.page_obj.get_loginpage().screen_page()  # ---
                assert False
            finally:
                # 点击设置
                self.page_obj.get_personpage().click_setting_btn()  # 正向走的  ---获取失败和断言失败
                # 退出操作
                self.page_obj.get_settingpage().logout()  # ---获取失败和断言失败
        except TimeoutException:  # ----没找到元素 -验证完
            # 截图
            self.page_obj.get_loginpage().screen_page()
            # 关闭页面
            self.page_obj.get_loginpage().login_close_page()
            assert False

    @pytest.mark.parametrize("case_num, account, passwd, toast, exp_data", get_login_data().get("fail"))
    def test_login_fail(self, case_num, account, passwd, toast, exp_data):
        """
        :param case_num: 用例编号
        :param account: 用户名
        :param passwd: 密码
        :param toast: 获取toast消息参数
        :param exp_data: 预期结果
        :return:
        """
        # 登录操作 --个人中心
        self.page_obj.get_loginpage().login(account, passwd)
        try:
            # 获取toast消息
            toast_data = self.page_obj.get_settingpage().get_toast(toast) # 成功 失败
            try:
                """登录页面操作"""
                # 判断登录按钮是否存在
                self.page_obj.get_loginpage().if_login_btn()
                # 断言
                assert toast_data == exp_data
                # 关闭登录页面
                self.page_obj.get_loginpage().login_close_page()
            except TimeoutException:
                """获取到toast错误提示,但是登录成功"""
                # 截图
                self.page_obj.get_loginpage().screen_page()
                # 点击设置
                self.page_obj.get_personpage().click_setting_btn()
                # 退出
                self.page_obj.get_settingpage().logout()
                assert False
            except AssertionError:
                """登录页面"""
                # 截图
                self.page_obj.get_loginpage().screen_page()
                # 关闭登录按钮
                self.page_obj.get_loginpage().login_close_page()
                assert False

        except TimeoutException:
            """找不到toast消息"""
            # 截图
            self.page_obj.get_settingpage().screen_page()
            try:
                """登录页面"""
                # 登录按钮
                self.page_obj.get_loginpage().if_login_btn()
                # 关闭登录页面
                self.page_obj.get_loginpage().login_close_page()
            except TimeoutException:
                """个人中心页面"""
                # 点击设置
                self.page_obj.get_personpage().click_setting_btn()
                # 退出操作
                self.page_obj.get_settingpage().logout()
            assert False
Example #23
0
 def setup_class(self):
     self.Page_obj = Page(get_driver("com.tpshop.malls", ".SPMainActivity"))
     self.Page_obj.get_login_page().click_my_btn()
Example #24
0
 def setup_class(self):
     self.page_obj = Page(get_driver_mes())
Example #25
0
 def setup_class(self):
     # 初始化driver
     self.driver = get_phone_driver("com.yunmall.lc", "com.yunmall.ymctoc.ui.activity.MainActivity")
     # 初始化统一入口类
     self.page_obj = Page(self.driver)
Example #26
0
# coding: utf-8
from time import sleep
from Page.Page import Page
from Base.getdriver import get_phone_driver
from Page.UiElements import UiElements
"""定义一个设备(版本:platformVersion,设备名:deviceName,包名:appPackage, 启动名:appActivity)"""
driver = get_phone_driver('5.1.1', '127.0.0.1:62001', 'com.qiaqia',
                          '.cardhome.activity.WelcomeActivity')
# driver = get_phone_driver('9','9889d6483158465037','com.qiaqia','.cardhome.activity.WelcomeActivity')
page_obj = Page(driver)
"""关闭三星权限弹框"""
# page_obj.get_SamsungSystemPage().click_Samsung_system_permission()
"""点击消息按钮,跳转到登陆页面"""
try:
    page_obj.get_MyPage().click_my_btn()
    print("跳转登录页成功")
except:
    print("跳转登录页失败")
    exit()
"""登录"""
try:
    page_obj.get_LoginPage().login("18295995951", "123456")
    print("登录成功")
except:
    print("登录失败")
    exit()
"""消息"""
page_obj.get_MessagePage().click_message_btn(UiElements.Home_message_btn_id)
page_obj.get_MessagePage().click_private_btn()
page_obj.get_MessagePage().click_inform_btn()
page_obj.get_MessagePage().click_search_btn("1")
Example #27
0
 def setup_class(self):
     #实例化page页面对象
     self.page_obj = Page(get_driver_sc())
     # 点击搜索按钮
     self.page_obj.get_search_page().click_search()
Example #28
0
class Test_Add_Address():
    def setup_class(self):
        self.pag_obj = Page(get_driver())
        # 判断是否登陆
        self.pag_obj.get_login_page().if_login()

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

    @pytest.mark.run(order=3)
    @pytest.mark.parametrize("name, get_toast, expect_toast",
                             data_list().get("del_data"))
    def test_delete_addr(self, name, get_toast, expect_toast):
        # 删除已添加地址
        # 地址编辑按钮
        self.pag_obj.get_add_addr_page().edit_address()
        # 点击删除
        self.pag_obj.get_add_addr_page().delete_address()
        # 判断toast消息
        assert expect_toast == self.pag_obj.get_add_addr_page().find_toast(
            get_toast)
        # 判断列表收货人不包含某个用户名
        assert not self.pag_obj.get_add_addr_page().if_addr_name()

    @pytest.mark.run(order=2)
    @pytest.mark.parametrize("name, get_toast, expect_toast",
                             data_list().get("edit_data"))
    def test_edit_address(self, name, get_toast, expect_toast):
        # 修改收货人 和 取消默认
        self.pag_obj.get_add_addr_page().edit_address()
        # 修改收货人
        self.pag_obj.get_add_addr_page().add_recv_name(name)
        # 关闭默认开关
        self.pag_obj.get_add_addr_page().click_default_btn()
        # 点击保存按钮
        self.pag_obj.get_add_addr_page().click_addr_save()
        # 判断toast消息
        assert expect_toast == self.pag_obj.get_add_addr_page().find_toast(
            get_toast)
        # 判断收货人
        assert name in self.pag_obj.get_add_addr_page().if_addr_name()
        # 判断默认消失
        assert not self.pag_obj.get_add_addr_page().if_addr_default()

    @pytest.mark.run(order=1)
    @pytest.mark.parametrize(
        "name,phone,detail,get_toast,expect_toast,expect_default",
        data_list().get("add_data"))
    def test_add_address(self, name, phone, detail, get_toast, expect_toast,
                         expect_default):
        # 点击收货地址
        self.pag_obj.get_add_addr_page().click_recv_addr()
        # 点击新建地址
        self.pag_obj.get_add_addr_page().new_address()
        # 输入收货人
        self.pag_obj.get_add_addr_page().add_recv_name(name)
        # 输入手机号
        self.pag_obj.get_add_addr_page().add_recv_phone(phone)
        # 选择所在地区
        self.pag_obj.get_add_addr_page().add_recv_change_area()
        # 输入详细地址
        self.pag_obj.get_add_addr_page().add_recv_detail(detail)
        # 点击保存新增地址
        self.pag_obj.get_add_addr_page().click_addr_save()

        # 判断添加成功提示
        assert expect_toast == self.pag_obj.get_add_addr_page().find_toast(
            get_toast)
        # 判断收货人姓名
        assert name in self.pag_obj.get_add_addr_page().if_addr_name()
        # 判断默认
        assert expect_default in self.pag_obj.get_add_addr_page(
        ).if_addr_default()
Example #29
0
 def setup_class(self):
     self.page_obj = Page(get_driver())
     # 点击我的
     self.page_obj.get_login_page().click_my_btn()
Example #30
0
 def setup_class(self):
     self.pag_obj = Page(get_driver())
     # 判断是否登陆
     self.pag_obj.get_login_page().if_login()