#!/usr/bin/env python#-*- coding:utf-8 -*-#!python3

__author__ = "xxx"

"""自动化脚本生成工具"""

importosimportxlrdimporttime

TestCaseName= ""TestCaseDescription= ""TestCasePreCondition= ""TestCaseStep= ""TestCaseExpectResult= ""TestEnvironment= ""TestScriptName= ""cur_path=os.getcwd()defscripts_template():

testcases= os.path.join(cur_path, u"用例模板.xlsx")

data= xlrd.open_workbook(r'%s' %testcases)

table=data.sheet_by_index(0)

n_rows=table.nrows

n_cols=table.ncolsfor i in range(1, n_rows):

TestCaseName= table.cell_value(i, 1)

TestCaseDescription= table.cell_value(i, 2)

TestCasePreCondition= table.cell_value(i, 3)

TestCaseStep= table.cell_value(i, 4)

TestCaseExpectResult= table.cell_value(i, 5)

TestEnvironment=table.cell_value(i, 0)

TestScriptName= "test_{0}".format(TestCaseName) #符合unittest测试用例定义的识别条件, 以"test"开头

filename = os.path.join(cur_path, "{0}.py".format(TestScriptName))

with open(filename,'w', encoding='utf-8') as out:

out.write('''# !/usr/bin/env python

# -*- coding:utf-8 -*-

"""

#-----------------------------------------------------------------------

用例名称: {0}

用例描述: {1}

前置条件:

{2}

测试步骤:

{3}

预期结果:

{4}

测试环境: {5}

作者:{6}

日期:{7}

#-----------------------------------------------------------------------

"""

import unittest

class {8}(unittest.TestCase):

def setUp(self):

#TODO 添加用例执行前置条件

pass

def testRun(self):

#TODO 添加用例执行测试步骤

pass

def tearDown(self):

#TODO 添加恢复测试环境操作

pass

if __name__ == '__main__':

unittest.main()'''.format(TestCaseName, TestCaseDescription, TestCasePreCondition,

TestCaseStep, TestCaseExpectResult, TestEnvironment,__author__,

time.strftime('%Y-%m-%d'), TestScriptName));print("generate scripts finished!")if __name__ == "__main__":

scripts_template()

运行一下以上测试脚本生成代码。生成的脚本如下:1 #!/usr/bin/env python

2 #-*- coding:utf-8 -*-

3

4 """

5 #-----------------------------------------------------------------------6 用例名称: case_01_01_01_017 用例描述: 测试天气提示刷新8 前置条件:9 打开天气APP10 测试步骤:11 1.后台设置今日天气为多云,查看App提示是否更新。12 预期结果:13 页面天气提示刷新为多云14 测试环境: Phone15 作者:xxx16 日期:2019-01-0817 #-----------------------------------------------------------------------18 """

19

20 importunittest21

22

23 classtest_case_01_01_01_01(unittest.TestCase):24

25 defsetUp(self):26 #TODO 添加用例执行前置条件

27 pass

28

29 deftestRun(self):30 #TODO 添加用例执行测试步骤

31 pass

32

33 deftearDown(self):34 #TODO 添加恢复测试环境操作

35 pass

36

37 if __name__ == '__main__':38 unittest.main()

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐