Exemplo n.º 1
0
class TestCardrule(unittest.TestCase):
    """升降级规则设置(VIP会员)"""

    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/cardrule/index')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    # @unittest.skip('')
    @ddt.data(*get_data('cardRule', 'CASE1'))
    @reply_case_fail(num=3)
    def testcase1(self, data):
        """升级规则设置"""
        print('========★{}★========'.format(data['case_desc']))  # case描述
        self.cindex = Cardrule(self.url, self.driver, data['title'])
        self.cindex.open
        # 点击修改
        self.cindex.click_modify()
        # 选择升级规则,并输入内容
        self.cindex.select_up(data['rule_text'], data['up_index'])
        sleep(2)
        # 点击确认
        self.cindex.click_up_sure()
        # 点击保存
        self.cindex.click_save()

    # @unittest.skip('')
    @ddt.data(*get_data('cardRule', 'CASE2'))
    @reply_case_fail(num=1)
    def testcase2(self, data):
        """降级规则设置"""
        print('========★{}★========'.format(data['case_desc']))  # case描述
        self.cindex = Cardrule(self.url, self.driver, data['title'])
        self.cindex.open
        # 点击修改
        self.cindex.click_subdmote()
        # 选择降级规则,并输入内容(输入的内容与选择的规则要对应)
        self.cindex.select_down(data['down_index'])
        # 月累计消费未达到
        self.cindex.input_money(data['money'])
        # 会员当前等级满
        self.cindex.input_sizes(data['sizes'], data['unit'])
        # 会员在当前等级每
        self.cindex.input_month_time(data['monthTime'],
                                     data['monthMoney']
                                     )
        # 会员在当前等级每
        self.cindex.input_recharge_time(data['rechargeTime'],
                                        data['rechargeMoney']
                                        )
        sleep(2)
        # 点击确认
        self.cindex.click_down_sure()
        # 点击保存
        self.cindex.click_save()
Exemplo n.º 2
0
    def input_text_index(self, desc, text, index, *loc):
        """
        按索引输入文本
        :param desc: 输入框描述
        :param text: 输入内容
        :param index: 元素索引
        :param loc: 定位器
        :return: 无
        """
        print('Input{}:{}'.format(desc, text))
        index = int(index)
        var = get_data(gl.configFile, 'CONFIG')
        flag_conf = var['Custom_Var']
        # 判断是自定义函数%%还是普通文本
        if str(text).startswith('%') and str(text).endswith('%'):
            flag = str(text)
            # 判断是自定义函数是否带参数
            if ('(' in str(text)) and (')' in str(text)):

                s = str(text).rsplit('(')
                flag = '{}{}'.format(s[0], '%')

                param = s[1].rsplit(')')[0]
                # eval恢复函数原型并调用
                eval(str(flag_conf[flag]).format(param))
            else:
                flag = str(text)
                eval(flag_conf[flag])
        else:
            ele = self.find_elements(*loc)[index]
            ele.send_keys(text)
Exemplo n.º 3
0
class TestBatchcharge(unittest.TestCase, RechargeDetailPage):
    """会员管理--批量充值"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/member/batchcharge/index')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*get_data('batchcharge', 'CASE1'))
    @reply_case_fail(num=3)
    def testcase1(self, data):
        """批量充值"""
        print('========★{}★========'.format(data['case_desc']))  # case描述
        self.batch = BatchchargePage(self.url, self.driver, data['title'])
        self.batch.open
        # 上传文件
        # self.batch.upload_file(os.path.join(gl.dataPath,
        #                                    '批量充值模板.csv')
        #                      )
        self.batch.up(data['url'])
        # 输入备注
        desc = data['desc'] + genrandomstr(5)
        self.batch.input_rechargedesc(desc)
        # 点击确认
        self.batch.click_submit()
        # 点击财务报表
        self.click_finance()
        # 点击充值
        self.click_recharge()
        # 检查是否充值成功
        self.assertEqual(self.get_noteth(), desc)
Exemplo n.º 4
0
class TestRegionIndex(unittest.TestCase):
    """区域设置"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/region/index')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*get_data('regionIndex', 'CASE1'))
    @reply_case_fail(num=3)
    def testcase1(self, data):
        """区域设置"""
        print('========★{}★========'.format(data['case_desc']))  # case描述
        self.rIndex = RegionIndex(self.url, self.driver, data['title'])
        self.rIndex.open
        # 添加一级
        self.rIndex.click_create_area()
        # 区域名称
        self.rIndex.input_area_name(data['areaName'], data['areaIndex'])
        # 保存
        self.rIndex.click_save()
        # 断言是否保存成功
        self.assertEqual(self.rIndex.get_name(), data['areaName'])
        # 删除
        self.rIndex.click_delete()
        # 确定
        self.rIndex.click_sure()
Exemplo n.º 5
0
class TestRoleAdd(unittest.TestCase):
    """积分排行"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/role/add')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*get_data('roleAdd', 'CASE1'))
    @reply_case_fail(num=3)
    def testCase1(self, data):
        """角色与权限-创建角色"""
        print('========★{}★========'.format(data['case_desc']))  #case描述
        tc = RoleAdd(self.url, self.driver, data['page_title'])
        tc.open
        #角色名称
        tc.input_role_name(data['role_name'])
        #备注
        tc.input_remark_text(data['role_remark'])
        #选择全部模块
        tc.click_select_all()
        #保存
        tc.click_save_button()
        #断言
        self.assertTrue(tc.assert_add_success(data['role_add']))
Exemplo n.º 6
0
    def input_text(self, text, desc, *loc):
        """
        输入文本操作
        :param text:
        输入文本内容;如果为%BLANK%,为清除输入框默认值;
        输入文本内容;如果为%NONE%,为不做任何操作
        :param desc:
        :param loc:
        :return:
        """
        print('Input{}:{}'.format(desc, text))
        var = get_data(gl.configFile, 'CONFIG')
        flag_conf = var['Custom_Var']
        # 判断是自定义函数%%还是普通文本
        if str(text).startswith('%') and str(text).endswith('%'):
            flag = str(text)
            # 判断是自定义函数是否带参数
            if ('(' in str(text)) and (')' in str(text)):

                s = str(text).rsplit('(')
                flag = '{}{}'.format(s[0], '%')

                param = s[1].rsplit(')')[0]
                # eval恢复函数原型并调用
                eval(str(flag_conf[flag]).format(param))
            else:
                flag = str(text)
                eval(flag_conf[flag])
        else:
            self.send_keys(text, *loc)
Exemplo n.º 7
0
class TestActivityCreate256(unittest.TestCase):
    """营销-给生日会员赠券"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/activity/create/256')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass


    @ddt.data(*get_data('activityCreate256', 'CASE1'))
    @reply_case_fail(num=3)
    def testCase1(self, data):
        """给生日会员赠券"""
        print('========★{}★========'.format(data['case_desc'])) #case描述
        self.tc = ActivityCreate256(
            self.url,
            self.driver,
            data['page_title']
        )
        self.tc.open
        #活动名称
        self.tc.input_activity_name(data['activity_name'])
        #赠券设置-增加券
        self.tc.click_add_coupon()
        #券类型;0代金券;1礼品券
        self.tc.click_coupon_type(data['coupon_type'])
        #使用
        self.tc.click_coupon_used(data['coupon_index'])
        #发券提醒;0不提醒;1短信提醒
        self.tc.click_send_remind(data['remind_index'])
        #券到期提醒;0不提醒;1短信提醒
        self.tc.click_expire(data['expire_index'])

        #保存-确认
        self.tc.click_save_button()
        self.tc.click_sconfirm_btn()
        #断言
        self.assertTrue(
            self.tc.assert_add_success(
                data['activity_name'],
                data['activity_status']
            )
        )
        #终止
        self.tc.click_stop_button()
        #终止确认
        self.tc.click_stop_confirm(data['confirm_index'])
        #断言
        self.assertFalse(
            self.tc.assert_add_success(
                data['activity_name'],
                data['activity_status']
            )
        )
Exemplo n.º 8
0
class TestActivityCreate16(unittest.TestCase):
    """给新会员赠券"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/activity/create/16')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*get_data('activityCreate16', 'CASE1'))
    @reply_case_fail(num=3)
    def testcase1(self, data):
        """给新会员赠券"""
        print('========★{}★========'.format(data['case_desc']))  #case描述
        #实例化page对象
        ts = ActivityCreate16(self.url, self.driver, data['Title'])
        # 打开给新会员赠券页面
        ts.open
        #活动名称
        ts.input_activity_name(data['activiy_name'])
        #新赠券
        ts.click_add_coupon()
        # 选择券类型;0代金券;1礼品券
        ts.click_coupon_type(data['coupon_type'])
        # 使用券
        ts.click_coupon_used(data['used_index'])
        #发券提醒;0不提醒;1短信提醒
        ts.click_send_remind(data['remind_index'])
        #券到期提醒;0不提醒;1短信提醒
        ts.click_expire(data['expire_index'])
        #发券日期
        ts.input_start_date(data['start_date'])
        #发券时间
        ts.input_start_time(data['start_time'])
        #下一步
        ts.click_next_button()
        #群发活动消息;0不发送;1发送提醒消息
        ts.click_activity_msg(data['activity_msg'])
        #提交
        ts.click_submit_button()
        #提交确认 #确认按钮索引;1为提交确认
        ts.click_sconfirm_btn(data['button_index'])
        #断言
        self.assertTrue(
            ts.assert_add_success(data['activiy_name'],
                                  data['activity_status']))
        #删除
        ts.click_delete_button()

        ts.wait(3000)
        #断言删除
        self.assertFalse(
            ts.assert_add_success(data['activiy_name'],
                                  data['activity_status']))
Exemplo n.º 9
0
class TestChargelicense(unittest.TestCase):
    """储值授信"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/chargelicense/list')  # 储值授信入口
        cls.url_ = ""

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        #  pass

    @ddt.data(*get_data('chargelicenseListPage', 'CASE1'))
    @reply_case_fail(num=1)
    def testcase1(self, data):
        """储值授信修改_增加"""
        print('========★{}★========'.format(data['case_desc']))  # case描述
        self.clist = ChargeLicenseList(self.url, self.driver, data['title'])
        self.clist.open
        # 获取修改之前额度
        old_num = self.clist.get_totalText()
        # 点击修改按钮
        self.clist.click_eidit_btn()
        # 选择增加
        self.clist.select_creditLimit(data['index'])
        # 输入增加金额
        self.clist.input_increase(data['increase'])
        # 输入减少金额
        self.clist.input_decrease(data['decrease'])
        # 输入预警额度
        self.clist.input_warningLimit(data['warningLimit'])
        # 输入手机号
        self.clist.input_phone(data['phone'])
        # 点击保存按钮
        self.clist.click_submit()
        # 保存成功,点击返回按钮
        self.slist = ChargeListSusscess(self.url_, self.driver,
                                        '授信规则设置 - 自动化测试专用')
        self.slist.clickBcakBtn()

        # 获取修改后的额度
        new_num = self.clist.get_totalText()
        # 判断是否修改成功
        if data['index'] == 0:
            # 判断增加额度是否成功
            self.assertTrue(self.clist.assertEditCreditLimitTrue(old_num,
                                                                 data['increase'],
                                                                 new_num))
        else:
            # 判断减少额度是否成功
            self.assertTrue(self.clist.assertEditCreditLimitTrue(old_num,
                                                                 data['decrease'],
                                                                 new_num)
                            )
Exemplo n.º 10
0
class TestMallactivityAdd(unittest.TestCase):
    """限时秒杀"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/mallactivity/add')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*get_data('mallactivityAdd', 'CASE1'))
    @reply_case_fail(num=3)
    def testCase1(self, data):
        """限时秒杀"""
        print('========★{}★========'.format(data['case_desc']))  #case描述
        tc = MallactivityAdd(self.url, self.driver, data['page_title'])
        tc.open
        #活动名称
        tc.input_activtity_name(data['activity_name'])
        #活动开始时间
        tc.input_start_date(data['start_date'])
        #活动结束时间
        tc.input_end_date(data['end_date'])
        #限购设置;0不限购;1限购,并填入数量
        tc.click_limit_shop(data['limit_index'], data['limit_num'])
        #增加商品
        tc.click_add_product()
        #选择商品;0选择第一个商品,依此类推
        tc.click_product_checkbox(data['checkbox_index'])
        #确认
        tc.click_confirm_button()
        #秒杀价格
        tc.input_price_text(data['ses_price'])
        #秒杀数量
        tc.input_number_text(data['ses_num'])
        #保存
        tc.click_save_button()
        #断言
        self.assertTrue(
            tc.assert_add_success(data['activity_name'],
                                  data['activity_status']))

        #删除
        tc.click_del_button()
        #删除确认
        tc.click_confirm_button()
        tc.wait(3000)
        #断言
        self.assertFalse(
            tc.assert_add_success(data['activity_name'],
                                  data['activity_status']))
Exemplo n.º 11
0
class TestActivityCreate1024(unittest.TestCase):
    """营销-累计消费返券"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/activity/create/1024')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*get_data('activityCreate1024', 'CASE1'))
    @reply_case_fail(num=3)
    def testCase1(self, data):
        """开卡关怀"""
        print('========★{}★========'.format(data['case_desc']))  #case描述
        self.tc = ActivityCreate1024(self.url, self.driver, data['page_title'])
        self.tc.open
        #活动名称
        self.tc.input_activity_name(data['activity_name'])
        #赠券设置;0金额;1次数
        self.tc.select_list_index(data['coupon_index'])
        #输入金额
        self.tc.input_amount_rmb(data['amount'])
        #赠券设置-增加券
        self.tc.click_add_coupon()
        #券类型;0代金券;1礼品券
        self.tc.click_coupon_type(data['coupon_type'])
        #使用
        self.tc.click_coupon_used(data['coupon_index'])
        #发券提醒;0不提醒;1短信提醒
        self.tc.click_send_remind(data['remind_index'])
        #券到期提醒;0不提醒;1短信提醒
        self.tc.click_expire(data['expire_index'])
        #活动开始时间-结束时间
        self.tc.input_start_time(data['start_time'])
        self.tc.input_end_time(data['end_time'])
        #活动说明
        self.tc.input_activity_desc(data['activity_desc'])
        #保存-确认
        self.tc.click_save_button()
        self.tc.click_sconfirm_btn()
        #断言
        self.tc.assert_add_success(data['activity_name'], data['status'])
        #删除
        self.tc.click_delete_button()
        self.tc.wait(3000)
        #删除断言
        self.tc.assert_add_success(data['activity_name'], data['status'])
Exemplo n.º 12
0
class TestCardCategory(unittest.TestCase):
    """卡类别管理"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/cardcategory/index')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*get_data('cardCategory', 'CASE1'))
    @reply_case_fail(num=3)
    def testcase1(self, data):
        """添加卡类别"""
        print('========★{}★========'.format(data['case_desc']))  # case描述
        self.clist = Cardcategory(self.url, self.driver, data['title'])
        self.clist.open
        # 点击添加卡类别按钮
        self.clist.click_cardAdd()
        # 选择卡类别属性
        self.clist.select_cardattribute(data['cardindex'])
        # 输入卡类别名称
        self.clist.input_inputName(data['inputname'])
        # 选择卡面样式
        self.clist.select_cardType(data['cardtype'],
                                   os.path.join(gl.dataPath, 'back.png')
                                   )
        # 卡面名称使用
        self.clist.select_cardname(data['cardname'], os.path.join(gl.dataPath, 'logo.png'))
        # 选择储值
        self.clist.select_inputStored(data['inputstored'])
        sleep(2)
        # 选择积分
        self.clist.selcet_pointValue(data['pointvalue'])
        # 输入会员价
        self.clist.input_vipPrice(data['vipprice'])
        # 积分特权:每消费现金
        self.clist.input_creditPrice(data['creditprice'])
        # 输入积分特权内容
        self.clist.input_privilege(data['index'], data['privilege'])
        # 点击确定按钮
        self.clist.click_submit()
        self.assertEqual(self.clist.get_sussesscard_name(data['nameindex']), data['inputname'])
        # 点击删除按钮
        self.clist.click_remove(data['remove_index'])
        # 点击确定
        self.clist.click_sure()
Exemplo n.º 13
0
class TestActivityCreate1028(unittest.TestCase):
    """升级赠礼"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/activity/create/1028')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*get_data('activityCreate1028', 'CASE1'))
    @reply_case_fail(num=3)
    def testCase1(self, data):
        """升级赠礼"""
        print('========★{}★========'.format(data['case_desc']))  #case描述
        self.tc = ActivityCreate1028(self.url, self.driver, data['page_title'])
        self.tc.open
        #活动名称
        self.tc.input_activity_name(data['activity_name'])
        #赠券设置-增加券
        self.tc.click_add_coupon()
        #券类型;0代金券;1礼品券
        self.tc.click_coupon_type(data['coupon_type'])
        #使用
        self.tc.click_coupon_used(data['coupon_index'])
        #发券提醒;0不提醒;1短信提醒
        self.tc.click_send_remind(data['remind_index'])
        #券到期提醒;0不提醒;1短信提醒
        self.tc.click_expire(data['expire_index'])
        #活动卡类别
        self.tc.click_card_type()
        #赠送积分
        self.tc.input_credit(data['credit_num'])
        #赠送储值
        self.tc.input_charge(data['charge_num'])
        #活动开始时间
        self.tc.input_start_time(data['start_time'])
        #-结束时间
        self.tc.input_end_time(data['end_time'])
        #保存-确认
        self.tc.click_save_button()
        self.tc.click_sconfirm_btn()
        #断言
        self.tc.assert_add_success(data['start_time'])
        #删除
        self.tc.click_delete_button()
Exemplo n.º 14
0
class TestActivityCreate64(unittest.TestCase):
    """营销-填资料赠券"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/activity/create/128')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*get_data('activityCreate128', 'CASE1'))
    @reply_case_fail(num=3)
    def testCase1(self, data):
        """填资料赠券"""
        print('========★{}★========'.format(data['case_desc']))  #case描述
        po = ActivityCreate128(self.url, self.driver, data['Title'])
        po.open  #打开赠券页面
        # 活动名称
        po.input_activity_name(data['Name'])
        #单击增加券
        po.click_add_coupon()
        #选择券;0代金券;1礼品券
        po.click_coupon_type(data['coupon_index'])
        #使用券;0第一张;1第二张,依此类推
        po.click_coupon_used(data['used_index'])
        #发券提醒;0不提醒;1短信提醒
        po.click_send_remind(data['remind_index'])
        #券到期提醒
        po.click_expire(data['exremind_index'])
        #活动说明
        po.input_activity_desc(data['desc'])
        #保存
        po.click_save_button()
        #保存确认
        po.click_sconfirm_btn()
        #断言
        self.assertTrue(po.assert_success(data['Name'], data['add_status']))
        #终止
        po.click_stop_button()
        #终止确认
        po.click_cstop_button(data['button_index'])
        #单击终止确认弹框要等几秒才会消失
        po.wait(3000)
        #终止断言
        self.assertTrue(po.assert_success(data['Name'], data['stop_status']))
Exemplo n.º 15
0
class TestValuecardList(unittest.TestCase):
    """储值卡--创建"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/valuecard/list')  # 储值卡入口
        cls.url_s = ""

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*get_data('valuecardListPage', 'CASE1'))
    @reply_case_fail(num=3)
    def testcase1(self, data):
        """创建储值卡--永久有效"""
        print('========★{}★========'.format(data['case_desc']))  # case描述
        self.vlist = ValueCardList(self.url, self.driver, data['title'])
        # 打开储值卡页面
        self.vlist.open
        # 点击开启按钮
        self.vlist.select_control(data['on-off'])
        # sleep(2)
        # 点击创建储值卡按钮,进入创建、编辑页面
        self.vlist.click_cardCreateBtn()
        # 输入储值名称
        card_name = data['name'] + genrandomstr(6)
        self.vlist.input_name(card_name)
        # 输入面额
        self.vlist.input_denomination(data['denomination'])
        # 输入售价
        self.vlist.input_price(data['price'])
        # 输入总量
        self.vlist.input_total(data['total'])
        # 选择有效期 0:永久有效;1:多少天后有效
        self.vlist.select_prepaid_term(data['index'])
        # 当选择有效期为1,输入天数
        self.vlist.input_prepaidTermCount(data['prepaidTermCount'])
        # 点击保存按钮
        self.vlist.clickSaveBtn()
        # 保存成,点击返回按钮
        self.slist = ChargeListSusscess(self.url_s, self.driver, data['title'])
        self.slist.clickBcakBtn()
        # 断言是否成功创建储值卡
        sleep(2)
        self.assertEqual(self.vlist.get_successNameText(), card_name)
Exemplo n.º 16
0
class TestQueueList(unittest.TestCase):
    """等位设置"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/queue/list')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*(get_data('queueList', 'CASE1')))
    @reply_case_fail(num=3)
    def testcase1(self, data):
        """等位设置"""
        print('========★{}★========'.format(data['case_desc']))  # case描述
        self.qlist = queueListPage(self.url, self.driver, data['title'])
        self.qlist.open
        # 开启
        sleep(2)
        self.qlist.select_state(data['state'])
        # 创建等位队列
        self.qlist.click_create()
        #  输入列队名称
        self.qlist.input_queue_name(data['queueName'])
        # 输入人数范围
        self.qlist.input_min_range(data['minRange'])
        self.qlist.input_max_range(data['maxRange'])
        # 选择叫号前缀
        self.qlist.select_prefix(data['prefixNum'])
        # 输入起始号码
        self.qlist.input_start_num(data['startNum'])
        # 选择号码格式
        self.qlist.select_format(data['format'])
        # 选择到号提醒方式,并输入提前多少桌提醒
        self.qlist.select_warn(data['warn'], data['warnNum'])
        # 保存
        self.qlist.click_save()
        # 判断是否保存成功
        self.assertEqual(self.qlist.get_name(), data['queueName'])
        # 删除
        self.qlist.click_remove()
        self.qlist.click_sure()
Exemplo n.º 17
0
class TestListCompanies(unittest.TestCase):
    """集团消费"""

    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/group/listCompanies')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*get_data('listCompanies', 'CASE1'))
    @reply_case_fail(num=3)
    def testcase1(self, data):
        """添加集团消费"""
        print('========★{}★========'.format(data['case_desc']))  # case描述
        self.list = ListCompaniesPage(self.url, self.driver,
                                      data['title']
                                      )
        self.list.open
        # 添加集团
        self.list.click_groupcreate()
        # 集团名称
        merbername = data['merbername'] + genrandomstr(6)
        self.list.input_merber_name(merbername)
        # 挂帐额度
        self.list.input_overdraft(data['overdraft'])
        # 联系人姓名
        self.list.input_contacts(data['contacts'])
        # 手机号
        phone = createphone()
        self.list.input_phone(phone)
        # 备注
        self.list.input_desc(data['desc'])
        # 保存
        self.list.click_save()
        # 首页集团名称
        self.list.input_groupper_name(merbername)
        # 查询
        self.list.click_search()
        # 断言是否添加成功
        self.assertEqual(self.list.get_group_name(), merbername)
Exemplo n.º 18
0
class TestpPrivilegeList(unittest.TestCase):
    """特权管理"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('privilege/list')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*get_data('privilegeList', 'CASE1'))
    @reply_case_fail(num=3)
    def testcase1(self, data):
        """特权管理"""
        print('========★{}★========'.format(data['case_desc']))  # case描述
        self.plist = PrivilegeList(self.url, self.driver, data['title'])
        self.plist.open
        # 新增特权
        self.plist.click_addprivilegebox()
        # 特权名称
        self.plist.input_privilege_name(data['privilegeName'])
        # 选择图标
        self.plist.select_privilege_icon(data['privilegeIcon'])
        # 选择图片
        self.plist.select_opt_icon_img(data['imgIndex'])
        # 点击确定
        self.plist.click_ok()
        # 选择是否展示特权
        self.plist.click_show(data['showIndex'])
        # 选择是否享受特权
        self.plist.click_enjoy(data['enjoyIndex'])
        # 输入特权说明内容
        self.plist.input_textarea(data['textarea'], data['areaIndex'])
        #  点击保存
        self.plist.click_save()
        # 断言是否保存成功
        self.assertEqual(self.plist.get_name(), data['privilegeName'])
        # 删除特权
        self.plist.click_delete()
        # 确定删除
        self.plist.click_sure()
Exemplo n.º 19
0
class TestManagerList(unittest.TestCase):
    """账号设置"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/manager/list')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*(get_data('managerList', 'CASE1')))
    @reply_case_fail(num=3)
    def testcase1(self, data):
        """账号设置"""
        print('========★{}★========'.format(data['case_desc']))  # case描述
        self.mlist = ManagerListPage(self.url, self.driver, data['title'])
        self.mlist.open
        old_num = self.mlist.get_name()
        # 创建帐号
        self.mlist.click_add()
        # 选择角色
        self.mlist.select_role(data['role'])
        # 输入姓名
        self.mlist.input_name(data['inputName'])
        # 输入手机号码
        phone = data['inputPhone'] + str(int(time.time()))
        self.mlist.input_phone(phone)
        # 选择门店
        self.mlist.select_shopselector_and_shopname()
        self.mlist.click_sure()
        # 选择管理权限
        self.mlist.select_userright(data['userRight'])
        # 点击保存
        self.mlist.click_save()
        new_num = self.mlist.get_name()
        self.assertTrue(self.mlist.assertTrue(old_num, new_num))
        # 禁用
        self.mlist.click_remove()
        # 确定
        self.mlist.click_ok()
Exemplo n.º 20
0
class TestQuestionnaireList(unittest.TestCase):
    """问卷设置"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/questionnaire/list')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*get_data('questionnaireList', 'CASE1'))
    @reply_case_fail(num=3)
    def testcase1(self, data):
        """问卷设置"""

        print('========★{}★========'.format(data['case_desc']))  # case描述
        self.qlist = QuestionnaireList(self.url, self.driver, data['title'])
        self.qlist.open
        # 点击创建问卷
        self.qlist.click_create()
        # 选择问卷版本
        self.qlist.select_edition(data['editon'])
        # 输入主题
        self.qlist.input_subject(data['subject'])
        # 输入问题题目
        self.qlist.input_problem_title(data['problimTitle'], data['titleIdex'])
        # 输入选项内容
        self.qlist.input_option(data['option_1'], data['optionIndex_1'])
        self.qlist.input_option(data['option_2'], data['optionIndex_2'])
        # 保存
        self.qlist.click_save()
        # 确认
        self.qlist.click_sure()
        # 断言是否保存成功
        self.assertEqual(self.qlist.get_name(), data['subject'])
        # 删除问卷
        self.qlist.click_remove(data['removeIndex'])
        # 删除确认
        self.qlist.click_remove_sure()
Exemplo n.º 21
0
class TestActivityCreate1030(unittest.TestCase):
    """积分排行"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/activity/create/1030')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*get_data('activityCreate1030', 'CASE1'))
    @reply_case_fail(num=3)
    def testCase1(self, data):
        """积分排行"""
        print('========★{}★========'.format(data['case_desc']))  #case描述
        self.tc = ActiviteCreate1030(self.url, self.driver, data['page_title'])
        self.tc.open
        #活动名称
        self.tc.input_activity_name(data['activity_name'])
        #活动描述
        self.tc.input_activity_desc(data['activity_desc'])
        #活动开始时间
        self.tc.input_start_time(data['start_time'])
        #-结束时间
        self.tc.input_end_time(data['end_time'])
        #活动说明
        self.tc.input_activity_summary(data['activity_desc'])
        #保存-确认
        self.tc.click_save_button()
        self.tc.click_sconfirm_btn()
        #断言
        self.assertTrue(
            self.tc.assert_add_success(data['activity_name'],
                                       data['activity_status']))
        #删除
        self.tc.click_delete_button()
        self.assertFalse(
            self.tc.assert_add_success(data['activity_name'],
                                       data['activity_status']))
Exemplo n.º 22
0
class TestActivityCreate2057(unittest.TestCase):
    """定向调研"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/activity/create/1030')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*get_data('activityCreate2057', 'CASE1'))
    @reply_case_fail(num=1)
    def testCase1(self, data):
        """积分排行"""
        print('========★{}★========'.format(data['case_desc']))  #case描述
        tc = ActivityCreate2057(self.url, self.driver, data['page_title'])
        tc.open
        #活动名称
        tc.input_activity_name(data['activity_name'])
Exemplo n.º 23
0
class TestActualCardOpen(unittest.TestCase):
    """实体卡开卡"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/actualcard/opencard')
        cls.toexcel = Excel(os.path.join(gl.dataPath, 'actualopencard.xls'))

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*get_data('actualcardopencard', 'CASE1'))
    @reply_case_fail(num=3)
    def testcase1(self, data):
        """实体卡开卡"""
        print('========★{}★========'.format(data['case_desc']))  # case描述
        actual = ActualCardOpen(self.url, self.driver, data['title'])
        actual.open
        #获取实体卡号
        card_no = self.toexcel.getCardNo(cell_col=1)
        print(card_no)
        #实全卡号
        actual.input_card_no(card_no)
        #手机号
        actual.input_mobile_text('1371865{}'.format(rndint(min=1000, max=9999)))
        #姓名
        actual.input_name_text(data['name'])
        #性别;0男;1女
        actual.click_sex_button(data['sex_index'])
        #生日;0公历;1农历
        actual.click_birth_button(data['birth_index'])
        #生日-格式2018-09-08
        actual.input_birth_text(data['birth_date'])
        #确认开卡
        actual.click_confirm_open()
        #断言
        self.assertTrue(actual.assert_success(data['card_assert']))
Exemplo n.º 24
0
class TestMemberList(unittest.TestCase):
    """修改会员卡资料"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/member/list')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*(get_data('memberlist', 'CASE1')))
    @reply_case_fail(num=3)
    def testcase1(self, data):
        """修改会员卡资料"""
        print('========★{}★========'.format(data['case_desc']))  # case描述
        mlist = MemberList(self.url, self.driver, data['Title'])
        mlist.open
        #输入会员卡号
        mlist.input_card_no(data['cardNo'])
        #点击查询
        mlist.click_serarch_button()
        #点击修改资料
        mlist.click_change_button()
        #输入卡名称
        mlist.input_card_name(data['cardName'])
        #性别
        mlist.click_sex_button(data['sex_index'])
        #会员等级
        mlist.select_member_level(data['member_level'])
        #公历
        mlist.click_date_type(data['date_type'])
        #生日
        mlist.input_birthday_text(data['birthday'])
        #确认
        mlist.click_confirm_button()
        #断言
        self.assertTrue(mlist.assert_success_text(data['date_type']))
Exemplo n.º 25
0
class TestChargeListShopPage(unittest.TestCase):
    """储值规则设置--门店规则"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/charge/edit?type=shop')  # 门店规则入口
        cls.url_s = ''  # 保存成功页面url,默认为空
        cls.url_m = ''  # 保存储值规则修改页面url,默认为空

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    # @unittest.skip('调试')
    @ddt.data(*get_data('chargeListShopPage', 'CASE1'))
    @reply_case_fail(num=3)
    def testcase1(self, data):
        """"创建储值规则-固定金额"""
        print('========★{}★========'.format(data['case_desc']))  # case描述
        self.clist = ChargeList(self.url, self.driver, data['title'])
        # 打开创建储值规则页面
        self.clist.open
        # 输入规则名称
        self.clist.inputRuleNameValue(data['name'])
        # 输入充值金额
        self.clist.inputPrepaidValue(data['charge'])
        # 选择充值送的类型;0:固定金额,1:固定积分,2:代金券/礼品券
        self.clist.selectStoreRule(data['storeRule'])
        # 选择固定金额
        self.clist.selectInputAccount(data['account'])
        # 选择固定金额(元)/实收金额的送(%)
        self.clist.inputPresentValue(data['presentValue'])
        # 点击保存
        self.clist.clictSubmitBtn()
        # 断言是否保存成功
        self.sclist = ChargeListSusscess(self.url_s, self.driver,
                                         '储值规则设置 - 自动化测试专用')
        self.assertEqual(self.sclist.getScuessText(), data['successText'],
                         data['msg'])
        # 点击返回
        self.sclist.clickBcakBtn()
        # 点击删除
        self.mclist = ChargeListModify(self.url_m, self.driver,
                                       '储值规则设置 - 自动化测试专用')
        self.mclist.clickDelBtn()
        # 点击确定
        self.mclist.clickOkBtn()
        # 验证删除成功
        self.assertEqual(self.mclist.getDelInfo(), data['delInfo'],
                         '删除门店储值规则成功')

    # @unittest.skip('调试')
    @ddt.data(*get_data('chargeListShopPage', 'CASE2'))
    @reply_case_fail(num=3)
    def testcase2(self, data):
        """"创建储值规则-固定积分"""
        print('========★{}★========'.format(data['case_desc']))  # case描述
        self.clist = ChargeList(self.url, self.driver, data['title'])
        # 打开创建储值规则页面
        self.clist.open
        # 输入规则名称
        self.clist.inputRuleNameValue(data['name'])
        # 输入充值金额
        self.clist.inputPrepaidValue(data['charge'])
        # 选择充值送的类型;0:固定金额,1:固定积分,2:代金券/礼品券
        self.clist.selectStoreRule(data['storeRule'])
        # 选择固定积分
        self.clist.selectInputIntegral(data['integra'])
        # 选择固定金额(元)/实收金额的送(%)
        self.clist.inputIntegralValue(data['integralValue'])
        # 点击保存
        self.clist.clictSubmitBtn()
        # 断言是否保存成功
        self.sclist = ChargeListSusscess(self.url_s, self.driver,
                                         '储值规则设置 - 自动化测试专用')
        self.assertEqual(self.sclist.getScuessText(), data['successText'],
                         data['msg'])
        # 点击返回
        self.sclist.clickBcakBtn()
        # 点击删除
        self.mclist = ChargeListModify(self.url_m, self.driver,
                                       '储值规则设置 - 自动化测试专用')
        self.mclist.clickDelBtn()
        # 点击确定
        self.mclist.clickOkBtn()
        # 验证删除成功
        self.assertEqual(self.mclist.getDelInfo(), data['delInfo'],
                         '删除门店储值规则成功')

    # @unittest.skip('ok')
    @ddt.data(*get_data('chargeListShopPage', 'CASE3'))
    @reply_case_fail(num=3)
    def testcase3(self, data):
        """"创建储值规则-代金券/礼品券"""
        print('========★{}★========'.format(data['case_desc']))  # case描述
        self.clist = ChargeList(self.url, self.driver, data['title'])
        # 打开创建储值规则页面
        self.clist.open
        # 输入规则名称
        self.clist.inputRuleNameValue(data['name'])
        # 输入充值金额
        self.clist.inputPrepaidValue(data['charge'])
        # 选择充值送的类型;0:固定金额,1:固定积分,2:代金券/礼品券
        self.clist.selectStoreRule(data['storeRule'])
        # 选择代金券/礼品券,0:代金券,1:礼品券
        self.clist.selectGift(data['couponIndex'])
        # 点击使用代金券,0:默认使用当前第一个券
        self.clist.selectCoupon(data['couponValue'])
        # 点击保存
        self.clist.clictSubmitBtn()
        # 断言是否保存成功
        # 断言是否保存成功
        self.sclist = ChargeListSusscess(self.url_s, self.driver,
                                         '储值规则设置 - 自动化测试专用')
        self.assertEqual(self.sclist.getScuessText(), data['successText'],
                         data['msg'])
        # 点击返回
        self.sclist.clickBcakBtn()
        # 点击删除
        self.mclist = ChargeListModify(self.url_m, self.driver,
                                       '储值规则设置 - 自动化测试专用')
        self.mclist.clickDelBtn()
        # 点击确定
        self.mclist.clickOkBtn()
        # 验证删除成功
        self.assertEqual(self.mclist.getDelInfo(), data['delInfo'],
                         '删除门店储值规则成功')
Exemplo n.º 26
0
class TestMonitorSet(unittest.TestCase):
    """异常交易监控-设置"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/monitor/index?type=set')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*get_data('MonitorSet', 'CASE1'))
    @reply_case_fail(num=1)
    def testCase1(self, data):
        """异常交易监控-设置"""
        print('========★{}★========'.format(data['case_desc']))  #case描述
        tc = MonitorSet(self.url, self.driver, data['page_title'])
        tc.open
        #单卡单笔消费金额超过
        tc.select_consume_single(data['single_amount'],
                                 select_index=data['select_index'],
                                 bool=data['lock_bool'])
        #单卡日累计消费金额超过
        tc.select_consume_total(data['single_amount'],
                                select_index=data['select_index'],
                                bool=data['lock_bool'])

        # 单卡日累计消费金额超过
        tc.select_consume_week(data['single_amount'],
                               select_index=data['select_index'],
                               bool=data['lock_bool'])

        #单卡日累计消费次数超过
        tc.select_consume_num(data['single_amount'],
                              select_index=data['select_index'],
                              bool=data['lock_bool'])
        #单卡周累计消费次数超过
        tc.select_consume_weeknum(data['single_amount'],
                                  select_index=data['select_index'],
                                  bool=data['lock_bool'])
        #单卡单笔充值金额超过
        tc.select_charge_amount(data['single_amount'],
                                select_index=data['select_index'],
                                bool=data['lock_bool'])
        #单卡日累计充值金额超过
        tc.select_charge_total(data['single_amount'],
                               select_index=data['select_index'],
                               bool=data['lock_bool'])
        #单卡周累计充值金额超过
        tc.select_charge_weektotal(data['single_amount'],
                                   select_index=data['select_index'],
                                   bool=data['lock_bool'])
        #单卡日累计充值次数超过
        tc.select_charge_count(data['single_amount'],
                               select_index=data['select_index'],
                               bool=data['lock_bool'])

        #单卡周累计充值次数超过
        tc.select_charge_weekcount(data['single_amount'],
                                   select_index=data['select_index'],
                                   bool=data['lock_bool'])
        #保存
        tc.click_save_button()
        self.assertTrue(tc.assert_success_bool())
Exemplo n.º 27
0
class TestActualcard(unittest.TestCase):
    """申请创建实体卡"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/actualcard/list')
        cls.url_s = ''
        header = ['手机号', '姓名', '性别']
        data = [{
            '手机号': createphone(),
            '姓名': '六小灵童',
            '性别': '男'
        }, {
            '手机号': createphone(),
            '姓名': '刘诗诗',
            '性别': '女'
        }]
        write_csvfile(os.path.join(gl.dataPath, '随机卡号+手机号模版.csv'), header,
                      data)

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    @ddt.data(*get_data('actualcardListPage', 'CASE1'))
    @reply_case_fail(num=3)
    def testcase1(self, data):
        """ 创建卡"""
        print('========★{}★========'.format(data['case_desc']))  # case描述
        self.alist = ActualcardList(self.url, self.driver, data['title_first'])
        self.alist.open
        # 选择绑定实体卡需验证用户手机号,实体卡开卡需验证用户手机号
        self.alist.select_verify_checkbox(data['index'])
        # 申请实体卡
        self.alist.click_addcard_btn()
        # 输入批次名称
        name = data['name'] + genrandomstr(4)
        self.alist.input_batchName(name)
        # 卡类别属性
        self.alist.select_cardType(data['cardtype'])
        # 所属卡类别
        self.alist.select_cardCategory(data['cardcategory'])
        # 卡号生成规则
        self.alist.select_cardRule(data['cardrule'])
        # 开卡方式
        self.alist.select_cardWay(data['cardway'])
        # 是否上传手机号
        self.alist.select_uploadPhone(data['uploadphone'])
        # 上传文件
        sleep(2)
        if data['uploadphone'] != '%NONE%':
            self.alist.upload_csv_file(
                os.path.join(gl.dataPath, '随机卡号+手机号模版.csv'))

        # 申请张数
        self.alist.input_cardNumber(data['cardnumber'])
        # 开卡售价
        self.alist.input_cardPrice(data['cardprice'])
        # 保存
        self.alist.click_submitBtn()
        # 返回
        self.alist.clickBcakBtn()
        # 断言
        self.assertEqual(self.alist.get_successNameText(), name)
Exemplo n.º 28
0
class TestMallProductList(unittest.TestCase):
    """商城设置"""

    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/mall/productList')

    @classmethod
    def tearDownClass(cls):
        # cls.driver.quit()
        pass

    @unittest.skip('调试')
    @ddt.data(*get_data('mallProductList', 'CASE1'))
    @reply_case_fail(num=1)
    def testcase1(self, data):
        """商城设置-添加商品-电子优惠券"""
        print('========★{}★========'.format(data['case_desc']))  # case描述
        self.mlist = mallProductList(self.url, self.driver, data['title'])
        self.mlist.open
        # 功能状态
        self.mlist.selcet_mall_list_state(data['liststate'])
        # 添加商品
        self.mlist.click_addGoods()
        # 选择商品类型
        self.mlist.select_goods_type(data['goodsType'])
        # 商品名称
        self.mlist.input_product_name(data['productName'])
        # 简介
        self.mlist.input_product_desc(data['productDesc'])
        # 添加券
        self.mlist.click_weCoupon_btn(data['couponType'])
        # 使用券
        self.mlist.selectCoupon(data['couponIndex'])
        # 售卖方式
        self.mlist.select_sale_state(data['saleState'])
        # 标准价格
        self.mlist.input_price(data['price'])
        # 积分
        self.mlist.inpiut_integral(data['integral'])
        # 等级折扣
        self.mlist.select_gradePrice(data['gradePrice'],
                                     data['gradeindex'],
                                     data['singleGradePrice']
                                     )

        # 库存数量
        self.mlist.input_product_onhand(data['product_onhand'])
        # 限购设置、限购数量
        self.mlist.select_limit_buy(data['limitbuy'],
                                    data['limitbuycount']
                                    )
        # 商品类别
        self.mlist.click_good_way()
        # 下一步
        self.mlist.click_next()
        # 保存
        self.mlist.click_submit()
        # 断言是否保存成功
        self.assertEqual(self.mlist.get_name(), data['productName'])
        # 删除
        self.mlist.click_remove()
        # 确定
        self.mlist.click_sure()

    @unittest.skip('调试')
    @ddt.data(*get_data('mallProductList', 'CASE2'))
    @reply_case_fail(num=3)
    def testcase2(self, data):
        """商城设置-实物商品"""
        print('========★{}★========'.format(data['case_desc']))  # case描述
        self.mlist = mallProductList(self.url, self.driver, data['title'])
        self.mlist.open
        # 功能状态
        self.mlist.selcet_mall_list_state(data['liststate'])
        # 添加商品
        self.mlist.click_addGoods()
        # 选择商品类型
        self.mlist.select_goods_type(data['goodsType'])
        # 商品名称
        self.mlist.input_product_name(data['productName'])
        # 简介
        self.mlist.input_product_desc(data['productDesc'])
        # 介绍
        self.mlist.input_product_intro(data['productintro'])
        sleep(2)
        # 上传
        self.mlist.up_load(os.path.join(gl.dataPath, 'back.png'))
        # 售卖方式
        self.mlist.select_sale_state(data['saleState'])
        # 库存\规格
        self.mlist.select_spec_state(data['specstate'])
        # 单规格标准价格
        self.mlist.input_single_price(data['singleprice'])
        # 单规格库存数量
        self.mlist.input_single_onhand(data['singleonhand'])
        # 单规格积分
        self.mlist.input_single_integral(data['singleintegral'])
        # 规格名称
        self.mlist.input_spec_name(data['specname'])
        # 多规格标准价格
        self.mlist.input_spec_price(data['specprice'])
        # 多规格库存数量
        self.mlist.input_spec_onhand(data['speconhand'])
        # 多规格积分
        self.mlist.input_spec_integral(data['specintegral'])
        # 等级折扣
        self.mlist.select_gradePrice(data['gradePrice'],
                                     data['gradeindex'],
                                     data['singleGradePrice']
                                     )
        # 限购设置、限购数量
        self.mlist.select_limit_buy(data['limitbuy'],
                                    data['limitbuycount']
                                    )
        # 商品类别
        self.mlist.click_good_way()
        # 下一步
        self.mlist.click_next()
        # 保存
        self.mlist.click_submit()
        # 断言是否保存成功
        self.assertEqual(self.mlist.get_name(), data['productName'])
        # 删除
        self.mlist.click_remove()
        # 确定
        self.mlist.click_sure()

    @ddt.data(*get_data('mallProductList', 'CASE3'))
    @reply_case_fail(num=1)
    def testcase3(self, data):
        """商城设置-添加商品-会员等级"""
        print('========★{}★========'.format(data['case_desc']))  # case描述
        self.mlist = mallProductList(self.url, self.driver, data['title'])
        self.mlist.open
        # 功能状态
        self.mlist.selcet_mall_list_state(data['liststate'])
        # 添加商品
        self.mlist.click_addGoods()
        # 选择商品类型
        self.mlist.select_goods_type(data['goodsType'])
        # 商品名称
        self.mlist.input_product_name(data['productName'])
        # 简介
        self.mlist.input_product_desc(data['productDesc'])
        # 选择会员等级
        self.mlist.select_grade_cardid(data['gradeCardId'])
        sleep(2)
        # 上传
        self.mlist.up_load(os.path.join(gl.dataPath, 'back.png'))
        # 售卖方式
        self.mlist.select_sale_state(data['saleState'])
        # 标准价格
        self.mlist.input_price(data['price'])
        # 积分
        self.mlist.inpiut_integral(data['integral'])
        # 等级折扣
        self.mlist.select_gradePrice(data['gradePrice'],
                                     data['gradeindex'],
                                     data['singleGradePrice']
                                     )

        # 库存数量
        self.mlist.input_product_onhand(data['product_onhand'])
        # 商品类别
        self.mlist.click_good_way()
        # 下一步
        self.mlist.click_next()
        # 保存
        self.mlist.click_submit()
        # 断言是否保存成功
        self.assertEqual(self.mlist.get_name(), data['productName'])
        # 删除
        self.mlist.click_remove()
        # 确定
        self.mlist.click_sure()
Exemplo n.º 29
0
class TestActivityCreate63(unittest.TestCase):
    """膨胀红包"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/activity/create/63')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass

    def prize_set(self, **data):
        """奖品设置共三个"""
        #>>>>>>>>>>>>>>>>>>>>>>奖品一<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
        #添加优惠券;0奖品一添加;1奖品二添加;2奖品三添加;
        self.ac.click_add_coupon(data['acindex'])
        #选择券索引;0奖品一;1奖品二;2奖品三
        #类型;0代金券;1礼品券
        self.ac.click_coupon_type(data['prize_index'], data['coupon_type'])
        #使用 #使用券0为第一张券;以此类推
        self.ac.click_used(data['used_index'])
        #奖品名称 #奖品名称元素索引;0为奖品一;1为奖品二;2为奖品三
        self.ac.input_prize_name(data['prize_name'], data['pname_index'])

        self.ac.input_prize_value(data['prize_value'], data['pvalue_index'])

        self.ac.click_ac_upload(data['upload'],
                                os.path.join(gl.dataPath, 'upload.png'))

        self.ac.click_ac_upload(data['upload1'],
                                os.path.join(gl.dataPath, 'upload.png'))

    @ddt.data(*get_data('activityCreate63', 'CASE1'))
    @reply_case_fail(num=3)
    def testCase1(self, data):
        """新建膨胀红包活动"""
        print('========★{}★========'.format(data['case_desc']))  #case描述
        self.ac = ActivityCreate63(self.url, self.driver, data['title'])
        # 打开创建营销活动页面
        self.ac.open
        #活动名称
        self.ac.input_activity_name(data['activity_name'])
        #活动开始时间
        self.ac.input_activity_stime(data['activity_stime'])
        #活动结束时间
        self.ac.input_activity_etime(data['activity_etime'])
        #活动说明
        self.ac.input_activity_desc(data['activity_desc'])
        #上传商家logo
        # 0上传logo;
        # 1奖品一奖品展示图;2奖品一奖品缩略图
        # 3奖品二奖品展示图;4奖品二奖品缩略图
        # 5奖品三奖品展示图;6奖品三奖品缩略图
        # 6顶部宣传纸
        self.ac.click_ac_upload(data['upload'],
                                os.path.join(gl.dataPath, 'upload.png'))

        #奖品一数据
        self.prize_set(
            acindex=data['acindex'],  ##0奖品一;1奖品二;2奖品三 增加券
            prize_index=data['prize_index'],  #选择券索引;0
            coupon_type=data['coupon_type'],  #类型;0代金券;1礼品券
            used_index=data['used_index'],  #使用券0为第一张券;以此类推
            prize_name=data['prize_name'],  #奖品名称
            pname_index=data['pname_index'],  #奖品名称元素索引;0为奖品一;1为奖品二;2为奖品三
            prize_value=data['prize_value'],  #兑换所需人数
            pvalue_index=data['pvalue_index'],  #兑换所需人数元素索引;0为奖品二;1为奖品3
            upload=data['upload1'],  #上传1,奖品一
            upload1=data['upload1_1']  #上传2,奖品一
        )

        #奖品二
        self.prize_set(
            acindex=data['acindex2'],  ##0奖品一;1奖品二;2奖品三 增加券
            prize_index=data['prize_index2'],  #选择券索引;0
            coupon_type=data['coupon_type2'],  #类型;0代金券;1礼品券
            used_index=data['used_index2'],  #使用券0为第一张券;以此类推
            prize_name=data['prize_name2'],  #奖品名称
            pname_index=data['pname_index2'],  #奖品名称元素索引;0为奖品一;1为奖品二;2为奖品三
            prize_value=data['prize_value2'],  #兑换所需人数
            pvalue_index=data['pvalue_index2'],  #兑换所需人数元素索引;0为奖品二;1为奖品3
            upload=data['upload2'],  #上传1,奖品一
            upload1=data['upload2_2']  #上传2,奖品一
        )

        #奖品三
        self.prize_set(
            acindex=data['acindex3'],  ##0奖品一;1奖品二;2奖品三 增加券
            prize_index=data['prize_index3'],  #选择券索引;0
            coupon_type=data['coupon_type3'],  #类型;0代金券;1礼品券
            used_index=data['used_index3'],  #使用券0为第一张券;以此类推
            prize_name=data['prize_name3'],  #奖品名称
            pname_index=data['pname_index3'],  #奖品名称元素索引;0为奖品一;1为奖品二;2为奖品三
            prize_value=data['prize_value3'],  #兑换所需人数
            pvalue_index=data['pvalue_index3'],  #兑换所需人数元素索引;0为奖品二;1为奖品3
            upload=data['upload3'],  #上传1,奖品一
            upload1=data['upload3_3']  #上传2,奖品一
        )
        #>>>>>>>>>>页面配置<<<<<<<<<<<<<<<<<<<<
        #文字及按钮颜色;1白色;2黑色
        self.ac.click_font_color(data['font_color'])
        #顶部宣传图上传
        self.ac.click_ac_upload(data['upload7'],
                                os.path.join(gl.dataPath, 'upload.png'))
        #主题背景色
        self.ac.input_back_ground(data['backgd_color'])
        #>>>>>>>>>>分享配置<<<<<<<<<<<<<<<<<<<<
        self.ac.input_share_title(data['share_title'])
        #小程序分享图片上传
        self.ac.click_ac_upload(data['upload8'],
                                os.path.join(gl.dataPath, 'upload.png'))
        self.ac.wait(3000)
        #保存
        self.ac.click_save_button()
        #断言 增加后,列表显示该标题
        self.assertTrue(self.ac.assert_add_success(data['activity_name']))

        #删除该数据 #删除 0第一条,1第二条,以此类推
        self.ac.click_delete_button(data['delete_index'])
        #删除确认
        self.ac.click_confirm_button()
Exemplo n.º 30
0
class TestCouponListPage(unittest.TestCase):
    """券管理"""
    @classmethod
    def setUpClass(cls):
        cls.driver = select_Browser_WebDriver()
        cls.url = join_url('/activity/manage')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        # pass




    @ddt.data(*get_data('couponListPage', 'CASE1'))
    @reply_case_fail(num=3)
    def testCase1(self, data):
        """创建券"""
        print('========★{}★========'.format(data['case_desc'])) #case描述
        self.clist = CouponList(self.url, self.driver, data['title'])
        # 打开创建营销活动页面
        self.clist.open
        # 券管理
        self.clist.clickCouponManage_Link()
        #获取当前券列表,券数量
        old_num = self.clist.getCouponNum()
        # 创建新的券
        self.clist.clickCouponCreate_Btn()
        # 选择券类型,0代金券;1礼品券;2券包
        self.clist.clickCouponType(data['couponType'])
        # 属性;0普通;1微信群发消息专用
        self.clist.clickCouponPro(data['property'])
        # 面值
        self.clist.inputCouponValue(data['inputValue'])
        # 名称;op=1清空输入框
        self.clist.inputCouponName(data['name'], op=1)
        #固定价值
        self.clist.input_number_text(data['number'])
        # 客户端展示券名称;0显示;1不显示
        self.clist.clickCouponShowName(data['clientShow'])
        # 起用金额
        self.clist.inputCouponMinValue(data['minValue'])
        # 每次消费最多张数
        self.clist.inputCouponSheets(data['dealNum'])
        # 与其它券混合使用;0可以;1不可以;2部分可以
        self.clist.clickCouponMix(data['mixUsed'])
        # 券是否可以转赠给好友
        self.clist.clickCouponGiveFriend(data['isGiveFriend'])
        # 启用时间,0为当日启用,输入其它按天数启用
        self.clist.inputCouponEnabledTime(data['enabledTime'])
        # 有效期
        self.clist.inputCouponTerm(
            op=data['termTimeOption'],
            text=data['termTime'],
            startDate=data['termStartTime'],
            endDate=data['termEndTime']
        )
        # 时间段设置;0为全天可用;1为自动化全天
        self.clist.clickCouponEatTime(data['eatTime'])
        #限制与说明
        self.clist.inputCouponArea(data['restriction'])
        #保存,提交
        self.clist.clickCouponSave()
        #提交,确认
        self.clist.clickCouponConfirm()
        #当前券数量
        new_num = self.clist.getCouponNum()
        #断言增加券是否成功
        self.assertTrue(
            self.clist.assertAddCoupon(old_num, new_num)
        )