python中同一个类,带参的方法直接如何相互调用
黄舟
黄舟 2017-04-17 17:37:46
0
1
428

我想在test_api1方法调用GetExecl时配置参数;(为了去掉循环语句,可以访问execl中指定行)

def GetExecl(b1,self):
    testCaseFile = xlrd.open_workbook(r'C:\Users\Chu\Desktop\API_Test\TestCase\test.xls') # 打开excel文件
    table = testCaseFile.sheet_by_name('Sheet1')# 打开excel表
    nrows = table.nrows # 获取总行数
    for i in range(1,nrows):
        no = table.cell_value(i,0) 
        TestCase = table.cell_value(i,1)
        url = table.cell_value(i,2)
        parameter = table.cell_value(i,3)
        method = table.cell_value(i,4)
        checkpoint = table.cell_value(i,5)
        if l == i:
            print 1
        print  no,TestCase,url,parameter,method,checkpoint
        if method == 'GET':
            url = url + parameter
            print url
            result = urllib2.urlopen(url).read()
            result=result.decode('utf-8')
            print type(result),type(checkpoint)
            print 1
            if re.search(checkpoint,result):
                print TestCase + url + u"pass"
            else:
                print u"error"

def test_api1(self):
    """第一个接口"""
    print u"Test1"
    b1=2
    print self.GetExecl(b1)
    


新手小白求教,谢谢!

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

répondre à tous(1)
小葫芦
  1. Votre méthode GetExcel n'utilise pas d'autres attributs de cette classe et doit être conçue comme une méthode statique

  2. Je ne vois pas l'utilité des paramètres que vous avez passés

  3. Les noms des méthodes sont séparés par des traits de soulignement minuscules

  4. self doit être le premier paramètre de l'attribut d'instance

  5. Vous pouvez résumer votre question et la poser, afin que davantage de personnes vous aident. Si vous publiez directement une fonction aussi longue, de nombreuses personnes seront rebutées

  6. .
class GetExcel(object):

    @staticmethod
    def get_excel(i):
        “”“
            i: 你想要哪一行
        ”“”
        testCaseFile = xlrd.open_workbook(r'C:\Users\Chu\Desktop\API_Test\TestCase\test.xls')  # 这里写死真的好吗?
        table = testCaseFile.sheet_by_name('Sheet1')  # 打开excel表
        no = table.cell_value(i,0) 
        TestCase = table.cell_value(i,1)
        url = table.cell_value(i,2)
        parameter = table.cell_value(i,3)
        method = table.cell_value(i,4)
        checkpoint = table.cell_value(i,5)
        # 这样写真的好吗?
        # no, TestCase, url, parameter, method = table.row_values(i)
        # 或者你的数据更长
        # no, TestCase, url, parameter, method = table.row_values(i)[: 5]
        # 可以这样写吗?我没有测试...
        # do something
        pass
        
    def test_api1(self):
        self.get_excel(10)
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal