Beispiel #1
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import json
import allure
import random
import pytest
import requests
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt
from conf.sysconfig import XC_HOST, ORDER_DB
from conf.mysqlconf import sql_update, pgsql_update
from dutil.res_diff import res_diff
from dutil.common import ranstr

casepath = findCase(__file__, 'createOrder.yml', n=2)
test_cases = MakeDdt(casepath).makeData_V2()

casepath_1 = findCase(__file__, 'update_status.yml', n=2)
test_cases_1 = MakeDdt(casepath_1).makeData_V2()

casepath_2 = findCase(__file__, 'batchStockAdd.yml', n=2)
test_cases_2 = MakeDdt(casepath_2).makeData_V2()


class TestAppOrderCreate():
    @allure.title('增加用户的余额')
    @allure.description('通过修改 t_account 表的数据库更新用户的可用余额')
    @pytest.mark.dependency(name="balanceUser")
    def test_balanceUser(self):
        sql = "update t_account set active_money = 10000 where user_id = '{}'".format(
#              _____               ______
#     ____====  ]OO|_n_n__][.      |    |]
#    [________]_|__|________)<     |MENG|
#     oo    oo  'oo OOOO-| oo\_   ~o~~~o~'
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                        2019-09-18  09:53

import json
import allure
import pytest
import requests
from dutil.res_diff import res_diff
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt

casepath = findCase(__file__, 'choiceGoodPrepareOrder.yml', n=2)
test_cases = MakeDdt(casepath).makeData_V2()


class TestAppOrderChoicePrepare():
    '''
    基于 yaml 文件数据的自动化case
    '''
    @allure.title("{name}")
    @allure.description("精选商品-普通品-订单确认页")
    @pytest.mark.parametrize("dheaders", ["14081234567"], indirect=True)
    @pytest.mark.parametrize(
        "method, url, params, data, headers, cookies, proxies, status_code, expectData, name",
        test_cases)
    def test_success(self, skus, dheaders, method, url, params, data, headers,
                     cookies, proxies, status_code, expectData, name):
#              _____               ______
#     ____====  ]OO|_n_n__][.      |    |]
#    [________]_|__|________)<     |MENG|
#     oo    oo  'oo OOOO-| oo\_   ~o~~~o~'
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                        2019-09-18  09:53

import json
import allure
import pytest
import requests
import random
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt

casepath = findCase(__file__, 'createOrder.yml', n=2)
test_cases = MakeDdt(casepath).makeData_V2()


class TestAppOrderCreate():
    @allure.title("{name}")
    @allure.description('普通商品-生单接口')
    @pytest.mark.dependency(name="createOrder")
    @pytest.mark.parametrize("dheaders", ["18988888888"], indirect=True)
    @pytest.mark.parametrize(
        "method, url, params, data, headers, cookies, proxies, status_code, expectData, name",
        test_cases)
    def test_createOrder(self, skus, dheaders, method, url, params, data,
                         headers, cookies, proxies, status_code, expectData,
                         name, request):
        headers.update(dheaders)
#              _____               ______
#     ____====  ]OO|_n_n__][.      |    |]
#    [________]_|__|________)<     |MENG|
#     oo    oo  'oo OOOO-| oo\_   ~o~~~o~'
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                        2019-09-17  15:19

import json
import allure
import pytest
import requests
from dutil.res_diff import res_diff
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt

casepath = findCase(__file__, 'uc_inner_manager_user.yml', n=2)
test_cases = MakeDdt(casepath).makeData_V2()

class TestInnerManagerUser():
    @allure.title("{name}")
    @pytest.mark.parametrize("method, url, params, data, headers, cookies, proxies, status_code, expectData, name",
                             test_cases)
    def test_success(self, method, url, params, data, headers, cookies, proxies, status_code, expectData, name):
        '''/inner/manager/shop'''
        allure.attach('{0}'.format(url), name='请求url', attachment_type=allure.attachment_type.TEXT)
        allure.attach('{0}'.format(json.dumps(headers)), name='请求headers', attachment_type=allure.attachment_type.TEXT)
        allure.attach('{0}'.format(json.dumps(params)), name='请求param', attachment_type=allure.attachment_type.TEXT)
        allure.attach('{0}'.format(json.dumps(data)), name='请求data', attachment_type=allure.attachment_type.TEXT)

        res = requests.request(method, url, params=params, data=data, headers=headers, cookies=cookies, proxies=proxies)
        allure.attach('{0}'.format(json.dumps(res.json())), name='响应结果', attachment_type=allure.attachment_type.TEXT)
#     ____====  ]OO|_n_n__][.      |    |]
#    [________]_|__|________)<     |MENG|
#     oo    oo  'oo OOOO-| oo\_   ~o~~~o~'
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                        2019-09-18  09:53

import json
import allure
import pytest
import requests
import random
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt
from dutil.res_diff import res_diff

casepath = findCase(__file__, 'choiceGoodCreateOrderVirtual.yml', n=2)
test_cases = MakeDdt(casepath).makeData_V2()


class TestAppOrderChoiceCreate():
    @pytest.fixture()
    def makeCaptcha(self, captcha_redis):
        captcha_redis.set('big_gitfcaptcha_text_14081234565', '123456', 4000)

    @allure.title("{name}")
    @allure.description("精选商品-虚拟品-生单")
    @pytest.mark.dependency(name="createOrder")
    @pytest.mark.parametrize("dheaders", ["14081234565"], indirect=True)
    @pytest.mark.parametrize(
        "method, url, params, data, headers, cookies, proxies, status_code, expectData, name",
        test_cases)
#              _____               ______
#     ____====  ]OO|_n_n__][.      |    |]
#    [________]_|__|________)<     |MENG|
#     oo    oo  'oo OOOO-| oo\_   ~o~~~o~'
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                        2019-09-18  09:53

import json
import allure
import pytest
import requests
from dutil.res_diff import res_diff
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt

casepath = findCase(__file__, 'uc_inner_bg_ctl.yml', n=2)
test_cases = MakeDdt(casepath).makeData_V2()


class TestUcenterInnerBgCtl():
    '''
    基于 yaml 文件数据的自动化case
    '''
    @allure.title("{name}")
    @pytest.mark.parametrize("method, url, params, data, headers, cookies, proxies, status_code, expectData, name",
                             test_cases)
    def test_inner_bg_ctl(self, method, url, params, data, headers, cookies, proxies, status_code, expectData, name):
        '''/inner/bg/ctl/'''
        allure.attach('{0}'.format(url), name='请求url', attachment_type=allure.attachment_type.TEXT)
        allure.attach('{0}'.format(json.dumps(headers)), name='请求headers', attachment_type=allure.attachment_type.TEXT)
        allure.attach('{0}'.format(json.dumps(params)), name='请求param', attachment_type=allure.attachment_type.TEXT)
Beispiel #7
0
#     ____====  ]OO|_n_n__][.      |    |]
#    [________]_|__|________)<     |MENG|
#     oo    oo  'oo OOOO-| oo\_   ~o~~~o~'
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                        2019-09-18  09:53

import json
import allure
import pytest
import requests
from dutil.res_diff import res_diff
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt
from conf.sysconfig import ORDER_HOST

casepath = findCase(__file__, 'discountCalculation.yml', n=2)
test_cases = MakeDdt(casepath).makeData_V2()


class TestDiscountCalculation():
    @pytest.mark.skip('2020年05月07日-暂时跳过')
    @allure.title("{name}")
    @allure.description("三个SKU,判断分摊金额")
    @pytest.mark.parametrize(
        "method, url, params, data, headers, cookies, proxies, status_code, expectData, name",
        test_cases)
    def test_iscountCalculation(self, method, url, params, data, headers,
                                cookies, proxies, status_code, expectData,
                                name):
        allure.attach('{0}'.format(url),
                      name='请求url',
#              _____               ______
#     ____====  ]OO|_n_n__][.      |    |]
#    [________]_|__|________)<     |MENG|
#     oo    oo  'oo OOOO-| oo\_   ~o~~~o~'
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                        2019-09-18  09:53

import json
import allure
import pytest
import requests
from dutil.res_diff import res_diff
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt

casepath = findCase(__file__, 'app_order_prepare.yml', n=2)
test_cases = MakeDdt(casepath).makeData_V2()


class TestAppOrderPrepare():
    '''
    基于 yaml 文件数据的自动化case
    '''
    # @pytest.mark.skip('暂时先注释掉该接口')
    @allure.title("{name}")
    @allure.description("订单确认页 接口确认")
    @pytest.mark.parametrize("dheaders", ["13911589054"], indirect=True)
    @pytest.mark.parametrize(
        "method, url, params, data, headers, cookies, proxies, status_code, expectData, name",
        test_cases)
    def test_success(self, skus, dheaders, method, url, params, data, headers,
Beispiel #9
0
#     ____====  ]OO|_n_n__][.      |    |]
#    [________]_|__|________)<     |MENG|
#     oo    oo  'oo OOOO-| oo\_   ~o~~~o~'
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                        2019-09-18  09:53

import json
import allure
import pytest
import requests
from dutil.res_diff import res_diff
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt

# 数据准备
casepath = findCase(__file__, 'uc_inner_dbinfo_payer.yml', n=2)
test_cases = MakeDdt(casepath).makeData_V2()
# 数据准备


class TestUcenterInnerDbInfoPayer():
    '''
    基于 yaml 文件数据的自动化case
    '''
    @allure.title("{name}")
    @pytest.mark.parametrize(
        "method, url, params, data, headers, cookies, proxies, status_code, expectData, name",
        test_cases)
    def test_inner_dbinfo_payer(self, method, url, params, data, headers,
                                cookies, proxies, status_code, expectData,
                                name):
Beispiel #10
0
#     ____====  ]OO|_n_n__][.      |    |]
#    [________]_|__|________)<     |MENG|
#     oo    oo  'oo OOOO-| oo\_   ~o~~~o~'
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                        2019-09-18  09:53

import json
import allure
import pytest
import requests
from dutil.res_diff import res_diff
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt

# 数据准备
casepath = findCase(__file__, 'uc_inner_dbinfo_address.yml', n=2)
test_cases = MakeDdt(casepath).makeData_V2()
# 数据准备


class TestUcenterInnerDbInfoAddress():
    '''
    基于 yaml 文件数据的自动化case
    '''
    @allure.title("{name}")
    @pytest.mark.parametrize(
        "method, url, params, data, headers, cookies, proxies, status_code, expectData, name",
        test_cases)
    def test_success(self, method, url, params, data, headers, cookies,
                     proxies, status_code, expectData, name):
        '''/inner/dbinfo/address/ 节点下测试用例'''
Beispiel #11
0
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                        2019-09-18  09:53

import json
import allure
import pytest
import requests
from dutil.res_diff import res_diff
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt
from conf.sysconfig import HOST
from conf.sysconfig import COLLECT_ONE_BRAND
from conf.sysconfig import COLLECT_TWO_BRAND
from conf.sysconfig import COLLECT_ALL_BRAND

casepath = findCase(__file__, 'getCollectBrandList.yml', n=1)
test_cases = MakeDdt(casepath).makeData_V2()


class TestCollectBrand():
    '''品牌收藏 brand 纬度的所有接口'''
    def isCollectBrand(self, brandId, userId):
        '''判断品牌是否收藏'''
        bCollectedSku_url = HOST + '/xc_collect/userCollect/brand/isCollectBrand.do'
        bres = requests.get(bCollectedSku_url,
                            params={
                                'brandId': brandId,
                                'userId': userId
                            })
        return bres
#     oo    oo  'oo OOOO-| oo\_   ~o~~~o~'
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                        2019-09-18  09:53

import json

import allure
import pytest
import requests
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt
from dutil.res_diff import res_diff

from conf.sysconfig import UC_HOST

casepath = findCase(__file__, 'monthcard.yml')
test_cases = MakeDdt(casepath).makeData_V2()


class TestUserMonthCard():
    '''
    基于 yaml 文件数据的自动化case
    '''
    @allure.title("{name}")
    @pytest.mark.parametrize("dheaders", ["13511364630"], indirect=True)
    @pytest.mark.parametrize(
        "method, url, params, data, headers, cookies, proxies, status_code, expectData, name",
        test_cases)
    def test_success(self, dheaders, method, url, params, data, headers,
                     cookies, proxies, status_code, expectData, name):
        '''/inner/data/'''
#     ____====  ]OO|_n_n__][.      |    |]
#    [________]_|__|________)<     |MENG|
#     oo    oo  'oo OOOO-| oo\_   ~o~~~o~'
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                        2019-09-18  09:53

import json
import allure
import pytest
import random
import requests
from dutil.res_diff import res_diff
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt

casepath = findCase(__file__, 'order_findSaleOrderList.yml', n=2)
test_cases = MakeDdt(casepath).makeData_V2()

class TestAppOrderFindSaleOrderList():
    @allure.title("{name}")
    @allure.description("APP-订单列表页,包含几种订单状态的订单")
    @pytest.mark.parametrize("dheaders", ["13911589054"], indirect=True)
    @pytest.mark.parametrize("method, url, params, data, headers, cookies, proxies, status_code, expectData, name",
                             test_cases)
    def test_findSaleOrderList(self, dheaders, method, url, params, data, headers, cookies, proxies, status_code,
                     expectData, name):
        allure.attach('{0}'.format(url), name='请求url', attachment_type=allure.attachment_type.TEXT)
        allure.attach('{0}'.format(json.dumps(dheaders)), name='请求headers', attachment_type=allure.attachment_type.TEXT)
        allure.attach('{0}'.format(json.dumps(params)), name='请求param', attachment_type=allure.attachment_type.TEXT)
        allure.attach('{0}'.format(json.dumps(data)), name='请求data', attachment_type=allure.attachment_type.TEXT)
#              _____               ______
#     ____====  ]OO|_n_n__][.      |    |]
#    [________]_|__|________)<     |MENG|
#     oo    oo  'oo OOOO-| oo\_   ~o~~~o~'
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                        2019-09-18  09:53

import json
import allure
import pytest
import requests
from dutil.res_diff import res_diff
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt

casepath = findCase(__file__, 'uc_inner_device.yml', n=2)
test_cases = MakeDdt(casepath).makeData_V2()


class TestUcenterInnerDevice():
    '''
    基于 yaml 文件数据的自动化case
    '''
    @allure.title("{name}")
    @pytest.mark.parametrize("method, url, params, data, headers, cookies, proxies, status_code, expectData, name",
                             test_cases)
    def test_success(self, method, url, params, data, headers, cookies, proxies, status_code, expectData, name):
        '''/inner/device'''
        allure.attach('{0}'.format(url), name='请求url', attachment_type=allure.attachment_type.TEXT)
        allure.attach('{0}'.format(json.dumps(headers)), name='请求headers', attachment_type=allure.attachment_type.TEXT)
        allure.attach('{0}'.format(json.dumps(params)), name='请求param', attachment_type=allure.attachment_type.TEXT)
#
#              _____               ______
#     ____====  ]OO|_n_n__][.      |    |]
#    [________]_|__|________)<     |MENG|
#     oo    oo  'oo OOOO-| oo\_   ~o~~~o~'
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                        2019-09-18  09:53
import json
import allure
import pytest
import requests
from dutil.res_diff import res_diff
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt

casepath = findCase(__file__, 'order_findSaleOrderDetail.yml', n=2)
test_cases = MakeDdt(casepath).makeData_V2()


class TestAppOrderDetail():
    @allure.title("{name}")
    @allure.description("订单详情页")
    @pytest.mark.parametrize("dheaders", ["13911589054"], indirect=True)
    @pytest.mark.parametrize(
        "method, url, params, data, headers, cookies, proxies, status_code, expectData, name",
        test_cases)
    def test_findSaleOrderDetail(self, dheaders, method, url, params, data,
                                 headers, cookies, proxies, status_code,
                                 expectData, name):
        allure.attach('{0}'.format(url),
                      name='请求url',
Beispiel #16
0
#     ____====  ]OO|_n_n__][.      |    |]
#    [________]_|__|________)<     |MENG|
#     oo    oo  'oo OOOO-| oo\_   ~o~~~o~'
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                        2019-09-18  09:53

import json
import allure
import pytest
import requests
from conf.sysconfig import UC_HOST
from dutil.res_diff import res_diff
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt

casepath = findCase(__file__, 'uc_inner_invite.yml', n=2)
test_cases = MakeDdt(casepath).makeData_V2()


class TestUcenterInnerInvite():
    '''
    基于 yaml 文件数据的自动化case
    '''
    @allure.title("{name}")
    @pytest.mark.parametrize("method, url, params, data, headers, cookies, proxies, status_code, expectData, name",
                             test_cases)
    def test_success(self, method, url, params, data, headers, cookies, proxies, status_code, expectData, name):
        '''/inner/invite'''
        allure.attach('{0}'.format(url), name='请求url', attachment_type=allure.attachment_type.TEXT)
        allure.attach('{0}'.format(json.dumps(headers)), name='请求headers', attachment_type=allure.attachment_type.TEXT)
        allure.attach('{0}'.format(json.dumps(params)), name='请求param', attachment_type=allure.attachment_type.TEXT)
#     ____====  ]OO|_n_n__][.      |    |]
#    [________]_|__|________)<     |MENG|
#     oo    oo  'oo OOOO-| oo\_   ~o~~~o~'
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                        2019-09-17  15:19

import json
import allure
import pytest
import requests
from dutil.res_diff import res_diff
from conf.sysconfig import UC_HOST
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt

casepath = findCase(__file__, 'uc_inner_uc.yml', n=2)
test_cases = MakeDdt(casepath).makeData_V2()


class TestUcenterInnerUc():
    @allure.title("用户中心内部鉴权接口")
    @pytest.mark.parametrize("dheaders", ["15147943808"], indirect=True)
    def test_auth(self, dheaders):
        '''用户中心内部鉴权接口'''

        url = UC_HOST + '/xc_uc/inner/uc/auth.do'
        res = requests.get(url, headers=dheaders)
        src_data = {
            'version': '1.0',
            'status': 0,
            'errorMsg': '全部成功',
Beispiel #18
0
#     ____====  ]OO|_n_n__][.      |    |]
#    [________]_|__|________)<     |MENG|
#     oo    oo  'oo OOOO-| oo\_   ~o~~~o~'
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                        2019-09-18  09:53

import json
import allure
import pytest
import requests
from dutil.res_diff import res_diff
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt

# 数据准备
casepath = findCase(__file__, 'uc_inner_dbinfo_user_shop.yml', n=2)
test_cases = MakeDdt(casepath).makeData_V2()

# 数据准备


class TestUcenterInnerDbInfoUser_Shop():
    '''
    基于 yaml 文件数据的自动化case
    '''
    @allure.title("{name}")
    @pytest.mark.parametrize(
        "method, url, params, data, headers, cookies, proxies, status_code, expectData, name",
        test_cases)
    def test_inner_dbinfo_user_shop(self, method, url, params, data, headers,
                                    cookies, proxies, status_code, expectData,
Beispiel #19
0
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                        2019-09-18  09:53

import json
import allure
import pytest
import requests
from dutil.res_diff import res_diff
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt
from conf.sysconfig import HOST
from conf.sysconfig import COLLECT_ONE_SKUS
from conf.sysconfig import COLLECT_TWO_SKUS
from conf.sysconfig import COLLECT_ALL_SKUS

casepath = findCase(__file__, 'getUserCollectSkuList.yml', n=1)
test_cases = MakeDdt(casepath).makeData_V2()

casepath1 = findCase(__file__, 'getUserCollectCategoryList.yml', n=1)
test_cases1 = MakeDdt(casepath1).makeData_V2()


class TestCollectSku():
    '''品牌收藏 SKU 纬度的所有接口'''
    def bCollectedSku(self, headers, sku):
        '''判断商品是否收藏'''
        bCollectedSku_url = HOST + '/xc_collect/userCollect/bCollectedSku.do'
        bres = requests.get(bCollectedSku_url,
                            headers=headers,
                            params={'sku': sku})
        return bres
Beispiel #20
0
# -*- coding: UTF-8 -*-
#_auther:zhangxin
#date : 2020/3/31

import json
import allure
import pytest
import requests
from dutil.res_diff import res_diff
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt
from conf.sysconfig import HOST

casepath = findCase(__file__, 'findGoodsDetailTaskByParams.yml')
test_cases = MakeDdt(casepath).makeData()


class TesttestFindGoodsDetailTaskByParams():
    @allure.title("查询商详页展示任务说明")
    @pytest.mark.parametrize(
        "method, url, params, data,headers,cookies, proxies, status_code, expectData",
        test_cases)
    def test_findGoodsDetailTaskByParams(self, method, url, params, data,
                                         headers, cookies, proxies,
                                         status_code, expectData):
        '''品牌收藏'''
        url = HOST + '/dal_task_system_cur_server/server/taskSystemCurController/findGoodsDetailTaskByParams'
        res = requests.get(url, headers=headers, params={'sku': '111111'})
        print(res.json())
        assert {} == res_diff(expectData, res.json())
Beispiel #21
0
#     ____====  ]OO|_n_n__][.      |    |]
#    [________]_|__|________)<     |MENG|
#     oo    oo  'oo OOOO-| oo\_   ~o~~~o~'
# +--+--+--+--+--+--+--+--+--+--+--+--+--+
#                        2019-09-18  09:53

import json
import allure
import pytest
import requests
from dutil.res_diff import res_diff
from dutil.find_case import findCase
from dutil.make_ddt import MakeDdt
from conf.sysconfig import ORDER_HOST

casepath = findCase(__file__, 'order_inner_query.yml', n=2)
test_cases = MakeDdt(casepath).makeData_V2()


class TestOrderInnerQuery():
    '''
    基于 yaml 文件数据的自动化case
    '''
    @allure.title("{name}")
    @allure.description("xc_order/inner/order/ 下接口")
    @pytest.mark.parametrize(
        "method, url, params, data, headers, cookies, proxies, status_code, expectData, name",
        test_cases)
    def test_inner_query(self, method, url, params, data, headers, cookies,
                         proxies, status_code, expectData, name):
        allure.attach('{0}'.format(url),