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
#!/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")
# -*- 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
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")
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
#!/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)
# -*- 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: