Пример #1
0
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)
Пример #2
0
 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)   
Пример #3
0
    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)
Пример #4
0
 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
Пример #5
0
import unittest
from testcity import testWeatherApi
from HTMLTestRunner import HTMLTestRunner

testunit = unittest.TestSuite()
testunit.addTest(testWeatherApi("testWeatherApi"))
fp = open('./result.html', 'wb')
runner = HTMLTestRunner(stream=fp, title="API测试报告", description="测试执行情况")
runner.run(testunit)
fp.close()
Пример #6
0
from HTMLTestRunner import HTMLTestRunner
import time
import unittest

if __name__ == '__main__':
    #测试用例目录
    test_dir = r"C:\Users\Administrator\Desktop\kedalo\Testing\APP\cases"
    #加载测试用例
    discover = unittest.defaultTestLoader.discover(test_dir,
                                                   pattern="test*.py")
    # 生成测试报告
    now_time = time.strftime("%Y-%m-%d_%H_%M_%S")
    path = r"C:\Users\Administrator\Desktop\kedalo\Testing\APP\report" + now_time + ".html"
    with open(path, 'wb+') as f:
        runner = HTMLTestRunner(stream=f,
                                title='APPInterface Test Report',
                                description='generated by HTMLTestRunner.',
                                verbosity=2)
        # 执行测试集
        runner.run(discover)
Пример #7
0
    with open(file_name,'wb') as f:
6. 实例化HTMLTestRunner对象:
    runner = HTMLTestRunner(stream=f,[title],[description])
    参数说明:
        stream:文件流,打开写入报告的名称及写入编码格式)
        title:[可选参数],为报告标题,如XXX自动化测试报告
        description:[可选参数],为报告描述信息;比如操作系统、浏览器等版本
7. 执行:runner.run(suite)
"""

import unittest
from HTMLTestRunner import HTMLTestRunner

suite = unittest.TestLoader().discover('.', pattern='test*.py')

# #1. 方法1:使用unittest运行器运行测试套件
# runner = unittest.TextTestRunner()
# runner.run(suite)

# 2. 方法2:使用HTML_TestRunner去生成测试报告

#(1) 生成测试报告文件
test_report = 'test_report.html'

#(2) 打开上面的文件并将运行的结果写到文件中
with open(test_report, 'wb') as f:
    # ① 创建一个HTMLTestRunner的,运行器
    runner = HTMLTestRunner(f, title='测试报告', description='当前版本:v1.0')
    # ② 调用run方法执行测试套件
    runner.run(suite)
Пример #8
0
from HTMLTestRunner import HTMLTestRunner
import unittest

dicover = unittest.defaultTestLoader.discover('../test_case', 'test*py')
runner = unittest.TextTestRunner()
with open('report.html', 'wb') as f:
    runner = HTMLTestRunner(stream=f,
                            title='crm自动化测试',
                            description='运行环境 win10 chrome')
    runner.run(dicover)
Пример #9
0
	#前台登录
	#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()
Пример #10
0
        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()
Пример #11
0
    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()
Пример #12
0
import time, os
import sys
import unittest
from HTMLTestRunner import HTMLTestRunner  #引入HTMLTestRunner模板
if __name__ == "__main__":
    sys.path.append("./test_cases")
    test_dir = "./test_cases"  #指定当前文件夹下的Interface目录
    file = unittest.defaultTestLoader.discover(
        test_dir, pattern="test_*.py", top_level_dir=None)  #匹配开头为test的py文件

    now = time.strftime("%Y-%m-%d %H-%M-%S",
                        time.localtime(time.time()))  # 取当前时间
    public_path = os.path.dirname(os.path.abspath(
        sys.argv[0]))  # 获取当前运行的.py文件所在的绝对路径
    filename = public_path + "\\test_Report\\" + now + "report.html"  #保存的报告路径和名称
    fp = open(filename, "wb")
    runner = HTMLTestRunner(stream=fp,
                            title=u"接口自动化报告",
                            description=u"详细描述如下:")
    runner.run(file)  #执行测试套件
    fp.close()
Пример #13
0
    def setUp(self):
        self.a=webdriver.Firefox()
        self.a.get('http://www.baidu.com')
        self.a.maximize_window()
    def tearDown(self):
        self.a.quit()
    def test(self):
        self.a.find_element_by_xpath("//input[@autocomplete='off']").send_keys('Hello world')
        self.a.find_element_by_xpath("//input[@id='su']")
if __name__ == '__main__':
    sulte=unittest.TestSuite()
    sulte.addTest(WebTest('test'))
    #testrunner=unittest.TextTestRunner()
    #runner.run(sulte)
    #按照一定的格式获取当前的时间
    now = time.strftime("%Y-%m-%d %H_%M_%S")

    #定义报告存放路径
    filename = './' + now + 'test_result.html'
    fp = open(filename,"wb")

    #定义测试报告
    runner = HTMLTestRunner(stream = fp,
                           title = "xxx接口测试报告",
                           description = "测试用例执行情况:")

    #运行测试
    runner.run(sulte)
    fp.close()              #关闭文件对象把数据写进磁盘

Пример #14
0
    # testSuite.addTest(ReportDataReadySpec('test_record_transfer'))
    # testSuite.addTest(ReportDataReadySpec('test_record_input_invoice'))
    # testSuite.addTest(ReportDataReadySpec('test_record_output_invoice'))

    # external
    # 记录完全部收入、支出、互转,手指列表本月收入为42,650.92,支出为70,584.30
    # testSuite.addTest(EnterCompSpec('test_enter_comp'))
    # 创建帐套
    # testSuite.addTest( CreateCompSpec( 'test_verify_create_comp' ) )
    # testSuite.addTest(CreateCompSpec('test_create_comp_empty_comp_name'))
    # testSuite.addTest(CreateCompSpec('test_create_comp_empty_legal_person'))
    # 帐套列表
    # 分配会计/助理/客服联系人
    # testSuite.addTest(DistributeModalSpec('test_distribute_accounting'))
    # 启用期初帐页面
    testSuite.addTest(BeginningPeriodSpec('test_import_initial_account'))

    # testSuite.addTest(UserSettingSpec('test_go_to_comp_billing_page'))
    # testSuite.addTest(SidebarSpec('test_get_current_account_period'))
    # testSuite.addTest(CreateWaysSpec('test_input_comp_name_jump_to_create_page'))

    now = time.strftime('%Y-%m-%d %H_%M_%S')
    report_dir = './report/cai_test'
    filename = report_dir + '/' + now + '_result.html'
    testReport = open(filename, 'wb')
    runner = HTMLTestRunner(stream=testReport,
                            title="管有账测试报告",
                            description='测试用例执行情况:')
    runner.run(testSuite)
    testReport.close()
Пример #15
0
    def test_error(self):
        self.assertEqual(a, 6)


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

    fp = open('./result.html', 'wb')
    runner = HTMLTestRunner(stream=fp,
                            title='<project name>test report',
                            description='describe: ... ')

    runner.run(suit, rerun=0, save_last_run=False)
    fp.close()
Пример #16
0
        #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)
Пример #17
0
import unittest
from UnitTest.StringReplace import StringReplaceTestcase
from HTMLTestRunner import HTMLTestRunner

if __name__ == "__main__":
    suite = unittest.TestSuite()

    # 运行部分测试用例1
    # suite.addTest(StringReplaceTestcase("testBlank"))
    # suite.addTest(StringReplaceTestcase("testOrd"))
    # runner = unittest.TextTestRunner()
    # runner.run(suite)
    # 运行部分测试用例2
    # tests = [StringReplaceTestcase("testBlank"),StringReplaceTestcase("testOrd")]
    # suite.addTests(tests)
    # runner = unittest.TextTestRunner()
    # runner.run(suite)

    #运行全部测试用例1
    # tests = [StringReplaceTestcase("testBlank"), StringReplaceTestcase("testOrd"),StringReplaceTestcase("testBlankOrd"),StringReplaceTestcase("testOrdBlank")]
    # suite.addTests(tests)
    # runner = unittest.TextTestRunner()
    # runner.run(suite)

    # 运行全部测试用例2
    alltests = unittest.makeSuite(StringReplaceTestcase, "test")
    f = open("E:\\result.html", "wb")
    runner = HTMLTestRunner(stream=f, title="测试结果", description="测试用例的执行情况")
    # runner = unittest.TextTestRunner(verbosity=2)
    runner.run(alltests)
Пример #18
0
    date = time.strftime("%Y%m%d")
    time = time.strftime("%Y%m%d%H%M%S")

    # 定义path为文件路径,目录级别,可根据实际情况自定义修改
    path = 'D:/Python_test/' + date + "/login/" + time + "/"

    # 定义报告文件路径和名字,路径为前面定义的path,名字为report(可自定义),格式为.html
    report_path = path + "report.html"

    # 判断是否定义的路径目录存在,不能存在则创建
    if not os.path.exists(path):
        os.makedirs(path)
    else:
        pass

    # 定义一个测试容器
    testsuite = unittest.TestSuite()

    # 将测试用例添加到容器
    testsuite.addTest(LoginCase("test_login_success"))
    testsuite.addTest(LoginCase("test_hh"))

    # 将运行结果保存到report,名字为定义的路径和文件名,运行脚本
    with open(report_path, 'wb') as report:
        runner = HTMLTestRunner(stream=report, title=report_title, description=desc)
        runner.run(testsuite)

    # 关闭report,脚本结束
    report.close()
    # 关闭浏览器
Пример #19
0
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()
Пример #20
0
import time
import unittest
from HTMLTestRunner import HTMLTestRunner

test_dir = './'

suits = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py')

if __name__ == '__main__':
    # runner = unittest.TextTestRunner()
    # runner.run(suits)
    now = time.strftime("%Y-%m-%d_%H_%M_%S")
    filename = './test_report/' + now + 'result.html'
    # fp = open(filename, 'w',encoding='utf-8') //用之前版本的HtmlTestRunner.py这样写
    fp = open(filename, 'wb')
    runner = HTMLTestRunner(stream=fp,
                            title='unittest_sample测试报告',
                            description='报告如下:')
    runner.run(suits)
    fp.close()
Пример #21
0
    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()  #关闭报告文件



Пример #22
0
    def test_query1(self):
        self.driver.find_element(By.XPATH, '//div/ul/div/li/ul/li[1]').click()

    def test_query2(self):
        self.driver.find_element(By.XPATH, '//div/ul/div/li/ul/li[2]').click()

    def test_query3(self):
        self.driver.find_element(By.XPATH, '//div/ul/div/li/ul/li[3]').click()


# if __name__ == '__main__':
# test = unittest.TestSuite()
# test.addTest(Orderquery_test('test_query1'))
# unittest.main(defaultTest='test')

current_path = os.path.dirname(__file__)
report_path = os.path.join(current_path, 'report')
cases_path = os.path.join(current_path, 'test_cases')
html_path = os.path.join(report_path,
                         "report_%s.html" % time.strftime('%Y_%m_%d_%H_%M_%S'))
# discover = unittest.defaultTestLoader.discover(start_dir=cases_path,pattern='*_case.py',
#                                                top_level_dir=cases_path)

main_suite = unittest.TestSuite()
main_suite.addTest(Orderquery_test('test_query1'))
file = open(html_path, 'wb')
html_runner = HTMLTestRunner(stream=file,
                             title='MMC自动化测试项目',
                             description='由华仔搭建,逐渐完善中')
html_runner.run(main_suite)
Пример #23
0
        self.ssh.get_result_from_chan()
        self.ssh.send_cmd("ls chen/\t\t")
        ret = ""
        while True:
            if self.ssh.chan.recv_ready():
                time.sleep(0.1)
                ret += self.ssh.get_result_from_chan()
                break
        # print(repr(ret))
        print(ret)
        self.assertEqual("xxx", ret)

    def test_1(self):
        self.assertEqual("a", "a", "相等")

    def test_2(self):
        self.assertEqual("a", "b", "不等")


if __name__ == "__main__":
    # test_suit = unittest.TestSuite()
    test_suit = TestLoader().loadTestsFromTestCase(ParamikoTest)
    # test_suit.addTests([ParamikoTest("test_1"), ParamikoTest("test_2")])
    # suit = unittest.TestSuite([test_suit])
    with open("report1.html", "wb") as f:
        runner = HTMLTestRunner(stream=f,
                                title="test_report",
                                description="html",
                                verbosity=2)
        runner.run(test_suit)
Пример #24
0
#!../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)
Пример #25
0
    def tearDown(self):
        pass

    def test_it_is_true(self):
        self.assertTrue(1 == 0)
        #self.assertTrue(1 != 0)

    def test_it_is_false(self):
        self.assertFalse(1 == 0)

    # def suite():
    # loader = unittest.TestLoader()
    # suite = unittest.TestSuite()
    # suite.addTests(loader.loadTestsFromTestCase(TestMountain))
    # return suite

def fun_suite():
    suite = unittest.TestSuite()#创建测试套
    loader = unittest.TestLoader() #加载
    suite.addTest(loader.loadTestsFromTestCase(TestMountain))#把用例加载到测试套
    return suite #返回测试套

if __name__ == "__main__":
    #自定义报告
    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)
Пример #26
0
            now = datetime.datetime.now()
            # 到达设定时间,结束内循环
            if now.hour == h and now.minute == m:
                break
            # 不到时间就等20秒之后再次检测
            time.sleep(50)
        # 做正事,一天做一次


if __name__ == '__main__':

    result = open(report_name, 'wb')
    runner = HTMLTestRunner(stream=result,
                            title=report_title,
                            description=report_description)
    result_run = runner.run(create_suite())  # 运行测试用例
    result.close()  # 关闭报告文件
    remote_path = http_dir + report_name
    pass_count = result_run.success_count
    fail_count = result_run.failure_count
    error_count = result_run.error_count
    start_time = runner.getReportAttributes(result_run)[0][1]
    duration = runner.getReportAttributes(result_run)[1][1]
    content = report_template.html_summary_content(pass_count, fail_count,
                                                   error_count, start_time,
                                                   duration)

    content_report_path = report_template.html_report_path(
        remote_path)  # 简要测试报告中包含的详情报告地址信息
    if generate_report(report_name, report_title,
                       report_description) is True:  # 执行测试完成,报告生成
Пример #27
0
import unittest
import time
from HTMLTestRunner import HTMLTestRunner

suit = unittest.defaultTestLoader.discover('./test_case',
                                           pattern='test_baidu.py')

if __name__ == "__main__":
    now_time = time.strftime("%Y-%m-%d %H_%M_%S")
    name = './test_report/' + now_time + '.result.html'
    wenjian = open(name, 'wb')
    ht = HTMLTestRunner(stream=wenjian,
                        title="测试报告",
                        description="Windows 10 ,Chorme浏览器")
    ht.run(suit)
    wenjian.close()
Пример #28
0
class SuiteClass(unittest2.TestCase): 
    
    def suiteone(self):        
        test_suite = unittest2.TestSuite()
        test_suite.addTest(HomePageTest('test_home_page'))
        test_suite.addTest(AddRemoveElementsPageTest('test_add_elements'))
        test_suite.addTest(AddRemoveElementsPageTest('test_remove_elements'))
        test_suite.addTest(UIAlignmentPageTest('test_go_to_ui_alignement_page'))
        test_suite.addTest(UIAlignmentPageTest('test_go_to_ui_random_url_page'))
        test_suite.addTest(UIAlignmentPageTest('test_go_to_ui_shift_url_page'))
        test_suite.addTest(UIAlignmentPageTest('test_go_to_ui_random_shift_url_page'))
        return test_suite
        
    def setUpModule(self):
        print("Setup")
        HomePageTest.setUpModule()
        
    def tearDownModule(self):
        print("Teardown")
        HomePageTest.tearDownModule()
         
if __name__ == '__main__':
    path =os.getcwd()
    SuiteClass.setUpModule(object)
    test_suite = SuiteClass.suiteone(object)
    unittest2.TextTestRunner()
    runner =HTMLTestRunner(output=path + const.smoketest_reports, verbosity=2, descriptions=True, failfast=True, buffer=False, 
                        report_title= const.smoketest_reportstitle, template=None, resultclass=None)
    runner.run(test_suite)
    SuiteClass.tearDownModule(object)
Пример #29
0
class Test_unit(unittest.TestCase):
    def setUp(self):
        print("test start")
        self.driver = webdriver.Chrome()
        self.driver.get("http://192.168.0.185/zentao/user-login.html")

    def test_login(self):
        # 登录
        zentao = Zentao(self.driver)  # 实例化类
        self.assertEqual(zentao.login("admin", "Qwe123"), "我的地盘 - 禅道")

    def test_createproduct(self):
        zentao = Zentao(self.driver)
        zentao.login("admin", "Qwe123")
        productname = "product3"
        productcode = "code3"
        self.assertEqual(zentao.createproduct(productname, productcode),
                         "product3" + "::浏览产品 - 禅道")

    def tearDown(self):
        print("test end")


if __name__ == "__main__":
    testuint = unittest.TestSuite()
    testuint.addTest(Test_unit("test_login"))
    testuint.addTest(Test_unit("test_createproduct"))
    fr = open('d:/testresult.html', 'wb')
    runner = HTMLTestRunner(stream=fr, title='报告', description='用例执行情况')
    runner.run(testuint)
    fr.close()
Пример #30
0
# -*- encoding: utf-8 -*-
'''
@File    :   run.py    
@Contact :   [email protected]
@function:   TODO
@Modify Time      @Author    @Version    @Desciption
------------      -------    --------    -----------
2019/5/16 11:05   loudDD      1.0         None
'''

# import lib
import unittest
from HTMLTestRunner import HTMLTestRunner

if __name__ == '__main__':

    discovery = unittest.defaultTestLoader.discover("./", pattern="test*.py")
    with open("./result.html", "wb") as f:
        runner = HTMLTestRunner(stream=f,
                                title="test report",
                                description="test case result")
        runner.run(discovery)
Пример #31
0
中),默认为 None
'''

if __name__ == '__main__':
    """直接加载discover"""
    # 方法一:
    '''
    fp = open('result.html', 'wb')
    runner = HTMLTestRunner(stream=fp,
                            title='测试报告',
                            description='测试情况'
                            )
    runner.run(discover)
      
    '''
    """通过把discover中的用例加载到测试套件"""
    # 方法二:

    suit = unittest.TestSuite()  # 创建一个测试集合
    # discover 方法筛选出来的用例,循环添加到测试套件中
    for test_suit in discover:
        for test_case in test_suit:
            suit.addTest(test_case)
    print(suit)  # 打印一下可以看到suite中添加了哪些测试用例
    fp = open('result.html', 'wb')
    runner = HTMLTestRunner(stream=fp,
                            title='测试报告',
                            description='测试情况'
                            )
    runner.run(suit)
Пример #32
0
                pass
            time.sleep(1)
        else:
            self.fail("time out")
        # 对标题进行断言
        self.assertEqual(driver.title, u"HTMLTestRunner_百度搜索")
        try:
            self.assertEqual(driver.title, u"HTMLTestRunner_百度搜索")
        except BaseException as error:
            print(error)

    def tearDown(self):
        self.driver.quit()


if __name__ == "__main__":

    suite = unittest.TestSuite()
    suite.addTest(Baidutest("test_search"))

    # 定义测试报告存放路径
    # 通过open()方法打开C:\Users\Administrator\Desktop\report.html,没有则自动创建该文件
    fp = open(r'C:\Users\Administrator\Desktop\report.html', 'wb')
    # 定义测试报告
    runner = HTMLTestRunner(
        stream=fp,  # stream制定测试报告文件
        title=u'百度搜索测试报告',  # title定义测试报告标题
        description=u'用例执行情况:')  # description定义测试报告副标题

    runner.run(suite)  # 通过HTMLTestRunner的run()方法来运行测试套件
    fp.close()  # 关闭测试报告
Пример #33
0
        # 动态生成测试方法
        cases_name = []
        for case in cases:
            fn_name = 'test_' + case[0]
            fn = getattr(case_template, '_'+case[1])
            fn.__doc__ = u'测试'
            setattr(scence_cls, fn_name, fn)
            cases_name.append([fn_name, case[2:]])

        # 添加测试用例到测试套件中
        for case_name, params in cases_name:
            t = scence_cls(case_name)
            t.param = {
                'url': params[0],
                'headers': params[1],
                'body': params[2],
                'expect': params[3],
            }
            testsuit.addTest(t)

    return testsuit


if __name__ == '__main__':
    # 生成测试报告
    with open('report.html', 'wb') as f:
        runner = HTMLTestRunner(stream=f,
                                title='',
                                description='')
        runner.run(gen_test_suite())
Пример #34
0
    def runs(self, script):
        log.info("-------测试用例开始---------")
        self.script = script
        # if(test_dir): self.test_dir = test_dir
        # if(report_dir): self.report_dir = report_dir

        discover = unittest.defaultTestLoader.discover(self.test_dir,
                                                       pattern=self.script)
        beginDate = time.time()
        beginDateTime = datetime.datetime.now()

        # 创建报告文件夹
        dir1 = time.strftime("%Y%m")
        dir2 = time.strftime("%d")
        if (not os.path.exists(self.report_dir + '/' + dir1)):
            os.mkdir(self.report_dir + '/' + dir1, 777)
        if (not os.path.exists(self.report_dir + '/' + dir1 + '/' + dir2)):
            os.mkdir(self.report_dir + '/' + dir1 + '/' + dir2, 777)

        # 报告文件完整路径
        now = time.strftime("%Y-%m-%d %H_%M_%S")
        report_name = self.report_dir + '/' + dir1 + '/' + dir2 + '/' + now + '_result.html'

        # 打开文件在报告文件写入测试结果
        with open(report_name, 'wb') as f:
            log.info("报告文件:" + report_name)
            try:
                runer = HTMLTestRunner(stream=f,
                                       title="Test Report [{0}]".format(
                                           self.script),
                                       description='Test case result')
                result = runer.run(discover)
                # attrs = runer.getReportAttributes(result)

                #插入数据库
                ent = Na_Script_Result()
                # 读取脚本的ID
                if (result.result.__len__() > 0):
                    rs = result.result
                    for item in rs:
                        if (item.__len__() > 0):
                            ent.script_id = item[1].script_id
                            ent.script_name = item[1].script_name
                            ent.target_url = item[1].target_url
                            ent.log_path = item[1].log_path

                ent.creator_id = sys.argv[1]
                ent.creator_cn_name = sys.argv[2]
                ent.creator_en_name = sys.argv[3]
                ent.department_id = sys.argv[4]
                ent.department_cn_name = sys.argv[5]
                ent.department_en_name = sys.argv[6]
                ent.status = 1
                ent.result_error = result.error_count
                ent.result_failed = result.failure_count
                ent.result_pass = result.success_count
                ent.result_file = report_name
                if (result.error_count > 0):
                    ent.result_context = json.dumps(result.errors[0][1])
                elif (result.failure_count > 0):
                    ent.result_context = json.dumps(result.failures[0][1])

                ent.run_time = round(time.time() - beginDate, 4)

                endDateTime = datetime.datetime.now()
                # 结果插入数据库
                ent.add()

            except Exception as e:
                log.info("-------测试用例执行失败---------")
                ent = Na_Script_Result()
                # 读取脚本的ID
                ent.script_id = self.script
                ent.creator_id = sys.argv[1]
                ent.creator_cn_name = sys.argv[2]
                ent.creator_en_name = sys.argv[3]
                ent.department_id = sys.argv[4]
                ent.department_cn_name = sys.argv[5]
                ent.department_en_name = sys.argv[6]
                ent.status = 1
                ent.result_error = 1
                ent.result_failed = 0
                ent.result_pass = 0
                ent.result_context = e
                ent.run_time = round(time.time() - beginDate, 4)
                # 结果插入数据库
                endDateTime = datetime.datetime.now()
                ent.add()
                # log.info(json.dumps(e))

        f.close()
        endDate = time.time()

        try:
            # 写本地执行日志
            entLocal = DbRunLogs.create(
                script_id=ent.script_id,
                script_name=ent.script_name,
                target_url=ent.target_url,
                log_file=ent.log_path,
                report_file=ent.result_file,
                run_begin=beginDateTime.strftime("%Y-%m-%d %H:%M:%S"),
                run_end=endDateTime.strftime("%Y-%m-%d %H:%M:%S"),
                run_time=ent.run_time,
                created_at=datetime.datetime.now().strftime(
                    "%Y-%m-%d %H:%M:%S"),
                type=1)
            entLocal.save()
        except Exception as e:
            print(e)

        log.info("-------测试用例结束----(" + str(round(endDate - beginDate, 4)) +
                 " s)-----")
Пример #35
0
import unittest
from HTMLTestRunner import HTMLTestRunner
import os
from test_case.unitt import oxcase
from jiekou.main import MyTestCase

s = unittest.TestSuite()
s.addTest(oxcase('test_1'))
# s.addTest(MyTestCase("test_01"))
unittest.TestLoader()
s.addTest(unittest.TestLoader().loadTestsFromTestCase(MyTestCase))
# s.addTest(loader.loadTestsFromTestCase(oxcase))
di = r'F:\接口和ui一体自动化\work\report'
report_file = di + r'\report2.html'
if not os.path.exists(di):
    os.mkdir(di)
else:
    pass
# t = TextTestRunner()  # 调用执行套件方法
# t.run(s)  # 执行套件
fp = open(report_file, 'wb')
text = HTMLTestRunner(stream=fp, title=u"测试报告", description=u"测试结果如下")
text.run(s)
fp.close()
Пример #36
0
#    return suite   
# 用例路径
case_path = os.path.join(os.getcwd(),'testcase')
print(case_path)

def all_case():
    discover = unittest.defaultTestLoader.discover(case_path, pattern="*.py",top_level_dir=None)
    print(discover)
    return discover


#if __name__ == '__main__':
#    with open('fk_test_report.txt', 'a') as f:
#        # 创建测试运行器(TestRunner),将测试报告输出到文件中
#        runner = unittest.TextTestRunner(verbosity=2, stream=f)
#        runner.run(whole_suite())


if __name__ == "__main__":
    #报告存放位置以及名称
    report_path = os.path.join(os.getcwd(),"report.html")
    fp=file(report_path,"w+")
    runner=HTMLTestRunner(stream=fp,title="hello",description="用例测试情况")
    runner.run(all_case())


    GEN_HTML = report_path
    #运行完自动在网页中显示
    webbrowser.open(GEN_HTML,new = 1)

Пример #37
0
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()
    # 指定测试报告的路径
    test_report_dir = 'C:\\Users\\sgk_lj\\PycharmProjects\\crm_ci_api_test'
    """with open('Judge_test_report_Online.html', 'w') as f:
        runner = HTMLTestRunner(stream=f,
                                title='Judge Online Env Test Report',
                                description='generated by HTMLTestRunner.',
                                verbosity=2
                                )
        runner.run(gl.suite)"""
    discover = gl.suite
    now = time.strftime('%Y-%m-%d_%H_%M_%S_')
    filename = test_report_dir + '\\' + 'Judge_test_report_Online.html'
    fp = open(filename, 'wb')
    # 需屏蔽fp中的中文文字说明。否则在windows下执行会报:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe7 in position 553: ordinal not in range(128)
    runner = HTMLTestRunner(stream=fp, title=u'测试报告', description=u'用例执行情况:')
    result = runner.run(discover)
    print result.success_count
    fp.close()

    # 2.取最新测试报告
    new_report = new_file(test_report_dir)
    # 调试用的
    #    print new_report

    # 3.发送邮件,发送最新测试报告html
    if result.success_count != gl.suite.countTestCases():

        print '=====发送邮件======'
        send_email(new_report)
        print '=====已经发送======'
Пример #39
0
        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__"下面的执行过程是不被执行的。
只是执行了面用例的脚本部分。
"""

Пример #40
0
    @classmethod
    def tearDownClass(self):

        time.sleep(1)
        self.driver.quit()


# if __name__ == '__main__':
#     testunit = unittest.TestSuite()
#     testunit.addTest(unittest.makeSuite(Login))
#     fp = open(r'D:\testresult.html', 'wb')
#     runner = HTMLTestRunner(stream=fp, title="测试报告", description="用例执行情况")
#     runner.run(testunit)
#     fp.close()

##unittest.main()函数用来测试类中以test开头的测试用例
if __name__ == '__main__':
    testunit = unittest.TestSuite()  # 定义一个单元测试容器
    testunit.addTest(Login("test_login"))  # 将测试用例加入到测试容器中
    testunit.addTest(Login("test_search"))
    # 取前面时间%Y-%m-%M-%H_%M_%S
    now = time.strftime("%Y-%m-%d-%H%M%S", time.localtime(time.time()))
    # 把当前时间加到报告中,定义报告存放路径,支持相对路径
    filename = "G:\\xiazaitp\\" + now + 'result.html'
    fp = open(filename, 'wb')
    runner = HTMLTestRunner(stream=fp, title="测试报告", description="用例执行情况")
    runner.run(testunit)  #自动进行测试
    fp.close()  #关闭打开的文件
    print("232")
Пример #41
0
# 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()
Пример #42
0
# -*- coding: utf-8 -*-
import sys
import time
import os

from HTMLTestRunner import HTMLTestRunner
#import unittest
from unittest import defaultTestLoader

sys.path.append('./interface')
sys.path.append('./report')
test_dir = './interface'
report_dir = './report'
testsuit = defaultTestLoader.discover(test_dir, pattern='*_test.py')

if __name__ == "__main__":

    now = time.strftime("%Y-%m-%d %H_%M_%S")
    filename = './report/' + now + 'result.html'
    fp = open(filename, 'wb')
    runner = HTMLTestRunner(stream=fp,
                            title='yanss_API',
                            description='mysql, python, request,unittest')
    runner.run(testsuit)
    fp.close()
    os.system("python " + report_dir + "/sendMail.py")

    #unittest.TextTestRunner().run(testsuit)
Пример #43
0
    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)
Пример #44
0
import os
import unittest
from HTMLTestRunner import HTMLTestRunner
# 自动寻找测试用例并生成报告
# suite = unittest.TestSuite()

loader = unittest.TestLoader()

start_dir = os.path.dirname(os.path.abspath(__file__))

suite1 = loader.discover(start_dir)

with open('../report/demo.html', 'wb') as f:

    runner = HTMLTestRunner(stream=f,
                            verbosity=2,
                            title=u'接口测试报告',
                            description=u'用例执行情况',
                            tester=u'刘旺')
    runner.run(suite1)
#coding:UTF-8
import unittest
# from test_mathfunc import TestMathFunc
from HTMLTestRunner import HTMLTestRunner

if __name__ == '__main__':
    #     suite = unittest.TestSuite()
    #     suite.addTests(unittest.TestLoader().loadTestsFromTestCase(TestMathFunc))
    deaultsuite = unittest.defaultTestLoader.discover(
        "E:\work\RF\RaiseSalary\LearnUnittest", pattern="test_mathfunc.py")

    #     runner = unittest.TextTestRunner(verbosity=2)
    #     runner.run(deaultsuite)
    with open('test_math_HTMLTestReport.html', mode='wb') as f:
        runner = HTMLTestRunner(stream=f,
                                title="Test Math Report",
                                description="by HTMLTestRunner",
                                verbosity=2)
        runner.run(deaultsuite)
Пример #46
0
#! /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)