• python学习


    python单元测试unittest

    python单元测试unittest - 像风一样的自由 - 博客频道 - CSDN.NET http://blog.csdn.net/five3/article/details/7104466

    python问题:IndentationError:expected an indented block错误解决

    http://blog.csdn.net/neilhappy/article/details/7724959

    查看当前目录

    如果你启动了python,可以用这句话知道你的当前目录

    import os
    print os.path.abspath(".")

     打开当前目录下的文件

    def bbb(): 
        import glob,os,re
        filename333=input('enter file name:')
        fobj=open(filename333,'r')
        for lines in fobj:
            print(lines),
        fobj.close()  #close要与for循环平级,不然会报错:I/O operation on closed file python
    
    >>> bbb()
    enter file name:AS.txt
    the words in AS.txt
    def bbb(filename,filetype):#将方法改为可以在方法变量中直接输入文件名称的模式
        import glob,os,re
        file=str(filename)+'.'+str(filetype)
        fobj=open(file,'r')
        for lines in fobj:
            print(lines),
        fobj.close()
    
    >>> bbb('AS','txt')
    the words in AS.txt

     没解决的(无法打开相应的文件,始终显示其实没有进入到这个文件夹内)

    def aaa():
        import os,glob,re
        path='g:'
        files=glob.glob('%s\' % path)
        for f in files:
            filename=input('enter file name:')
            if filename in files:
                fobj=open(filename,'r')
                for eachline in fobj:
                    print(eachline),
                    fobj.close()
                    break
            else:print("Do not find it")

     新增和读取一个文件

    def a():
        #!/usr/bin/env python
        'makeTextFile.py--creat text file'
        import os
        ls=os.linesep
        #get filename
        while True:
            fname=input('enter a filename:')
            if os.path.exists(fname):
                print("Error:'%s' already exists"%(fname))
            else:break
        #get file content (text) lines
        all=[]
        print("
     Enter lines('.' by itself to quit).
    ")
        #loop until user terminates input
        while True:
            entry=input('>')
            if entry=='.':
                break
            else:all.append(entry)
        #write lines to file with proper line-ending
        fobj=open(fname,'w')
        fobj.writelines(['%s%s'%(x,ls)for x in all])
        fobj.close()
        fobj2=open(fname,'r')
        for lines in fobj2:
            print(lines)
        print('DONE!')

     2014.3.26

    if __name__ == "__main__":
        def suite():
            suite = unittest.TestSuite()
            suite.addTest(project("testEnglish"))
            suite.addTest(project("testSearch"))
            suite.addTest(project("testComment"))
            return suite
        suite = suite()
        
        # filetime=time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))
        # filename='G:/Auto Test/test/log/'+filetime+'.html'
        filename='G:/Auto Test/test/log/log.html'
        f=open(filename,encoding='utf-8',mode='a') # a表示叠加,每次启动日志都叠加,w表示每次启动都新建一个文件
        runner = HTMLTestRunner.HTMLTestRunner(
            stream=f,
            title='Test Result',
            description='Test Report',
            verbosity=2)
        runner.run(suite)
    logging.basicConfig(filename = os.path.join(os.getcwd(), 'log.txt'), level = logging.DEBUG)  
    log = logging.getLogger('root')  

    获取当前时间,当执行文件的目录,当前执行文件的名称

    >>> filetime=time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))
    >>> fileplace=os.getcwd()
    >>> filetestname=sys.argv[0][sys.argv[0].rfind(os.sep)+1:].split('.py')[0]
    >>> filename=os.path.join(fileplace+'/log/'+filetime+'-'+filetestname+'.html')
    >>> filename
    'G:\Auto Test\test/log/2014-03-27-09-39-06-222.html'

    4.3

    python获取list下标及其值

    sequence=['spring','summer','autumn','winter']
    for index,item in enumerate(sequence):
        print(index,item)
    
            
    0 spring
    1 summer
    2 autumn
    3 winter

     4.4

    组合同一文件中不同testclass中的case

    class AAA(unittest.TestCase):
        ……
    class BBB(unittest.TestCase):
        ……
    
    if __name__ == '__main__':
        # unittest.main() # 用这个是最简单的,下面的用法可以同时测试多个类
        # unittest.TextTestRunner(verbosity=2).run(suite1) # 这个等价于上述但可设置verbosity=2,省去了运行时加-v
        suite1 = unittest.TestLoader().loadTestsFromTestCase(AAA)
        suite2 = unittest.TestLoader().loadTestsFromTestCase(BBB)
        suite = unittest.TestSuite([suite1, suite2])
        unittest.TextTestRunner(verbosity=2).run(suite)

    4.8 上传文件

    #coding = utf - 8
    
    from time import sleep
    from selenium import webdriver
    import logging, time, HTMLTestRunner,sys,os,xlrd,unittest
    
    class upload(unittest.TestCase):
        def setUp(self):
            self.browser = webdriver.Chrome()
            self.browser.get("http://172.16.115.65")
            self.browser.switch_to_frame("trackerIframe")
    
        def function1(self):
            "从excel文件中获取文件名称,按名称上传文件"
            # 打开数据文件;获取第一个表单;获取表单的第3列
            xlrdfile = "G://Auto Test//success//testdata.xlsx"
            book = xlrd.open_workbook(xlrdfile)
            table = book.sheet_by_index(0)
            colnames =  table.col_values(2)
            for i in range(len(colnames)):
                #获取该列中的每一个单元格
                filename = table.cell_value(i, 2)
                #文件路径拼接
                file = "C:\Users\Public\Pictures\"+filename+".jpg"
                self.browser.find_element_by_id("updateVersionTable").find_element_by_name("file").send_keys(file)
                print("上传 %s 成功"%filename)
                sleep(1)
    
        def function2(self):
            "直接读取固定目录下的文件"
            # 获取执行文件对应data目录下的文件列表
            fileplace = os.getcwd()+"\data\"
            files = os.listdir(fileplace)
            for  i in range(len(files)):
                if ".jpg" in files[i]:
                    file = fileplace+files[i]
                    self.browser.find_element_by_id("updateVersionTable").find_element_by_name("file").send_keys(file)
                    print("上传成功"+files[i])
                    sleep(1)
    
        def tearDown(self):
            self.browser.quit()
    
    if __name__ == '__main__':
        filename = 'G:\Auto Test\success\log\file_upload_log.html'
        f = open(filename, encoding = 'utf-8', mode = 'a')
        suite = unittest.TestSuite()
        suite.addTest(upload("function1"))
        suite.addTest(upload("function2"))
        runner = HTMLTestRunner.HTMLTestRunner(stream = f, title = 'Test Result', verbosity = 2)
        runner.run(suite)
        f.close()
    
    '''
    fileplace = "C:\Users\Public\Pictures\Sample Pictures"
    files = os.listdir(fileplace)
    filesneed = []
    for i in range(len(files)):
        if ".jpg" in files[i]:
            file = fileplace+files[i]
            browser.find_element_by_id("updateVersionTable").find_element_by_name("file").send_keys(file)
            sleep(3)'''
  • 相关阅读:
    推荐大家使用的CSS书写规范、顺序
    只能输入数字的文本框
    js和jQuery 获取屏幕高度、宽度
    jquery插件开发规范
    ie下使用firebug
    equals和==的使用
    引用数据类型的赋值
    数组工具Arrays的基本使用
    冒泡排序
    使用数组对杨辉三角练习
  • 原文地址:https://www.cnblogs.com/poppyp/p/3607011.html
Copyright © 2020-2023  润新知