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)'''