import sys
import requests

from util.readConfig import ReadConfig
from util.screenShot import screenshot
from util.caseTemplate import Template
import configparser
config = configparser.ConfigParser()

#读取配置环境参数
config.read(ReadConfig())


class MyTestCase_projectResource(Template):
    # 填写所需参数
    project_group_id = config['MyTestCase_group']['project_group_id']
    project_id = config['MyTestCase_projectResource']['project_id']
    blong = config['MyTestCase_projectResource']['blong']

    #章节上传图片dog.jpg
    def testCase_upload(self):
        contentType = self.headers['Content-Type']
        self.headers['project_group_id'] = self.project_group_id
        self.headers['project_id'] = self.project_id
        self.headers['belong'] = self.blong
        url = ''
        files = {'file': open('testCase/img/yellow_dog.jpg', 'rb')}
        del self.headers['Content-Type']
        r = requests.post(headers=self.headers, url=url, files=files)
        self.headers['Content-Type'] = contentType
Exemple #2
0
#!/usr/bin/python3
# -*- coding:utf-8 -*-

from pymongo import MongoClient

from util.readConfig import ReadConfig

db = ReadConfig()


class MongoDb:
    def __init__(self):
        self.client = MongoClient(db.mongodb("host"), db.mongodb("port"))
        self.db = self.client[db.mongodb("database")]

    def get_collection(self, collection):
        return self.db[collection]

    def find(self, collection, data, data_field={}):
        collection = self.get_collection(collection)
        if len(data_field):
            res = collection.find(data, data_field)
        else:
            res = collection.find(data)
        return res

if __name__ == '__main__':

    test = MongoDb()
    test.find("te")
Exemple #3
0
# -*- coding: utf-8 -*-
# !/bin/bash
'''

__author__:'shimengqi'
__description__:'读取测试用例信息'
__mtime__:2018/2/1
'''

import xlrd
import setupMain
from util.readConfig import ReadConfig

ReadConfig = ReadConfig()
import time


class ReadExcel:
    def __init__(self, data):
        '''打开工作表'''
        # 从配置文件获取测试用例地址
        # data = ReadConfig.get_config("DATABASE", "data_address")
        # data = setupMain.PATH + '/data/testdata.xlsx'
        # data_address=os.path.abspath('../data/buyerdata1.xlsx')
        # 从excel提取测试用例信息
        workbook = xlrd.open_workbook(data)
        self.table = workbook.sheets()[0]

    def get_rows(self):
        '''获取工作表行数'''
        rows = self.table.nrows
Exemple #4
0
 def __init__(self):
     self.host = ReadConfig().get_config("DATABASE", "hostname")
     self.user = ReadConfig().get_config("DATABASE", "username")
     self.password = ReadConfig().get_config("DATABASE", "password")
     self.database = ReadConfig().get_config("DATABASE", "database")
Exemple #5
0
def send_request(request_data):
    '''

    :param request_data: 单条用例数据
    :return:
    '''

    host = ReadConfig().get_config("HTTP", "host")
    case_name = request_data['CaseName']
    user = request_data['User']
    header = request_data['Headers']
    parameter_type = request_data['ParameterType']
    method = request_data['Method']
    path = request_data['Path']
    parameter = request_data['Params']
    depend_case = request_data['DependCase']
    is_depend = request_data['IsDepend']

    url = host + path
    if user == 'Manager':
        cookie = initializeCookie.get_manager_cookie()
    elif user == 'Customer_01':
        cookie = initializeCookie.get_customer_01_cookie()
    elif user == 'Customer_02':
        cookie = initializeCookie.get_customer_02_cookie()
    else:
        cookie = None

    if depend_case:
        from business import initializeParameter
        relevance = request_data['RelevanceList']
        parameter = initializeParameter.ini_parameter(depend_case, relevance, parameter)
        # parameter = initializeParameter.ini_requests(depend_case, relevance, parameter_type)

    log.info("=" * 100)
    log.info('用例名称:%s' % case_name)
    log.info('请求头:%s' % header)
    log.info('请求地址:%s' % url)
    log.info('请求参数:%s' % parameter)
    log.info('测试用户:%s' % user)

    if method == 'post':
        with allure.step("POST请求接口"):
            allure.attach("请求接口:", str(case_name))
            allure.attach("请求地址:", url)
            allure.attach("请求头", header)
            allure.attach("请求参数类型", parameter_type)
            allure.attach("请求参数", parameter)
        result = apiMethod.post(url=url, param_type=parameter_type, param=parameter, cookie=cookie, header=header)

    elif method == 'put':
        with allure.step("PUT请求接口"):
            allure.attach("请求接口:", case_name)
            allure.attach("请求地址", url)
            allure.attach("请求头", header)
            allure.attach("请求参数类型", parameter_type)
            allure.attach("请求参数", parameter)
        result = apiMethod.put(url=url, param_type=parameter_type, param=parameter, cookie=cookie, header=header)

    elif method == 'get':
        with allure.step("GET请求接口"):
            allure.attach("请求接口:", case_name)
            allure.attach("请求地址", url)
            allure.attach("请求头", header)
            allure.attach("请求参数类型", parameter_type)
            allure.attach("请求参数", parameter)
        result = apiMethod.get(url=url, header=header, param=parameter)

    else:
        log.war('请求类型不存在!')
        result = {"code": False, "data": False}

    log.info("返回状态码:%s" % str(result[0]))
    log.info("返回response:\n %s" % result[1])
    # log.info("请求接口结果:\n %s" % str(result))

    if is_depend == 'Yes':
        writeResult.write_result(case_name, result)

    return result
Exemple #6
0
#!/usr/bin/python3
# -*- coding:utf-8 -*-

import pymysql

from util.readConfig import ReadConfig

mysql = ReadConfig()


class MysqlDb:
    def __init__(self):
        self.host = mysql.database("host")
        self.user = mysql.database("user")
        self.password = mysql.database("password")
        self.port = mysql.database("port")
        self.database = mysql.database("database")
        self.conn = pymysql.connect(host=self.host,
                                    user=self.user,
                                    password=self.password,
                                    port=3306,
                                    db=self.database,
                                    charset="utf8")

    def get_cursor(self):
        return self.conn.cursor()

    def query(self, sql):
        cursor = self.get_cursor()
        try:
            cursor.execute(sql)
Exemple #7
0
# -*- coding: utf-8 -*-
# !/bin/bash

from jsonpath import jsonpath
import requests
from util.readConfig import ReadConfig
from util.log import Log

readConfig = ReadConfig()
log = Log()

host = readConfig.get_config("HTTP", "host")
manager_user = readConfig.get_config("HTTP", "manager_user")
manager_pwd = readConfig.get_config("HTTP", "manager_pwd")
customer_01_user = readConfig.get_config("HTTP", "customer_01_user")
customer_01_pwd = readConfig.get_config("HTTP", "customer_01_pwd")
customer_02_user = readConfig.get_config("HTTP", "customer_02_user")
customer_02_pwd = readConfig.get_config("HTTP", "customer_02_pwd")


def login(user, pwd):
    path = '/wbalone/account/login'
    params = {"username": user, "password": pwd}
    re = requests.post(host + path, data=params)
    status = jsonpath(re.json(), '$.status')[0]
    if re.status_code == 200:
        if status == '1':
            # log.info('用户%s登录成功!'%user)
            cookie = re.cookies
            return cookie
        else: