Esempio n. 1
0
    def test_all(self,index, name, key, param1, param2, param3):
        """"""
        # print(name)
        # 标识是否运行
        flg = False
        try:
            index = int(index)
            # 设置当前执行写入的行数
            datadriven.writer.row = index
            # 如果不是sheet就运行
            flg = True
        except:
            # 如果是sheet,就切换写入的sheet页面,不执行
            datadriven.writer.set_sheets(index)

        # 如果需要运行用例
        if flg:
            line = [key, param1, param2, param3]
            logger.info(line)
            func = datadriven.geffunc(line, self.obj)
            # print(func)
            lenargs = datadriven.getargs(func)
            # print(lenargs)
            # 反射执行
            res = datadriven.run(func, lenargs, line)

            if res == False:
                self.fail('关键字执行失败')
Esempio n. 2
0
    def test_(self, index, name, keyword, param1, param2, param3):
        """

        :param index:   当前运行到哪一行,写入到哪一行
        :param name:
        :param keyword:
        :param param1:
        :param param2:
        :param param3:
        :return:
        """
        print(name)
        #把参数做成一个列表
        line = [keyword, param1, param2, param3]

        try:
            #6个参数,list[0]的时候是整数
            index = int(index)
            #记录当前要写入的行
            self.obj.row = index
            # 反射获取函数,self.obj类的对象,line是列表,取line[0]
            func = datadriven.geffunc(line, self.obj)
            # 获取函数参数个数
            lenargs = datadriven.getargs(func)
            # 执行关键字,这些函数里面调用了,写入方法,self.obj.row = index
            #res是返回值,True 和 Flase
            res = datadriven.run(func, lenargs, line)
            #加断言以后,报告才会出现false,在执行关键字的时候加return true和flash
            self.assertTrue(res)
        except:
            #切换sheet页,已经读取两行了,第一个列表
           # [['授权接口', '', '', '', '', '']   index='授权接口'
            datadriven.writer.set_sheet(index)
Esempio n. 3
0
    def test_(self, index, name, keyword, param1, param2, param3):
        """"""
        print(name)
        line = [keyword, param1, param2, param3]

        try:
            index = int(index)
            self.obj.row = index
            # 反射获取函数
            func = datadriven.geffunc(line, self.obj)
            # 获取函数参数个数
            lenargs = datadriven.getargs(func)
            # 执行关键字
            res = datadriven.run(func, lenargs, line)
            self.assertTrue(res)
        except:
            datadriven.writer.set_sheet(index)
Esempio n. 4
0
    def test_all(self,index, name, key, param1, param2, param3):
        """
        :param index: datadriven.writer中第一个元素,设置index也是为了解决读和写的结果保持在同一行
        :param name: excel中的用例名
        :param key: excel中的关键字
        :param param1:excel中的第1个参数
        :param param2:excel中的第2个参数
        :param param3:excel中的第3个参数
        :return:
        """
        print(name)
        # 标识是否运行
        flg = False
        try:
            index = int(index)  # 如果第一个元素是数字,表示是需要执行的用例
            # 设置当前执行写入的行数
            datadriven.writer.row = index   # 让读和写保持在同一行
            # 如果不是sheet就运行
            flg = True
        except:
            # 如果是sheet,就切换写入的sheet页面,让读和写保持在同一sheet页
            datadriven.writer.set_sheet(index)

        # 如果需要运行用例
        if flg:
            line = [key, param1, param2, param3]
            print(line)
            # 反射获取要执行的关键字,如获取post,get,assert,addheader等
            func = datadriven.geffunc(line, self.obj)
            # print(func)
            # 获取参数的数目
            lenargs = datadriven.getargs(func)
            # 反射执行
            res = datadriven.run(func, lenargs, line)
            # 如果要断言有效,必须关键字里面添加:如果执行失败,就返回False
            if res is False:
                self.fail('关键字执行失败')
Esempio n. 5
0
import unittest, datetime, time