Beispiel #1
0
#!/usr/bin/env python
# encoding: utf-8
# @author: zengzhu
# @file: read_excel.py
# @time: 2020-11-13 23:18
# @desc:
import xlrd3
import os
from common.excel_utils import ExcelUtils
from common.testdata_utils import TestDateUtils

excel_path = os.path.join(os.path.dirname(__file__), 'data/testdata.xlsx')

read_excel = ExcelUtils(excel_path, 'tag_testcase')
all_date = read_excel.get_all_excel_value_by_dict()


dict_01 = {}
for i in all_date:
    dict_01.setdefault(i['测试用例编号'], []).append(i)


listaa = []
for k, v in dict_01.items():
    # print(k)
    # print(v)
    dictb = {}
    dictb['case_name'] = k
    dictb['case_info'] = v
    listaa.append(dictb)
# print(listaa)
Beispiel #2
0
#!/usr/bin/env python
# encoding: utf-8
# @author: liusir
# @file: read_excel.py
# @time: 2020/7/1 9:13 下午

import os
import xlrd
from common.excel_utils import ExcelUtils

# excel_path = os.path.join( os.path.dirname(__file__) , 'data/test_data.xlsx' )
excel_path = os.path.join( os.path.dirname(__file__) , 'data/datashell.xls' )
excelUtils = ExcelUtils(excel_path,"Sheet1")
print(excelUtils.get_merged_cell_value(4,0) )
print(excelUtils.get_row_count())
sheet_list = []
for row in range(1,excelUtils.get_row_count()): #s
    row_dict = {}
    row_dict["事件"] = excelUtils.get_merged_cell_value(row,0)
    row_dict["步骤序号"] = excelUtils.get_merged_cell_value(row, 1)
    row_dict["步骤操作"] = excelUtils.get_merged_cell_value(row, 2)
    row_dict["完成情况"] = excelUtils.get_merged_cell_value(row, 3)
    # row_dict["事件"] = excelUtils.get_merged_cell_value(row, 0)
    # row_dict["自欧典二"] = excelUtils.get_merged_cell_value(row, 1)
    # row_dict["字段三"] = excelUtils.get_merged_cell_value(row, 2)
    # row_dict["四"] = excelUtils.get_merged_cell_value(row, 3)
    # row_dict["五"] = excelUtils.get_merged_cell_value(row, 4)
    sheet_list.append( row_dict )
#
# for row in sheet_list:
#     print( row )
 def __init__(self, test_data_path=test_data_path):
     self.test_data_path = test_data_path
     self.test_data = ExcelUtils(test_data_path,
                                 'Sheet1').get_sheet_data_by_dict()
 def __init__(self, modul_name, page_name, element_path=None):
     excl_utils = ExcelUtils(modul_name)
     self.element_path = excl_utils.excel_path
     self.page_name = page_name
     self.sheet = excl_utils.sheet_data
     self.nrow = excl_utils.get_row_count
 def __init__(self,test_suite_name,test_calss_name):
     self.test_calss_name=test_calss_name
     self.excel_data=ExcelUtils(excel_path,test_suite_name).get_sheet_data_by_list()
     self.testsuitcounts=len(self.excel_data)  #祛除行首的值
Beispiel #6
0
class TestdataUtils:
    def __init__(self, test_data_path=test_data_path):
        self.test_data_path = test_data_path
        self.test_data_sheet = ExcelUtils(self.test_data_path, 'Sheet1')
        self.test_data = self.test_data_sheet.get_sheet_data_by_dict()
        self.test_data_by_mysql = SqlUtils().get_mysql_test_case_info()

    def get_testcase_data_dict(self):
        test_case_list = {}
        for row_data in self.test_data:
            if row_data['用例执行'] == '是':
                test_case_list.setdefault(row_data['测试用例编号'],
                                          []).append(row_data)
        return test_case_list

    def def_testcase_data_list(self):
        testcase_list = []
        for k, v in self.get_testcase_data_dict().items():
            one_case_dict = {}
            one_case_dict['case_name'] = k
            one_case_dict['case_info'] = v
            testcase_list.append(one_case_dict)
        return tuple(testcase_list)

    def get_testcase_data_dict_by_mysql(self):
        test_case_list = {}
        for row_data in self.test_data_by_mysql:
            test_case_list.setdefault(row_data['测试用例编号'], []).append(row_data)
        return test_case_list

    def def_testcase_data_list_by_mysql(self):
        testcase_list = []
        for k, v in self.get_testcase_data_dict_by_mysql().items():
            one_case_dict = {}
            one_case_dict['case_name'] = k
            one_case_dict['case_info'] = v
            testcase_list.append(one_case_dict)
        return tuple(testcase_list)

    def get_row_num(self, case_id, case_step_name):
        for j in range(len(self.test_data)):
            if self.test_data[j]['测试用例编号'] == case_id and self.test_data[j][
                    '测试用例步骤'] == case_step_name:
                break
        return j + 1

    def get_result_id(self):
        for col_id in range(len(self.test_data_sheet.sheet.row(0))):
            if self.test_data_sheet.sheet.row(0)[col_id].value == '测试结果':
                break
        return col_id  # 测试结果列号 14

    def write_result_to_excel(self, case_id, case_step_name, content='通过'):
        row_id = self.get_row_num(case_id, case_step_name)
        col_id = self.get_result_id()
        self.test_data_sheet.update_excel_data(row_id, col_id, content)

    # def clear_result_from_excel(self):     # 只能改最后一个
    #     row_count = self.test_data_sheet.get_row_count()
    #     for row_id in range(1,row_count):
    #         self.test_data_sheet.update_excel_data(row_id,14,"")

    def clear_result_from_excel(self):
        row_count = self.test_data_sheet.get_row_count()
        col_id = self.get_result_id()
        self.test_data_sheet.clear_excel_column(1, row_count, col_id)
Beispiel #7
0
import xlrd
import os
from common.excel_utils import ExcelUtils
"""
使用xlrd读取Excel文件
获取指定格式数据:将每一行数据以字典形式打印,表格总数据以列表形式打印
"""

# 创建测试Excel文件地址
excel_path = os.path.join(os.path.dirname(__file__), 'data/test_data.xlsx')

excelUtils = ExcelUtils(excel_path, 'Sheet1')

# **********************普通方法获取表格数据
# print(excelUtils.get_row_count())
# sheet_list = []
# for row in range(1, excelUtils.get_row_count()):  # 表头不算在内
#     row_dict = {}  # 创建空字典 来存放没行数据
#     row_dict['事件'] = excelUtils.get_merged_cell_value(row, 0)
#     row_dict['步骤序号'] = excelUtils.get_merged_cell_value(row, 1)
#     row_dict['步骤操作'] = excelUtils.get_merged_cell_value(row, 2)
#     row_dict['完成情况'] = excelUtils.get_merged_cell_value(row, 3)
#     sheet_list.append(row_dict)
#
# # print(sheet_list)
# # 利用循环输出某列的单元格内容
# for row in sheet_list:
#     print(row)

# **********************改造方法:使用遍历方式获取(字典 列表)
all_data_list = []
Beispiel #8
0
#!/usr/bin/env python
# encoding: utf-8
# @author:lrh
# @file:取合并单元格的数据
# @time:2020/7/1 21:26
import os
import xlrd
from common.excel_utils import ExcelUtils

current_value = os.path.dirname(__file__)
excel_path = os.path.join(current_value, 'data/testl_data.xlsx')
excelUtils = ExcelUtils(excel_path, "Sheet1")
# print(excelUtils.get_merged_cell_value(8,0))

#自己
# sheet_list = []
# for row in range(1,excelUtils.get_row_count()):
#     dict = {}
#     for col in range(0,excelUtils.get_col_count()):
#         # value = excelUtils.get_merged_cell_value(row,col)
#         dict[excelUtils.get_merged_cell_value(0,col)] =  excelUtils.get_merged_cell_value(row,col)
#     sheet_list.append(dict)

#老师办法
all_data_list = []
first_row = excelUtils.sheet.row(0)
for row in range(1, excelUtils.get_row_count()):
    row_dict = {}
    for col in range(0, excelUtils.get_col_count()):
        row_dict[first_row[col].value] = excelUtils.get_merged_cell_value(
            row, col)
Beispiel #9
0
# encoding: utf-8
#@author: newdream_daliu
#@file: read_test_data.py
#@time: 2020-08-16 17:44
#@desc:
from common.excel_utils import ExcelUtils

file_path = 'D:/P3_PO_UI_Test_Framework/test_datas/test_data_infos.xlsx'
excel_data = ExcelUtils(file_path, 'login_suite').get_sheet_data_by_list()
excel_row = len(excel_data)
test_class_name = 'LoginTest'

# print(excel_data)
# for s in excel_data:
#     print(s)

test_data_infos = {}  #所有的测试用例
for i in range(1, excel_row):
    test_data_info = {}  #一条测试用例的数据
    if excel_data[i][2].__eq__(test_class_name):
        test_data_info['test_name'] = excel_data[i][1]
        # 如果执行用例为是,返回 False,如果不执行就返回True
        test_data_info['isnot'] = False if excel_data[i][3].__eq__(
            '是') else True
        test_data_info['excepted_result'] = excel_data[i][4]
        test_parameter = {}
        for j in range(5, len(excel_data[i])):
            #参数里面包含=号,或者长度大于2,才算一个正常的参数(a=1)
            if excel_data[i][j].__contains__('=') and len(
                    excel_data[i][j]) > 2:
                # username = test01
Beispiel #10
0
 def __init__(self,test_suite_name,test_file_name,test_class_name=None,test_data_path=test_data_path):
     test_data_path = os.path.join( test_data_path,test_suite_name,test_file_name+'.xlsx' )
     self.excel_data = ExcelUtils( test_data_path , test_class_name ).get_sheet_data_by_list()
     self.excel_rows = len(self.excel_data)
 def __init__(self, test_suite_name, test_class_name):
     self.test_class_name = test_class_name
     self.excel_data = ExcelUtils(test_data_path,
                                  test_suite_name).get_sheet_data_by_list()
     self.test_suite_counts = len(self.excel_data) - 1
Beispiel #12
0
#!/usr/bin/env python
#encoding:utf-8
#@author:k
#@file:read_excel.py
#@time:2020/12/28   15:43 下午

import os
import xlrd
from common.excel_utils import ExcelUtils

excel_path = os.path.join(os.path.dirname(__file__), 'data/test_data.xlsx')
excelUtils = ExcelUtils(excel_path, 'Sheet1')
# print(excelUtils.get_merged_cell_value(4, 0))
# print(excelUtils.get_row_count())
sheet_list = []
for row in range(1, excelUtils.get_row_count()):  #
    row_dict = {}
    row_dict['事件'] = excelUtils.get_merged_cell_value(row, 0)
    row_dict['步骤序号'] = excelUtils.get_merged_cell_value(row, 1)
    row_dict['步骤情况'] = excelUtils.get_merged_cell_value(row, 2)
    row_dict['完成情况'] = excelUtils.get_merged_cell_value(row, 3)
    sheet_list.append(row_dict)

# for row in sheet_list:
#     print(row)

all_data_list = []
first_row = excelUtils.sheet.row(0)
# print(first_row)
for row in range(1, excelUtils.get_row_count()):
    row_dict = {}
class TestDataUtils():
    def __init__(self, data_path=test_data_path):
        """
        :param data_path:excel数据存放路径
        """
        self.data_path = data_path
        self.test_data_sheet = ExcelUtils(data_path, 'Sheet1')
        self.test_data = self.test_data_sheet.get_sheet_data_by_dict()
        self.test_data_by_mysql = SqlUtils().get_mysql_test_case_info()

    def __get_test_case_data_dict(self):
        '''
        :return: 返回字典格式数据
        '''
        use_case_dict = {}
        for row_data in self.test_data:
            if row_data['用例执行'] == '是':
                use_case_dict.setdefault(row_data['测试用例编号'],
                                         []).append(row_data)
        return use_case_dict

    def get_test_case_data_list(self):
        """
        :return: 封装成字典格式case_id为key,case_info为value
        """
        test_case_list = []
        for k, v in self.__get_test_case_data_dict().items():
            one_case_dict = {}
            one_case_dict["case_id"] = k
            one_case_dict['case_info'] = v
            test_case_list.append(one_case_dict)
        return tuple(test_case_list)

    def __get_test_case_data_dict_by_mysql(self):
        use_case_dict = {}
        for row_data in self.test_data_by_mysql:
            use_case_dict.setdefault(row_data['测试用例编号'], []).append(row_data)
        return use_case_dict

    def get_test_case_data_list_by_mysql(self):
        test_case_list = []
        for k, v in self.__get_test_case_data_dict_by_mysql().items():
            one_case_dict = {}
            one_case_dict["case_id"] = k
            one_case_dict['case_info'] = v
            test_case_list.append(one_case_dict)
        return tuple(test_case_list)

    def get_row_num(self, case_id, case_step_name):
        for j in range(len(self.test_data)):
            if self.test_data[j]['测试用例编号'] == case_id and self.test_data[j][
                    '测试用例步骤'] == case_step_name:
                break
        return j + 1

    def get_result_index(self):
        for col_index in range(len(self.test_data_sheet.sheet.row(0))):
            if self.test_data_sheet.sheet.row(0)[col_index].value == '测试结果':
                break
        return int(col_index)

    def write_result_to_excel(self, case_id, case_step_name, content='通过'):
        row_index = self.get_row_num(case_id, case_step_name)
        col_index = self.get_result_index()
        self.test_data_sheet.update_excel_data(row_index, col_index, content)

    def clear_result_from_excel(self):
        row_count = self.test_data_sheet.get_row_count()
        col_index = self.get_result_index()
        self.test_data_sheet.clear_excel_column(1, row_count, col_index)
Beispiel #14
0
 def __init__(self,test_data_path = test_data_path):
     self.test_data_path = test_data_path
     self.test_data_sheet = ExcelUtils(test_data_path, "Sheet1")
     self.test_data = self.test_data_sheet.get_sheet_data_by_dict()
     self.test_data_by_mysql = SqlUtils().get_mysql_test_case_info()
Beispiel #15
0
 def __init__(self, test_data_path=test_data_path):
     self.test_data_path = test_data_path
     self.test_data_sheet = ExcelUtils(test_data_path, conf.sheet_name)
     self.test_data = self.test_data_sheet.get_sheet_data_by_dict()
 def __init__(self, data_path=data_path, sheet_name='tag_testcase'):
     self.data_path = data_path
     self.sheet_name = sheet_name
     self.test_data = ExcelUtils(self.data_path, self.sheet_name).get_all_excel_value_by_dict()
Beispiel #17
0
 def __init__(self, test_data_path=test_data_file):
     self.test_data_path = test_data_path
     self.test_data = ExcelUtils(
         test_data_path, "Sheet1").get_sheet_data_by_dict()  #获取sheet1的所有数据
 def __init__(self,test_suite_name,test_file_name,test_class_name,test_data_path=testdata_path):
     self.test_data_path=os.path.join(test_data_path,test_suite_name,test_file_name+'.xls')
     self.test_class_name=test_class_name
     self.excel_data=ExcelUtils(test_class_name,self.test_data_path).get_excel_data_by_list()
     self.excel_rows=len(self.excel_data)
Beispiel #19
0
 def __init__(self, test_data_path=config.CASE_DATA_PATH):
     self.test_data_path = test_data_path
     self.test_data = ExcelUtils(self.test_data_path,
                                 "Sheet1").get_sheet_data_by_dict()