def start(self): # Set UP of Automation selenium_wrapper.wrapper().StartSelenium() selenium_wrapper().wrapper().OpenAppplication() suite = unittest.defaultTestLoader.loadTestsFromTestCase(test_AddComp) suite.addTests(unittest.defaultTestLoader.loadTestsFromTestCase(test_EditComp)) suite.addTests(unittest.defaultTestLoader.loadTestsFromTestCase(test_ViewReport)) report_name = self.get_report_name() print report_name f=open(str(report_name),"wb+") runner = HTMLTestRunner( stream=f, title='CMA Report', description='This demonstrates the execution result' ) result = runner.run(suite) # Tear Down of Automation selenium_wrapper.wrapper().StopSelenium() if not result.wasSuccessful(): sys.exit(1)
def run_and_report(suite=all_tests, verbosity=2, report_filename='report.html', title='Sage Notebook Tests', description='Selenium test results', open_viewer=True, **kwargs): """ Runs a test suite and generates a HTML report with the outcome (pass, fail, or error) and output, including any tracebacks, for each test, plus overall statistics. For the SageNB test suite, this assumes a Selenium server or Grid hub is running with the options given in :mod:`sagenb.testing.notebook_test_case` or set by :func:`setup_tests`. INPUT: - ``suite`` - a TestSuite instance (default: all_tests); the test suite to run - ``verbosity`` - an integer (default: 2); how verbosely to report instantaneous test results - ``report_filename`` - a string (default: 'report.html'); the report's filename - ``title`` - a string (default: 'Sage Notebook Tests'); the report's title - ``description`` - a string (default: 'Selenium test results'); a description included near the beginning of the report - ``open_viewer`` - a boolean (default: True); whether to open the report in a web browser - ``kwargs`` - a dictionary; extra keyword arguments passed to the test runner's constructor EXAMPLES:: sage: import sagenb.testing.run_tests as rt # not tested sage: rt.run_and_report() # not tested sage: rt.run_and_report(report_filename='test1.html') # not tested sage: rt.run_and_report(rt.test_accounts.suite) # not tested """ from HTMLTestRunner import HTMLTestRunner report_fd = open(report_filename, 'w') runner = HTMLTestRunner(verbosity = verbosity, stream = report_fd, title = title, description = description, **kwargs) runner.run(suite) if open_viewer: import os, subprocess subprocess.Popen(browser() + ' ' + os.path.abspath(report_filename), shell=True)
def run(self): runner = HTMLTestRunner( stream=fp, title=self.base_url+u'首页非200测试', description=u'用例执行情况:' ) test_all.BASE_URL = self.base_url suite.addTest(test_all("test_all_href")) suite.addTest(test_all("test_all_css")) suite.addTest(test_all("test_all_img")) suite.addTest(test_all("test_all_js")) runner.run(suite)
def run(self, testsuite): """Run the testsuite, saving report to fname.""" self.fname = join(abspath('.'), 'testResults.html') with file(self.fname, 'wb') as fp: self.stream = fp self.title = 'Unit Tests' self.description = 'Summary of Test Run.' results = Runner.run(self, testsuite) self.print_summary(results) return results
if __name__ == '__main__': # send_mail_to_sweetie() # 定义测试用例的目录为当前目录下的test_case目录 test_dir = './test_case' suit = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py') # 获取当前时间 now_time = time.strftime("%Y-%m-%d") # 测试报告保存地址及命名 html_report_name = './test_report/' + 'Result_' + now_time + '.html' # 生成 HTML 格式的测试报告 fp = open(html_report_name, 'wb') runner = HTMLTestRunner(stream=fp, title='百度搜索测试报告', description='运行环境:Window 10 , Chrome') runner.run(suit) fp.close() # 发送测试报告至邮箱 send_mail(html_report_name) # 查看HTML测试报告 path = os.path.abspath(html_report_name) driver = webdriver.Chrome() time.sleep(1) driver.get(path) time.sleep(10) driver.quit()
import unittest import os from HTMLTestRunner import HTMLTestRunner suite = unittest.TestSuite() tests = unittest.defaultTestLoader.discover(os.getcwd(), "test.py") suite.addTest(tests) #使用html运行器,生成以html结果报告 f = open("讲师评价系统测试报告.html", "w+", encoding="utf-8") runner = HTMLTestRunner.HTMLTestRunner(stream=f, verbosity=1, title="讲师评价系统的测试报告") #使用运行器来运行测试集 runner.run(suite)
#前台登录 #suite.addTest(test_login.TestLogin("test_login")) #发布案件 #suite.addTest(test_publish_case.PublishCase("test_publish_succeed_1")) #后台审核案件通过 #suite.addTest(test_back_operation.BackOperation("test_back_review")) #律师申请接案 #suite.addTest(test_lawyer_intake.LawyerIntake("test_lawyer_intake_case")) #用户指定律师 #suite.addTest(test_user_appoint_lawyer.UserAppoint("test_user_appoint_lawyer")) #律师完善信息 #suite.addTest(test_perfect_information.PerfectInformat("test_perfect_information")) #支付代理费 #suite.addTest(test_perfect_information.PerfectInformat("test_lawyer_pay_agent_free")) #后台审核代理费 suite.addTest(test_back_operation.BackOperation("test_back_agent_review")) suites.append(suite) return suites if __name__ == '__main__': alltestcase = all_test() now_time=time.strftime('%Y-%m-%d %H-%M-%S',time.localtime()) filename = './report/'+now_time+'result.html' fp = open(filename,'wb') runner = HTMLTestRunner(stream=fp, title = u'测试报告', description= u'用例执行情况:') runner = unittest.TextTestRunner() runner.run(alltestcase[0]) fp.close()
import unittest import time import os import logging from HTMLTestRunner import HTMLTestRunner #获取项目的根目录 test_dir = os.path.join(os.getcwd()) #自动搜索项目根目录下所有的testcase 构造测试集 返回Testsuit对象 discover = unittest.defaultTestLoader.discover(test_dir, pattern='TestCase_*.py') now = time.strftime('%Y-%m-%d') #获取当前日期 #测试报告完整路径 result = test_dir + '\\Result_Report\\' + 'SuperFA接口测试报告' + '_' + now + '.html' #日志的完整路径 log = test_dir + '\\Result_Report\\' + 'SuperFA接口测试log' + '_' + now + '.txt' #filename 日志文件路径 level 日志的级别 format 格式 logging.basicConfig( filename=log, level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s') fp = open(result, 'wb') #wb方式写入 #构造runner runner = HTMLTestRunner(stream=fp, title='SuperFA接口测试报告', description='SuperFA接口测试用例执行情况', verbosity=2) # 使用run()方法运行测试套件(即运行测试套件中的所有用例) runner.run(discover)
class TestDemo2(unittest.TestCase): def test_success(self): self.assertEqual(2 + 2, 4) class TestDemo3(unittest.TestCase): def test_fail(self): self.assertEqual(3, 4) if __name__ == '__main__': suit = unittest.TestSuite() suit.addTest(TestDemo("test_success")) suit.addTest(TestDemo("test_skip")) suit.addTest(TestDemo("test_fail")) suit.addTest(TestDemo("test_error")) suit.addTest(TestDemo2("test_success")) suit.addTest(TestDemo3("test_fail")) with(open('./result.html', 'wb')) as fp: runner = HTMLTestRunner( stream=fp, title='Seldom自动化测试报告', description='浏览器chrome,平台windows' ) runner.run(suit, rerun=0, save_last_run=False)
print('开始了') self.driver=webdriver.Firefox() self.driver.implicitly_wait(20) def test_po_login(self): '''测试正确的用户名和密码登录''' base_url=dom_xml('url') data=open_csv('po_data.csv',1) self.driver.get(base_url) #self.driver.get(self.base_url) self.driver.refresh() wait_by_linkText(self.driver,'登录') self.driver.find_element_by_link_text('登录').click() time.sleep(2) common_login(self.driver,data['username'],data['password']) time.sleep(5) name=self.driver.find_element_by_xpath(".//div[@class='HeaderTopRight']/span").text if name.find('2473518012'): print('登录成功') def tearDown(self): self.driver.close() self.driver.quit() print('结束了') if __name__=="__main__": testsuite=unittest.TestSuite() testsuite.addTest(Login_PO("test_po_login")) fp=open('./loginresult.html','wb') runner=HTMLTestRunner(stream=fp,title='PO搜索测试报告',description='用例执行情况') runner.run(testsuite) fp.close()
smtp.quit() print(u'邮件发送成功!') except smtplib.SMTPException as e: print(u'邮件发送失败!') print(e) def new_report(testReport): '''读取最新的报告''' lists = os.listdir(testReport) lists.sort(key=lambda fn: os.path.getmtime(testReport + fn)) file_new = os.path.join(testReport, lists[-1]) return file_new #=================================================新增加======================================================= if __name__ == '__main__': now = time.strftime("%Y_%m_%d_%H_%M_%S") filename = html_report + u"test_result_" + now + u".html" fp = open(filename, "wb") runner = HTMLTestRunner(fp, title=u"测试报告", description=u"Chrome测试结果") discover = unittest.defaultTestLoader.discover(case_path, pattern=u"*test.py", top_level_dir=case_path) runner.run(discover) #新增加 fp.close() file_path = new_report(html_report) send_mail(file_path)
#coding=utf-8 import unittest from HTMLTestRunner import HTMLTestRunner import time test_dir = './testss' discover = unittest.defaultTestLoader.discover(test_dir, pattern="testsss.py") if __name__ == '__main__': report_dir = './Report' now = time.strftime("%Y-%m-%d %H_%M_%S") report_name = report_dir = '/' + now + 'result.html' with open(report_name, 'wb') as f: runner = HTMLTestRunner(stream=f, title='Test Report', description='Test case Result') runner.run(discover) f.close()
def createsuite(): testunit = unittest.TestSuite() discover = unittest.defaultTestLoader.discover(test_dir, pattern='*_testsuits.py', top_level_dir=None) print(discover) for test_suite in discover: for testsuit in test_suite: testunit.addTest(testsuit) return testunit allsuite = createsuite() if __name__ == '__main__': print('=====AutoTest Start======') runner = HTMLTestRunner(stream=fp, title="测试项目报告", description="用例测试情况", verbosity=2) # runner = unittest.TextTestRunner(verbosity=2) runner.run(allsuite) fp.close() # 2.取最新测试报告 new_report = new_file(test_report_dir) # 3.发送邮件,发送最新测试报告html send_email(new_report) print('=====AutoTest Over======')
import unittest, time, os from HTMLTestRunner import HTMLTestRunner import UI.common_th_supcom_config.url_config as config dir = config.dir print(dir) report_dir = os.path.join(dir, "test_report") print(report_dir) test_dir = report_dir discover = unittest.defaultTestLoader.discover(test_dir, pattern='test_*.py') # suite = unittest.TestSuite() # suite.addTests(unittest.TestLoader().loadTestsFromTestCase()) if __name__ == '__main__': now = time.strftime("%Y-%m-%d %H-%M-%S") filename = test_dir + '/' + now + 'result.html' fp = open(filename, 'wb') runner = HTMLTestRunner(stream=fp, title='测试报告', description='环境:windows 7 浏览器:chrome') runner.run(discover) fp.close()
mail_from = '*****@*****.**' #收信邮箱 mail_to = ['*****@*****.**'] #定义正文 f = open(file_new, 'rb') mail_body = f.read() f.close() msg = MIMEText(mail_body, _subtype='html', _charset='utf-8') #定义标题 msg['Subject'] = u"万码易联测试报告" #定义发送时间(不定义的可能有的邮件客户端会不显示发送时间) msg['date'] = time.strftime('%a, %d %b %Y %H:%M:%S %z') smtp = smtplib.SMTP() #连接 SMTP 服务器,此处用的126的 SMTP 服务器 smtp.connect('smtp.qiye.163.com') #用户名密码 smtp.login('*****@*****.**', 'Pms20152015') smtp.sendmail(mail_from, mail_to, msg.as_string()) smtp.quit() print('email has send out !') if __name__ == "__main__": now = time.strftime("%Y-%m-%d %H_%M_%S") filename = 'F:\\Projects\\bhAPItest\\bhAPItest\\report\\' + now + '_result.html' fp = open(filename, 'wb') runner = HTMLTestRunner(stream=fp, title='bhAPItest', description='test') runner.run(discover) fp.close() sentmail(filename)
import unittest from HTMLTestRunner import HTMLTestRunner from api.user_manager import UserManager from setting import TEST_REPOET_PATH, LOGIN_INFO if __name__ == '__main__': UserManager().login(LOGIN_INFO.get('username'), LOGIN_INFO.get('password')) suite = unittest.TestLoader().discover('./cases', 'test*.py') with open(TEST_REPOET_PATH, 'wb') as f: runner = HTMLTestRunner(f, title='测试报告') runner.run(suite)
import time import unittest from HTMLTestRunner import HTMLTestRunner from case.test_login import TestLogin from data_base import BASE_PATH # 创建suite套件 suite = unittest.TestSuite() # 添加测试用例类 suite.addTest(unittest.makeSuite(TestLogin)) # print(BASE_PATH) # 打开测试报告生成的文件流并写入HTML格式的测试报告 with open( BASE_PATH + "/report/{}test.html".format(time.strftime("%Y%m%d%H%M%S")), 'wb') as f: HTMLTestRunner(f, verbosity=2, title="test_login_api", description="win10x64").run(suite)
from HTMLTestRunner import HTMLTestRunner # 报告存放路径 report_path = "/Users/kara/zhangzhouweb/report" print(report_path) #构造测试集 suite = unittest.TestSuite() '''suite.addTest(test_login.LoginTest('test_login_success')) suite.addTest(test_login.LoginTest('test_login_pwd_error')) suite.addTest(test_employeemanagement.EmployeemanagementTest('test_employeemanagement_add')) suite.addTest(test_employeemanagement.EmployeemanagementTest('test_employeemanagement_edit')) suite.addTest(test_employeemanagement.EmployeemanagementTest('test_employeemanagement_delete'))''' suite.addTest( test_vehiclemanagement.VehiclemanagementTest('test_vehiclemanagement_add')) suite.addTest( test_vehiclemanagement.VehiclemanagementTest( 'test_vehiclemanagement_edit')) suite.addTest( test_vehiclemanagement.VehiclemanagementTest( 'test_vehiclemanagement_delete')) if __name__ == '__main__': now = time.strftime("%Y-%m-%d-%H-%M-%S") report_abspath = os.path.join(report_path, "result_" + now + ".html") fp = open(report_abspath, "wb") runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u'自动化测试报告,测试结果如下:', description=u'用例执行情况:') runner.run(suite)
class Test(unittest.TestCase): # 用于测试用例执行前的初始化工作 def setUp(self): print("test start") def test_bbb(self): print("test bbb") def test_aaa(self): print("test aaa") # 用于测试用例执行之后的善后工作 def tearDown(self): print("test end") if __name__ == '__main__': suite = unittest.TestSuite() suite.addTest(Test("test_bbb")) suite.addTest(Test("test_aaa")) now = time.strftime("%Y-%m-%d %H_%M_%S") # 定义报告存放路径 filename = 'D:\ ' + now + 'result.html' fp = open(filename, 'wb') # 定义测试报告 runner = HTMLTestRunner(stream=fp, title='测试报告', description='用例执行情况:') runner.run(suite) fp.close() # 关闭报告文件
## ##suite.addTest(SupplierLookup('Supplierfunction')) #Added on 28/06/2017 #Added on 01/08/2017 #Added on 01/08/2017 suite.addTest(PlanTemplateSelected('TemplateSelected')) suite.addTest(StatusStageCompleted('StageCompleted')) suite.addTest(StatusStageCompletedLate('StageCompletedLate')) suite.addTest(StageOntimeStatus('OntimeStatus')) suite.addTest(ActualDateCancel('CancelDate')) ftime = time.mktime(time.localtime()) ptime = time.strftime("%d-%m-%Y_%H%M%S", time.localtime(ftime)) filename = 'SmokeTestExecutionReport-{0}.html'.format(ptime) sfilename = filename path = setupValue().reportpath fullpath = os.path.join(path, filename) if not os.path.exists(os.path.dirname(fullpath)): os.makedirs(os.path.dirname(fullpath)) outfile = file(fullpath, 'w+') runner = HTMLTestRunner(stream=outfile, verbosity=2, title='eTender automation report', description='Test Case Execution Results') runner.run(suite) outfile.close() time.sleep(5) emailsending = EmailSend() emailsending.mailSend(fullpath, filename)
testunit.addTests(casename) return testunit test_case = Creatsuite() #获取系统当前时间 now = time.strftime('%Y-%m-%d_%H_%M_%S', time.localtime(time.time())) day = time.strftime('%Y-%m-%d', time.localtime(time.time())) #定义个报告存放路径,支持相对路径 tdresult = result + day if os.path.exists(tdresult): filename = tdresult + "/" + now + "_result.html" fp = open(filename, 'wb') #定义测试报告 runner = HTMLTestRunner(stream=fp, title='Appium测试报告', description='用例详情:') #运行测试用例 runner.run(test_case) fp.close() #关闭报告文件 else: os.mkdir(tdresult) filename = tdresult + "/" + now + "_result.html" fp = open(filename, 'wb') #定义测试报告 runner = HTMLTestRunner(stream=fp, title='Appium测试报告', description='用例详情:') #运行测试用例 runner.run(test_case) fp.close() #关闭报告文件
self.login.login(self.op.get_cell(1,2),self.op.get_cell(1,3)) alert_text = self.bo.alert_text() self.assertEqual(alert_text,self.op.get_cell(1,4)) def test_login_user_null(self): self.login.login(self.op.get_cell(2, 2),self.op.get_cell(2,3)) alert_text = self.bo.alert_text() self.assertEqual(alert_text,self.op.get_cell(2, 4)) def test_login_pass_null(self): self.login.login(self.op.get_cell(3,2),self.op.get_cell(3,3)) alert_text = self.bo.alert_text() self.assertEqual(alert_text,self.op.get_cell(3, 4)) def test_login_user_pass_error(self): self.login.login(self.op.get_cell(4, 2),int(self.op.get_cell(4,3))) alert_text = self.bo.alert_text() self.assertEqual(alert_text,self.op.get_cell(4, 4)) def test_login_success(self): self.login.login(self.op.get_cell(5, 2),int(self.op.get_cell(5,3))) correct_text = self.login.login_correct_text('topFrame','/html/body/form/table/tbody/tr[2]/td/table/tbody/tr/td[1]/table/tbody/tr/td[2]/div') self.assertEqual(correct_text,self.op.get_cell(5, 4)) def tearDown(self) -> None: UseBrowser.quit() if __name__ == '__main__': suite = unittest.TestSuite() test_case = unittest.TestLoader().loadTestsFromTestCase(LoginTest) suite.addTest(test_case) date_now = time.strftime('%Y-%m-%d', time.localtime()) with open('../report/report.html', 'wb+') as file: runner = HTMLTestRunner(stream=file, verbosity=1, title='ato_test', description='ui_auto_test') runner.run(suite)
import unittest from HTMLTestRunner import HTMLTestRunner import time from Common.function import project_path if __name__ == '__main__': test_dir = project_path() + "Testcases" tests = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py', top_level_dir=None) now = time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime(time.time())) filepath = project_path() + "/Report/" + now + '.html' fp = open(filepath, 'wb') # 定义测试报告的标题和描述 runner = HTMLTestRunner(stream=fp, title=u'自动化测试报告', description=u'测试报告') runner.run(tests) fp.close()
if __name__ == '__main__': print('======AutoTest Start======') test_dir = "C://MyWork//xdj_invoice_test//interface" test_report_dir = "C://MyWork//xdj_invoice_test//email" # discover = unittest.defaultTestLoader.discover(test_dir, pattern='xdj_invoice_interface_test.py') discover = unittest.defaultTestLoader.discover(test_dir, pattern="*_test.py") now = time.strftime("%Y-%m-%d %H_%M_%S") filename = test_report_dir + "//" + now + 'FPXDJ_Interface_test.html' fp = open(filename, 'wb') runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title='发票小当家接口测试结果', description='详情请下载附件查看:') runner.run(discover) fp.close() new_report = new_file(test_report_dir) send_mail(new_report) print('=======AutoTest Over======') # now = time.strftime("%Y-%m-%d %H_%M_%S") # filename = './report/' + now + '_FPXDJ_Interface_test.html' # fp = open(filename,'wb') # runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='发票小当家接口测试结果', # description= '测试用例:')
# ==========查找测试报告目录,找到最新生成的测试报告文件========== def new_report(testreport): lists = os.listdir(testreport) lists.sort(key=lambda fn: os.path.getmtime(testreport + "\\" + fn)) file_new = os.path.join(testreport, lists[-1]) return file_new if __name__ == '__main__': discover = unittest.defaultTestLoader.discover('./Center_Test/test_case', pattern='test_*.py') now = time.strftime("%Y-%m-%d %H_%M_%S") filename = './Center_Test/report/' + now + 'result.html' fp = open(filename, 'wb') runner = HTMLTestRunner(stream=fp, title='Center自动化测试报告', description='环境:Windows7-64x 浏览器:Chrome') runner.run(discover) fp.close() file_path = new_report('./Center_Test/report') # suite = unittest.TestSuite() # test_all_case = suite.addTest(discover) # runner = unittest.TextTestRunner() # runner.run(suite) #send_mail(file_path)
testSuite.addTests(testLoader.loadTestsFromTestCase(TestsClass0)) testSuite.addTests(testLoader.loadTestsFromTestCase(TestsClass1)) testSuite.addTests(testLoader.loadTestsFromTestCase(TestsClass2)) testSuite.addTests(testLoader.loadTestsFromTestCase(TestsClass3)) # HTML Tests Runner reportsFolder = "./html-reports" if not os.path.exists(reportsFolder): os.makedirs(reportsFolder) reportTitle = "This is the report title" reportDescription = "This is the report description" timestamp = datetime.datetime.fromtimestamp( time.time()).strftime('%d%b%y_%H%M%S') fileStream = open(reportsFolder + "/report_" + timestamp + ".html", "w") htmlTestRunner = HTMLTestRunner(stream=fileStream, verbosity=3, title=reportTitle, description=reportDescription) htmlTestRunner.run(testSuite) ''' # alternative launch method: unittest.main(testRunner=htmlTestRunner) ''' ''' # Text Tests Runner textTestRunner = unittest.TextTestRunner(verbosity=3) textTestRunner.run(testSuite) '''
# request.add_header('signature', self.signature) # request.add_header('token', self.token) # response = urllib2.urlopen(request) # result = response.read() # print result # js = json.loads(result) # self.assertEqual(js['state'],-2) # self.assertIn('拦截请求授权出错',js['message']) if __name__ == '__main__': #unittest.main() testunit = unittest.TestSuite() testunit.addTest(v2minegetTest('test_v2mineget_success')) testunit.addTest(v2minegetTest('test_v2mineget_tokenerror')) testunit.addTest(v2minegetTest('test_v2mineget_tokenull')) testunit.addTest(v2minegetTest('test_v2mineget_signerror')) testunit.addTest(v2minegetTest('test_v2mineget_noncerror')) fp = open('./mineget_result.html', 'wb') runner = HTMLTestRunner(stream = fp, title = u'关注接口测试报告', description = u'用例执行情况:') runner.run(testunit) fp.close()
import time from HTMLTestRunner import HTMLTestRunner import unittest # 加载当前目录下iweb开头的.py文件 discover = unittest.defaultTestLoader.discover("./", pattern="test*.py") if __name__ == '__main__': file_dir = "../Report/" # 定义报告名称格式 nowtime = time.strftime("%Y-%m-%d %H_%M_%S") # 报告完整路径和名称 file_name = file_dir + nowtime + "Report.html" with open(file_name, "wb") as f: # 实例化HTMLTestRunner对象,传入报告文件流f runner = HTMLTestRunner(stream=f, title="iweb_shop项目Web自动化测试报告", description="测试用例共计9条") runner.run(discover)
driver.element_by_name("账户余额(元)").click() sleep(4) driver.element_by_name("查看余额明细").click() sleep(4) now=time.strftime("%Y-%m-%d %H_%M_%S") sf6="./"+now+"_019b_recharge_records_macaca_R.png" driver.save_screenshot(sf6) sleep(3) """ t=driver.element_by_id("com.richfinancial.pujiaosuo:id/channel").text assert '富友支付' in t sleep(2) """ driver.element_by_id("com.richfinancial.pujiaosuo:id/channel").click() sleep(4) now=time.strftime("%Y-%m-%d %H_%M_%S") sf1="./"+now+"_019b_recharge_detail_macaca_R.png" driver.save_screenshot(sf1) sleep(3) if __name__ == '__main__': testunit=unittest.TestSuite() testunit.addTest(AppP2b("buy_Youbei")) now=time.strftime("%Y-%m-%d %H_%M_%S") filename="./"+now+"_019b_result_macaca_R.html" fp=open(filename,"wb") runner=HTMLTestRunner(stream=fp,title='51p2b of App environment android6.0.1[投资优贝(用银行卡支付:富友支付,同时用e贝和投资券抵扣)] test case report by Macaca', description='Test case executed status:') runner.run(testunit) fp.close()
#self.assertTrue(1 != 0) def test_it_is_false(self): self.assertFalse(1 == 0) def test_single_quote_strings(self): self.assertTrue('aaa' == "aaa") def test_strip_strings(self): self.assertTrue(" aaa ".strip() == "aaa") self.assertTrue(" aaa".lstrip() == "aaa") self.assertTrue("aaa ".rstrip() == "aaa") def fun_suite(): suite = unittest.TestSuite() loader = unittest.TestLoader() suite.addTests(loader.loadTestsFromTestCase(TestMountain)) return suite if __name__ == '__main__': #res = unittest.TextTestRunner(verbosity=2).run(fun_suite()) fp = open('./test_result_%s.html' % time.strftime("%Y-%m-%d %H-%M-%S"), 'wb') runner = HTMLTestRunner(stream=fp, title='百度搜索测试报告', description="测试用例执行情况:") runner.run(fun_suite()) fp.close() sys.exit(0)
import testsuit if __name__ == '__main__': #driver=webdriver.Firefox() driver = webdriver.Chrome() driver.maximize_window() driver.implicitly_wait(10) driver.get("http://prep.tingjiandan.com/bmp-web/login") suite = testsuit.suite(driver) now = time.strftime("%Y-%m-%d %H_%M_%S") filename = '../report/' + now + '_result.html' fp = open(filename, 'wb') #生成报告 runner = HTMLTestRunner( stream=fp, title='集团管理自动化测试', #报告title description='运行环境:MySQL(PyMySQL), Requests, unittest,selenium ') #调用登录,执行一次 Login().user_login(driver) sleep(3) #打开集团管理,执行一次 Login().OpenGroupManage(driver) sleep(3) #运行测试用例 runner.run(suite) fp.close() #退出登录,执行一次 ''' Login().user_loginout(driver)'''
import unittest import time from HTMLTestRunner import HTMLTestRunner def creat_suite(): testunit=unittest.TestSuite() #定义测试文件查找的目录 test_dir=r"D:\mygit\work_one\v_two\app_center" #定义discover方法的参数 discover=unittest.defaultTestLoader.discover(test_dir, pattern='test*.py', top_level_dir=None ) for test_case in discover: print test_case testunit.addTest(test_case) return testunit test_time=time.strftime("%Y-%m-%d %H_%M_%S") # 家里的存放地址 # save_path=os.path.abspath(r"E:\mypython\pengpeng\pp_test_report\testreport") # 公司的存放地址 #save_path=os.path.abspath(r'D:\mygit\work_one\v_two\pp_test_report\datebase_testreport') filename='D:\\mygit\\work_one\\v_two\\pp_test_report\\datebase_testreport\\'+test_time+'result.html' fp=file(filename,'wb') runner=HTMLTestRunner(stream=fp, title='数据中心测试报告', description='设置类子项目测试报告' ) if __name__=="__main__": alltestnames=creat_suite() runner.run(alltestnames) fp.close()
#!../bin/python # coding: utf-8 import sys import unittest from HTMLTestRunner import HTMLTestRunner from cases.test_amenity import AmenityTestCase from cases.test_ubike import UbikeTestCase # 防止中文錯誤 reload(sys) sys.setdefaultencoding('utf8') # 產生 HTML 版本的測試報表 mySuite = unittest.TestSuite() mySuite.addTest(unittest.makeSuite(AmenityTestCase)) mySuite.addTest(unittest.makeSuite(UbikeTestCase)) runner = HTMLTestRunner(title='OSM.TW 測試報告', description='台灣開放街圖資料完整性測試報告') runner.run(mySuite)
def teardown_method(self, method): test_method_name = self._testMethodName with allure.step('保存截图'): self.driver.save_screenshot('../TestResult/ScreenShot/%s.png' % test_method_name) f = open('../TestResult/ScreenShot/%s.png' % test_method_name, 'rb').read() allure.attach('自动化截图', f, allure.attach_type.PNG) with allure.step('---End---'): self.driver.quit() if __name__ == '__main__': suit = unittest.TestSuite() case_list = [ TestCase('test_order_1'), TestCase('test_order_2'), TestCase('test_order_3'), TestCase('test_order_4'), TestCase('test_order_5'), TestCase('test_order_6'), TestCase('test_order_7'), TestCase('test_order_8'), TestCase('test_order_9'), ] suit.addTests(case_list) # now = time.strftime("%Y_%m_%d %H_%M_%S") file = open('../TestResult/order.html', 'wb') runner = HTMLTestRunner(stream=file, title='WWW下单——测试报告', description='测试情况') runner.run(suit) file.close()
class Baidu(unittest.TestCase): '''百度搜索测试''' def setUp(self): self.driver = webdriver.Chrome() self.driver.implicitly_wait(10) self.base_url = "http://www.baidu.com/" def test_baidu_search(self): '''搜索关键字 HTML''' driver = self.driver driver.get(self.base_url) driver.find_element_by_id("kw").clear() driver.find_element_by_id("kw").send_keys("HTML") driver.find_element_by_id("su").click() def tearDown(self): self.driver.quit() if __name__ == '__main__': testunit = unittest.TestSuite() testunit.addTest(Baidu("test_baidu_search")) # 报告存放 fp = open('./result.html', 'wb') runner = HTMLTestRunner(fp, title='百度搜索测试报告', description='用例执行情况:') runner.run(testunit) # 运行测试用例 fp.close() # 关闭文件报告
msg['Subject'] = Header('同金社接口自动化测试报告', 'utf-8') smtp = smtplib.SMTP() smtp.connect(smtp_server, 25) smtp.set_debuglevel(1) smtp.login(from_addr, passward) smtp.sendmail(from_addr, to_addr_in, msg.as_string()) smtp.has_extn('同金社接口自动化测试报告') smtp.quit() print(u'邮件已发出!注意查收。') if __name__ == '__main__': testDir = 'D:\\TjsApi\\TestCase\\' # 定义测试用例目录 discover = unittest.defaultTestLoader.discover(testDir, pattern="test*.py") reportDir = "D:\\TjsApi\\TestReport\\" # 定义报告存放路径 nowTime = time.strftime("%Y-%m-%d %H-%M-%S") # 按照一定的格式获取当前的时间 fileName = reportDir + nowTime + 'test_result.html' fp = open(fileName, "wb") runner = HTMLTestRunner(stream=fp, title=u"同金社接口测试报告", description=u"测试用例执行情况:") runner.run(discover) # 运行用例生成报告 fp.close() testReport = reportDir new_report = new_report(testReport) to_addr_in = [ "*****@*****.**", "*****@*****.**", "*****@*****.**" ] send_mail(new_report, to_addr_in)
class test_login01(unittest.TestCase): """测试说明1""" def setUp(self): print ('test start') def test_login_suess(self): """测试说明2""" www=BaseFun.Base() "继承了BaseFun01.py下,base类里的各种方法,传入参数直接用" www.open_browser_with_firefox(r'http://awsbj-openmanagement.xingyunzhi.cn/developer-user/login')#打开网址 www.login('wxg','wxg')#用户名和密码传参数 el=www.by_xpath(".//*[@id='content']/div/div/div/div[2]/div[2]/div/a").text#提取要断言的文字 self.assertEqual('搜索',el)#断言 time.sleep(2) www.close_browser() def tearDown(self): print ('test end') if __name__=="__main__": testunit=unittest.TestSuite() testunit.addTest(test_login01("test_login_suess")) test_time=time.strftime("%Y_%m_%d_%H_%M_%S") #save_path=os.path.abspath(r"E:\mypython\pengpeng\pp_test_report\testreport")#家里的存放地址 save_path=os.path.abspath(r"D:\mygit\work_one\pp_test_report\testreport")#公司的存放地址 filename=save_path+test_time+'.html' print filename htmlreprot=open(filename,'wb') runner=HTMLTestRunner(stream=htmlreprot, title='这是标题', description='这是测试报告详细内容' ) runner.run(testunit) htmlreprot.close()
import time import unittest from HTMLTestRunner import HTMLTestRunner if __name__ == "__main__": suit = unittest.defaultTestLoader.discover(start_dir='./test_case', pattern='demo*.py') current_time = time.strftime('%y_%m_%d_%H_%M_%S') with open('./test_reports/' + current_time + ' report.html', 'wb') as f: runner = HTMLTestRunner(f) runner.run(suit)
dr.find_element_by_id("kw").send_keys("HTMLTestRunner") dr.find_element_by_id("su").click() def tearDown(self): self.dr.close() if __name__ == '__main__': testunit = unittest.TestSuite() testunit.addTest(Baidu("test_baidu_search")) #定义报告存放路径 fp = open('./result.html', 'wb') #定义测试报告 runner = HTMLTestRunner(stream=fp, title='百度搜索测试报告', description='用例执行情况: ') runner.run(testunit) #运行测试用例 fp.close() # 执行方式:alt+shfit+F10 """ 发现了问题所在,是软件使用问题运行脚本,楼主一定是用了快捷键CTRL+SHIFT+F10 切记,要用ALT+SHIFT+F10,然后去选择你的脚本的文件名字,去执行。就一切正常了! 在遇到单元测试框架的时候,测试用例本身和下面的执行过程,是分开执行的。 就是说if __name__=="__main__"下面的执行过程是不被执行的。 只是执行了面用例的脚本部分。 """
test_dir = './testsuits' suite = unittest.defaultTestLoader.discover(test_dir, pattern="test*.py") #构建测试集 # suite = unittest.TestLoader().loadTestsFromTestCase(LoginTest) # logger.info('构建测试集') # 定义报告生成路径 report_path = '.' + '/report/test_report/' # 格式化时间 now_time = time.strftime("%Y_%m_%d_%H_%M_%S", time.localtime(time.time())) # 测试报告生成格式 HtmlFile = report_path + now_time + "result.html" if __name__ == '__main__': ####################生成报告################# # 生成测试报告 with open(HtmlFile, 'wb+') as f: HTMLTestRunner(stream=f, title="XX项目测试报告", description="用例执行情况").run(suite) logger.info('生成测试报告') ####################发邮件################# # 测试报告目录 new_path = report_path # 查找最新的测试报告文件 rp = Report() new_report = rp.get_new_file(new_path) # 发送测试报告,带附件 rp.send_mail_attr(new_report)
# coding:utf-8 import unittest import time from HTMLTestRunner import HTMLTestRunner import sys reload(sys) sys.setdefaultencoding('utf8') test_dir = './' discover = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py') if __name__ == '__main__': now = time.strftime("%Y-%m-%d%H%H%S") filename = 'G:\\05_pypro\\rest_interface\\report\\' + now + '_restult.html' fp = open(filename, 'wb') runner = HTMLTestRunner(stream=fp, title='测试报告', description='用例执行情况:') runner.run(discover) fp.close()
# file2 = open("接口自动化测试.xls", "w", encoding="utf8") # file2.write(rowNumber + 1, 12, "fail") read_value = xlrd.open_workbook(file_path) write_data = copy(read_value) write_data.get_sheet(sheet_name).write(rowNumber + 1, 12, "Fail") # 断言 self.assertTrue(flag, msg="检查点数据与实际返回数据不一致") else: unittest.skip("不执行") if __name__ == '__main__': # unittest.main() # Alt+Shift+f10 执行生成报告 # 报告样式1 suite = unittest.TestSuite() suite.addTests(unittest.TestLoader().loadTestsFromTestCase(TestCase)) now = time.strftime('%Y-%m-%d %H_%M_%S') report_path = os.path.join(os.getcwd() + "/report/" + now + "report.html") print(report_path) with open(report_path, "wb") as f: runner = HTMLTestRunner(stream=f, title="Sen01万邦接口测试报告", description="01测试用例执行情况", verbosity=2) runner.run(suite)
tests = [TestMathFunc("test_add"), TestMathFunc("test_minus"), TestMathFunc("test_divide")] # 添加测试用例列表 suite.addTests(tests) # 将测试用例列表添加到测试组中 suite.addTest(TestMathFunc("test_multi")) # 直接用addTest方法添加单个TestCase # 用addTests + TestLoader。不过用TestLoader的方法是无法对case进行排序的 # loadTestsFromName(),传入'模块名.TestCase名' suite.addTests(unittest.TestLoader().loadTestsFromName('test_mathfunc.TestMathFunc')) suite.addTests(unittest.TestLoader().loadTestsFromNames(['test_mathfunc.TestMathFunc'])) # loadTestsFromNames(),类似,传入列表 # loadTestsFromTestCase(),传入TestCase suite.addTests(unittest.TestLoader().loadTestsFromTestCase(TestMathFunc)) # suite中也可以套suite # 将测试结果输出到测试报告中 # with open('UnittestTextReport.txt', 'a') as f: # runner = unittest.TextTestRunner(stream=f, verbosity=2) # runner.run(suite) # 将测试结果输出到测试报告html中 with open('HTMLReport.html', 'w') as f: runner = HTMLTestRunner(stream=f, title='MathFunc Test Report', description='generated by HTMLTestRunner.', verbosity=2 ) runner.run(suite) # 直接将结果输出到控制台 # runner = unittest.TextTestRunner(verbosity=2) # runner.run(suite)
# coding=utf-8 import unittest from HTMLTestRunner import HTMLTestRunner if __name__ == '__main__': testLoader = unittest.TestLoader() discover = testLoader.discover(start_dir='./', pattern="test*.py") # 生成HTML格式测试报告 with open('TestReport.html', 'wb') as f: runner = HTMLTestRunner(stream=f, title="自动化测试报告", description="自动化测试") runner.run(discover)
def setUp(self): self.driver = webdriver.Chrome() self.driver.implicitly_wait(10) self.base_url = "http://www.baidu.com" # 测试记录2 def test_baidu_search(self): '''搜索关键字:HTMLTestRunner''' driver = self.driver driver.get(self.base_url) driver.find_element_by_id("kw").send_keys("HTMLTestRunner") driver.find_element_by_id("su").click() def tearDown(self): self.driver.quit() if __name__ == "__main__": testunit = unittest.TestSuite() testunit.addTest(Baidu("test_baidu_search")) # 定义报告存放路径 fp = open('result.html', 'wb') # 定义测试报告 runner = HTMLTestRunner(stream=fp, verbosity=2, title='百度搜索测试报告', description='用例执行情况:') runner.run(testunit) # 运行测试用例 fp.close() # 关闭报告文件
#! /usr/bin/env python # coding=utf-8 from cases.case1 import siteTest import unittest from HTMLTestRunner import HTMLTestRunner class scriptTest(unittest.TestCase): def setUp(self): self.url = "http://mail.163.com" def tearDown(self): pass def test_case1(self): site = siteTest(self.url, userName="", passWd="") self.assertEqual(site.login(), "pass") if __name__ == '__main__': testsuite = unittest.TestSuite() testsuite.addTest(scriptTest("test_case1")) testsuite.addTest(scriptTest("test_case1")) run = HTMLTestRunner(file("result.html", 'wb'), title=u"测试报告", description=u"测试结果:") run.run(testsuite)