예제 #1
0
파일: Control.py 프로젝트: leoche666/FTT
    def __init__(self,xml,log,html,opt,inform=None,**kdb):
        if xml is None:
            raise Exception('the path of xml is empty')
        if log is None:
            raise Exception('the path of log is empty')
        if html is None:
            raise Exception('the path of html is empty')

        #database
        con = None
        if kdb.get('start-up'):
            import Databases
            if kdb['engine'] == 'mysql':
                con = Databases.mysql('mysql')(**kdb['settings'])

        #xml
        varmap = Config.load_xml(xml)
        #log
        self.logger=Loger()
        self.logger.Open(log)

        #html
        self.fp_html = open(html, 'wb')
        #create the IContext,and Gather
        self.ctx = IContext(varmap=varmap,logger=self.logger,opt=opt,con=con)
        self.gather = Gather.Gather(HTMLTestRunner._TestResult(1), \
                                    htmlhelper=HTMLHelper(stream=self.fp_html, title='FTTReport', description='This is the report for FTT framework'))
예제 #2
0
파일: client.py 프로젝트: 550719287/thrift
			print ex
			e = str(ex)
			try:
				assertpy.assert_that(e).contains('HealthServiceException')
			except:
				try:
					assertpy.assert_that(e).contains('HTTP')
				except:
					raise TypeError('ICE Error')
				else:
					print ex.message
					raise TypeError('HTTP ERROR')
			else:
				print(e)



if __name__ == "__main__":
	#21testcase

	suite = unittest.makeSuite(client) #运行类下面的test所有用例
	fr = open(localaddr,'wb')
	runner = HTMLTestRunner.HTMLTestRunner(stream=fr,title='测试报告',description='测试报告详情')
	runner.run(suite)
	
	# # 构造测试集
 #    suite = unittest.TestSuite()
 #    suite.addTest(client("test_messageNotify"))
 #    # 执行测试
 #    runner = unittest.TextTestRunner()
 #    runner.run(suite)
예제 #3
0
파일: main.py 프로젝트: Vylet/MyAPITest
    logger.debug('2')
    suite.addTest(TestCase('test',caseFile,None))
    logger.debug('3')
    #logger.debug(suite)
    print type(suite)
    #print suite
    
    with codecs.open(REPORT_FILE,mode='wb',encoding='UTF-8') as fp:
        logger.debug('4')
        runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='TEST REPORT',description='Test Cases running results as following:')
        logger.debug('5')
        runner.run(suite)'''

    caseFile = 'TestCase.xlsx'
    tc = Cases()
    cases = tc.testCases(caseFile)

    suite = unittest.TestSuite()

    for case in cases:
        suite.addTest(TestCase('test', case))

    with codecs.open(REPORT_FILE, mode='wb', encoding='UTF-8') as fp:
        logger.debug('4')
        runner = HTMLTestRunner.HTMLTestRunner(
            stream=fp,
            title='TEST REPORT',
            description='Test Cases running results as following:')
        logger.debug('5')
        runner.run(suite)
예제 #4
0
#!/usr/bin/python3

import unittest
import HTMLTestRunner
import time
from test_case.models.function import new_report, send_mail

if __name__ == "__main__":
    test_report = 'C:\\Users\\12114\\Desktop\\SaasTest\\result'
    now = str(time.strftime("%Y-%m-%d %H_%M_%S"))
    filename = "C:\\Users\\12114\\Desktop\\SaasTest\\result\\" + now + "report.html"
    fp = open(filename, 'wb')
    runner = HTMLTestRunner.HTMLTestRunner(
        stream=fp,
        title='SaaS平台测试报告',
        description='环境:windows 10    浏览器:Chrome')

    discover = unittest.defaultTestLoader.discover(
        'C:\\Users\\12114\\Desktop\\SaasTest\\test_case', pattern='*_sta.py')
    runner.run(discover)

    fp.close()

    new_report = new_report(test_report)
    send_mail(new_report)
예제 #5
0
    #添加测试集
    suite = unittest.TestSuite()
    #添加测试套件 类名(用例名)
    suite.addTest(assertTest("test_01"))
    suite.addTest(assertTest("test_02"))
    suite.addTest(assertTest("test_03"))
    suite.addTest(assertTest("test_04"))
    suite.addTest(assertTest("test_05"))
    #
    # # runner = unittest.TextTestRunner()
    # # runner.run(suite)

    # # test_dir = "E:\\studyMenu\\PycharmProjects\webAutoTest\\02phase"
    # test_dir = os.path.join(os.getcwd())
    #
    # suite = unittest.defaultTestLoader.discover(test_dir,
    #                                            pattern='test*.py', #测试类必须以test开头 不然找不到文件
    #                                            top_level_dir=None)

    print(suite)

    nowTime = time.strftime("%Y-%m-%d_%H_%M_%S", time.localtime())
    filePath = r"E:/studyMenu/PycharmProjects/webAutoTest/02phase/report" + nowTime + ".html"
    fp = open(filePath, "wb")
    runner = HTMLTestRunner.HTMLTestRunner(
        stream=fp,
        verbosity=1,  #冗长
        title=u"测试标题",
        description=u"测试描述")
    runner.run(suite)
    fp.close()
예제 #6
0
Driver.DRIVER.implicitly_wait(5)  #设置隐式等待5s

#设置用例路径
case_path = "/Users/yangxiaochen/PycharmProjects/app-autotest/AndroidCase"
discover = unittest.defaultTestLoader.discover(case_path,
                                               pattern="txest_*.py",
                                               top_level_dir=None)

#执行用例生成报告
runner = unittest.TextTestRunner()
reportpath = "/Users/yangxiaochen/PycharmProjects/app-autotest/result.html"

##定义报告
fp = open(reportpath, "wb")
runner = HTMLTestRunner.HTMLTestRunner(stream=fp,
                                       title=u'安卓自动化测试报告',
                                       description=u'用例执行情况:')
runner.run(discover)
fp.close()


def send_mail():
    # 发送邮件的服务器
    smtpserver = 'smtp.qq.com'

    # 发送邮件用户和密码
    user = "******"
    password = '******'

    # 发送者
    sender = "*****@*****.**"
예제 #7
0
        # Create a new Chrome session
        cls.driver = webdriver.Chrome(
            executable_path=
            'C:/Users/lasya/PycharmProjects/Promethyus/chromedriver.exe')
        cls.driver.maximize_window()
        cls.driver.implicitly_wait(3)

    def test_addNewTalent(self):
        driver = self.driver
        driver.get("https://app.promytheus.net/sign-in.html")
        LoginPage(driver).setSignIn()

        # calling the LoginPage() class from loginPage file
        newtalent = NewTalentPage(driver)
        newtalent.setCategory(
        )  # calling the setCategory() method from the NewTalentPage() class
        newtalent.setPersonal()
        newtalent.setTalentTraits()
        newtalent.setPersonality()

        # calling other tabs to click on next button in all optional Tabs
        otherTabsObj = otherTabs(driver)
        otherTabsObj.finishOtherTabs()

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


if __name__ == "__main__":
    unittest.main(testRunner=HTMLTestRunner.HTMLTestRunner(
        output="C:/Users/lasya/PycharmProjects/Promethyus/Reports"))
예제 #8
0
# unittest 中的testloader 测试用例加载器
# 方式一: discover  方法 自动遍历目录加载用例
import unittest
import os, time
import HTMLTestRunner
case_path = os.path.dirname(__file__)  # 当前路径
report_path = os.path.join(case_path, '..//report')  # 输入位置
print(case_path)
discover = unittest.defaultTestLoader.discover(start_dir=case_path,
                                               pattern='requests*.py')
suit = unittest.TestSuite()
suit.addTest(discover)
# unittest.main(verbosity=2,defaultTest='suit')

html_path = os.path.join(report_path,
                         'report_%s.html' % time.strftime('%Y_%m_%d_%H_%M_%S'))
file = open(html_path, 'wb', encoding='utf-8')
html_runner = HTMLTestRunner.HTMLTestRunner(stream=file,
                                            title='requests接口测试',
                                            description='由接口自动化测试完成,包含大部分')
html_runner.run(suit)
file.close()
        driver.find_element_by_id('login').send_keys(user)
        driver.find_element_by_id('senha').send_keys(pass_word)
        driver.find_element_by_xpath('//button[@value="Entrar"]').click()
        time.sleep(2)
        expected_quick_setup = ipv4 + '/#page-quick-setup'
        self.assertEqual(driver.current_url, expected_quick_setup, '[UI_SS_01] URL page quick setup get wrong')

        config_advance = driver.find_element_by_css_selector('a.next.config[href="#page-status-software"]')
        ActionChains(driver).move_to_element(config_advance).click().perform()
        expected_status_software = ipv4 + '/#page-status-software'
        self.assertEqual(driver.current_url, expected_status_software, '[UI_SS_01] URL page Status software get wrong')
        time.sleep(3)
        version_actual = driver.find_element_by_css_selector('.box-content >.list:nth-child(2) >li:nth-child(2)')
        ActionChains(driver).move_to_element(version_actual).perform()
        version_actual = version_actual.text.splitlines()[-1]

        json_api = Helper.Helper_common.gateway_about()
        version_expected = json_api['hardware']['version']
        self.assertEqual(version_actual, version_expected,
                         '[UI_SS_01] Hardware version did not display match between WebUI and API')

    def tearDown(self):
        end_time = datetime.datetime.now()
        print('Duration: ' + str((end_time - self.start_time)))
        self.driver.quit()


if __name__ == '__main__':
    HTMLTestRunner.main()
예제 #10
0
        # print(success)
        self.assertTrue(success)


"""
def main():
    first = FirstCase()
    first.test_login_code_error()
    first.test_login_email_error()
    first.test_login_password_error()
    first.test_login_username_error()
    first.test_login_success()
"""

if __name__ == '__main__':
    # unittest.main()
    file_path = os.path.join(
        BATH_PATH, 'report',
        'first_case.html')  # F:\Pycharm\muke\POpractice\report\first
    f = open(file_path, 'wb')
    suite = unittest.TestSuite()
    # suite.addTest(FirstCase('test_login_success'))
    suite.addTest(FirstCase('test_login_email_error'))
    # suite.addTest(FirstCase('test_login_username_error'))
    runner = HTMLTestRunner.HTMLTestRunner(stream=f,
                                           title="This is first123 report",
                                           description=u"这个是我们第一次测试报告",
                                           verbosity=2)
    runner.run(suite)
    f.close()
예제 #11
0
    def test_case_03_mul(self):
        driver.find_element_by_id('com.android.calculator2:id/digit_2').click()
        driver.find_element_by_id('com.android.calculator2:id/op_mul').click()
        driver.find_element_by_id('com.android.calculator2:id/digit_3').click()
        driver.find_element_by_id('com.android.calculator2:id/eq').click()
        text = driver.find_element_by_xpath(
            '//*[@resource-id="com.android.calculator2:id/result"]').text
        assert_equal(text, "6")

    @take_screen_shot
    def test_case_04_div(self):
        driver.find_element_by_id('com.android.calculator2:id/digit_9').click()
        driver.find_element_by_id('com.android.calculator2:id/op_div').click()
        driver.find_element_by_id('com.android.calculator2:id/digit_3').click()
        driver.find_element_by_id('com.android.calculator2:id/eq').click()
        text = driver.find_element_by_xpath(
            '//*[@resource-id="com.android.calculator2:id/result"]').text
        assert_equal(text, "3")


if __name__ == '__main__':
    os.system('adb shell killall atx-agent')
    # unittest.main(testRunner=HtmlTestRunner.HTMLTestRunner(output='report',
    #                                                        report_title='Android计算器测试报告',encoding='utf-8'))
    report_dir = r'calculatorTest.html'
    re_open = open(report_dir, 'wb')
    suite = unittest.TestLoader().loadTestsFromTestCase(CalTestCase)
    runner = HTMLTestRunner(stream=re_open,
                            title=u'Android 计算器自动化',
                            description=u'测试报告')
    runner.run(suite)
예제 #12
0
data = xlrd.open_workbook(fname)


def gettest(mainsheet):
    arr = []
    table = data.sheet_by_name(mainsheet)  #通过名称获取
    nrows = table.nrows
    for i in range(nrows):
        # print(table.row_values(i))
        Ilevel = table.row_values(i)[Clevel]
        Istatus = table.row_values(i)[Cstatus]
        if (Ilevel <= testlevel and Istatus == "YES"):
            arr.append(table.row_values(i))
    return arr


testunit = unittest.TestSuite()  #定义一个单元测试容器
# mainsheet = u"目录"
# arr = gettest(mainsheet)
# for a in arr:
#     testunit.addTest(AUTO(a[Cname]))

# testunit.addTest(CheckCar("test1"))  #将测试用例加入到测试容器中
testunit.addTest(HOME("testcase"))  #将测试用例加入到测试容器中
filename = "./AUTOReport.html"  #定义个报告存放路径,支持相对路径。
fp = file(filename, 'wb')
runner = HTMLTestRunner.HTMLTestRunner(
    stream=fp, title='Report_title',
    description='Report_description')  #使用HTMLTestRunner配置参数,输出报告路径、报告标题、描述
runner.run(testunit)  #自动进行测试
예제 #13
0
        driver.find_element_by_name("ibm-submit").submit()
        driver.implicitly_wait(10)
        time.sleep(5)
        result = driver.title
        assert result == 'FastPass | Sales orders - Sales order information', "The page did not be opened correct"
        C_screenshots.C_screenshots(
            self,
            'C:\LM_IBM_WORK\LM_WORK\FastPass\FastPass_Mobile\\result\\image\\',
            'NewRelease141_1_p13')
        time.sleep(3)

        print "\n"
        print "Test Case end with successfully!"

    def tearDown(self):
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)


if __name__ == '__main__':
    now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
    testunit = unittest.TestSuite()
    testunit.addTest(FastPass_Mobile("test_Case_141_1"))
    filename = "C:\LM_IBM_WORK\LM_WORK\FastPass\FastPass_Mobile\\result\\" + now + " FastPass_Test_Case_NewRelease141_1.html"
    fp = file(filename, 'wb')
    runner = HTMLTestRunner.HTMLTestRunner(
        stream=fp,
        title='FastPass_Mobile Test Case',
        description='This is NewRelease141_1 test case')
    runner.run(testunit)
예제 #14
0
@author: unittest自动化框架(可以调用)
'''
import unittest
import os
import HTMLTestRunner

# 用例路径
case_path = os.path.join(os.getcwd(), "G:\\eclipse_1\\web_selenium1\\xiaoshou_selenium")
# 报告存放路径
report_path = os.path.join(os.getcwd(), "G:\\eclipse_1\\web_selenium1\\anli\\report")
def all_case():
    discover = unittest.defaultTestLoader.discover(case_path,
                                                    pattern="main.py",
                                                    top_level_dir=None)
    print(discover)
    return discover

if __name__ == "__main__":
    # runner = unittest.TextTestRunner()
    # runner.run(all_case())

    # html报告文件路径
    report_abspath = os.path.join(report_path, "result.html")
    fp = open(report_abspath, "wb")
    runner = HTMLTestRunner.HTMLTestRunner(stream=fp,
                                           title=u'unittest自动化测试报告,测试结果:',
                                           description=u'用例执行情况:')

    # 调用add_case函数返回值
    runner.run(all_case())
    fp.close()
예제 #15
0
파일: run.py 프로젝트: li-yong/CIM-TEST
     t = ThreadClass(testDict,options.mode)
     tList.append(t)
     t.start()
    #t.join() #the thread (case )will be run one by one, not simultaneously
       
 for t in tList: #the thread (case )run simultaneously
     t.join()
     
     
 if options.indication=='yes':
     stopListen(p)
 
 if __builtin__.htmlReport:
     #generate HTML report
     allTests=unittest.TestSuite()
     allTestResults=HTMLTestRunner._TestResult()
     
     
     allResult=[]
     allSuccess_count=0
     allfailure_count=0
     allerror_count=0
     
 
     
     threadList= __builtin__.resultG.keys()
     threadList.reverse() #let report show in Thread1, 2, 3 sequence from top to bottom
     for i in threadList:        
         test=__builtin__.testG[i]
         result=__builtin__.resultG[i]
         for b in result.result:
예제 #16
0
            print("Main image is displayed")
        else :
            print("Main image is not displayed")
        roundtrip = WebDriverWait(driver,10).until(lambda driver : driver.find_element_by_xpath(".//label[contains(.,'Round-trip')]"))
        if roundtrip.is_selected() :
            print("Round Trip is selected by default")
        else :
            print("Round Trip is not selected")
        
        Oneway = WebDriverWait(driver,10).until(lambda driver : driver.find_element_by_xpath(".//label[contains(.,'One-way')]"))
        if Oneway.is_selected() :
            print("Error")
        else :
            print("Good to go")
        print(driver.current_url)
        
        bottom_options = WebDriverWait(driver,10).until(lambda driver : driver.find_element_by_xpath(".//*[@class='corp-images-container']"))
        bottom_iter = bottom_options.find_elements_by_tag_name('span')
        options_list = [x for x in bottom_iter]
        print(options_list)
        
        footer_options = WebDriverWait(driver,10).until(lambda driver : driver.find_element_by_xpath(".//*[@class='inline footer-link-list last-link-list']"))
        footer_iter = footer_options.find_elements_by_tag_name('a')
        for x in footer_iter :
            print(x.text)
    
    def tearDown(self):
        self.driver.quit()
        
if __name__ == "__main__":HTMLTestRunner.main()
예제 #17
0
        """"""
        print 'setUp'

    #----------------------------------------------------------------------
    def tearDown(self):
        """"""
        print 'tearDown'

    def testTestJunit(self):
        print 'testTestJunit'
        time.sleep(2)
        a = 1 / 0

    def testError(self):
        print 'testError'
        self.assertEqual(1, 2)


if __name__ == "__main__":
    unittest.main(testRunner=MyTestRunner())

    testsuite = unittest.TestSuite()
    testsuite.addTests(TestJunit)
    unittest.TextTestRunner(verbosity=2).run(testsuite)
    filename = "e:\\result.html"
    fp = file(filename, 'wb')

    runner = HTMLTestRunner.HTMLTestRunner(stream=fp,
                                           title='Result',
                                           description='Test_Report')
    runner.run(testsuite)
예제 #18
0
        res=request.run_main("get",url,data)
        self.assertEqual(res['errorCode'],1000)

    def test_face_02(self):
        url="https://www.baidu.com"
        data={                      
            "username":"******",
            "password":"******"
            }
        '''
        mock在项目中的运用
        '''
        mock_method=mock.Mock(return_value=get_value("api/beta"))
        request.run_main=mock_method
        res=request.run_main("get",url,data)
        self.assertEqual(res['errorCode'],1001)

if __name__ == "__main__":
    suite=unittest.TestSuite()
    suite.addTest(Interface("test_face"))
    suite.addTest(Interface("test_face_02"))
    file_path=base_path+"/Report/result.html"
    '''
    生成测试报告
    '''
    with open(file_path,"wb") as f:
        runner=HTMLTestRunner.HTMLTestRunner(stream=f,title="这是测试标题",description="这个是说明")
        runner.run(suite)
    f.close()
    
   
예제 #19
0
#-*-coding:utf-8-*-
import unittest
import HTMLTestRunner
from class_http_demo.test_http import TestHttpRequest

suite = unittest.TestSuite()  # 存储用例
loader = unittest.TestLoader()  # 创建一个加载器
suite.addTest(loader.loadTestsFromTestCase(TestHttpRequest))  # 执行类里面的所有用例
with open("test_report.html", "wb") as file:
    runner = HTMLTestRunner.HTMLTestRunner(stream=file,
                                           verbosity=2,
                                           title="python单元测试报告",
                                           description="这是一份测试报告")
    runner.run(suite)
예제 #20
0
import os
import HTMLTestRunner
import baidusearch1
import time
import sys
reload(sys)
sys.setdefaultencoding("utf-8")


def allTestsCase():
    '''返回所有的测试用例'''
    suite = unittest.defaultTestLoader.discover(
        # 假如这里的start_dir是使用具体的目录比如'C:\Users\Public\Favorites',就需要把反斜杠变为斜杠'C:/Users/Public/Favorites'
        start_dir=os.path.dirname(__file__),
        pattern='baidu*.py',
        top_level_dir=None)
    return suite


def getNowTime():
    return time.strftime('%Y-%m-%d %H_%M_%S')


fp = open(getNowTime() + ' TestReport.html', 'wb')
runner = HTMLTestRunner.HTMLTestRunner(stream=fp,
                                       verbosity=2,
                                       title=u'百度例子测试报告',
                                       description=u'你好,我是描述')
runner.run(allTestsCase())
fp.close()
예제 #21
0
파일: main.py 프로젝트: saofox/FirstFox
        yield SingleTestCase(ca)


if __name__ == '__main__':
    logging.basicConfig(
        level=logging.DEBUG,
        format=
        '%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s  %(message)s',
        datefmt='%a, %d %b %Y %H:%M:%S')

    logging.info("开始执行测试用例!")

    # 读取excel中每条记录,将每条记录实例化为SingleTestCase对象,并加入CaseLayer中,真正形成一条测试用例;
    file = r"E:\SheYuan-Interface\AutoInterfaceTest\testcase\TestCases.xlsx"
    for i in create_case_to_iterator(file):
        setattr(CaseLayer, "%s" % i.case_num, CaseLayer.getTestFunc(i))

    case_layer = CaseLayer()
    test_suite = unittest.TestSuite()
    for c in dir(case_layer):
        if c.startswith("TEST"):
            test_suite.addTest(CaseLayer(c))
    if test_suite.countTestCases() is None:
        raise Exception("ERROR:测试用例没有加载成功!")

    filePath = r"E:\SheYuan-Interface\AutoInterfaceTest\report\report.html"
    with open(filePath, "wb") as html_report:
        runner = HTMLTestRunner.HTMLTestRunner(html_report)
        result = runner.run(test_suite)
    logging.info("*****ALL TestCase Perform Finish!!*****")
예제 #22
0
        assert self.driver.find_element_by_id(MY_COMM_SEND).get_attribute(
            'checked') == 'false'
        print u'Step %s:左划切换我的评论-回复评论测试:OK' % (str(step))
        step += 1

    #excute TestCase
    def testMyComment(self):
        self.common_check()


if __name__ == '__main__':
    pass
    # a = TestLogin()
    # a.setUp()
    # a.testFunc1()
    # a.tearDown()
    #d =DbLib()

    import HTMLTestRunner
    t = unittest.TestSuite()
    t.addTest(unittest.makeSuite(TestComment))
    #unittest.TextTestRunner.run(t)
    filename = 'F:\\dx_comment.html'
    fp = file(filename, 'wb')
    runner = HTMLTestRunner.HTMLTestRunner(stream=fp,
                                           title='Dx_Test',
                                           description='Report_discription')

    runner.run(t)
    fp.close()
예제 #23
0
sys.path.append("\test_case")
#这里需要导入测试文件
from test_case.public.reg import reg
from test_case.public.login_1 import login

testunit = unittest.TestSuite()

#将测试用例加入到测试容器(套件)中
testunit.addTest(unittest.makeSuite(reg))
testunit.addTest(unittest.makeSuite(login))
'''
#执行测试套件
runner = unittest.TextTestRunner()
runner.run(testunit)
'''

#取前面时间
now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))

#定义个报告存放路径,支持相对路径。
filename = "C:\\" + now + 'result.html'
fp = file(filename, 'wb')
runner = HTMLTestRunner.HTMLTestRunner(stream=fp,
                                       title=u'iwebshop测试报告',
                                       description=u'用例执行情况:')

#执行测试用例
runner.run(testunit)
fp.close()
예제 #24
0
def interface(task_name, failcount, email_data):
    task_dir = os.getcwd() + r"/task/" + task_name
    timer = time.strftime("%y-%m-%d%H-%M-%S", time.localtime(time.time()))
    #print (os.getcwd())
    #report_dir=os.getcwd()+"/report/"
    report_dir = task_dir + r"/report"
    #文件名字
    filename = report_dir + r"/report" + timer + ".html"
    #print filename
    fp = open(filename, "wb")

    #日志服务
    global Successlogname
    Successlogname = report_dir + r"/Successlog" + timer + ".text"
    #print (Successlogname)
    #rm_file(Successlogname)

    global Errorlogname
    Errorlogname = report_dir + r"/Errorlog" + timer + ".text"
    #rm_file(Errorlogname)

    #目录名字
    #case_dir=os.getcwd()+"/testcase/"
    case_dir = task_dir + r"/testcase"

    #print case_dir
    def createSuite():
        #suiteunit=unittest.TestSuite()
        #对应suit进行重构,调用重构的
        suiteunit = Suit()
        suiteunit.editfailcount(failcount)
        os.path.abspath(os.path.join(task_dir, "../"))
        discover = unittest.defaultTestLoader.discover(
            case_dir,
            pattern="*.py",
            top_level_dir=os.path.abspath(os.path.join(task_dir, "../")))

        #suite.addTest(unittest.makeSuite("SVCTest"))
        for test_suite in discover:
            #print (test_suite)
            for i in test_suite:
                #print (i)
                suiteunit.addTests(i)
        #print(suiteunit)
        return (suiteunit)

    #suiteunit=unittest.TestSuite()
    #discover=unittest.defaultTestLoader.discover(case_dir,pattern="*.py",top_level_dir=None)
    runner = HTMLTestRunner.HTMLTestRunner(stream=fp,
                                           title=u'测试',
                                           description=u'接口报告的描述')
    runner.run(createSuite())
    fp.close()

    #print discover
    #runner.run(discover)interface

    #判断是否发送邮件是则发送
    if email_data != None:
        logs = {"successlog": Successlogname, "errorlog": Errorlogname}
        sendemail = SendEmail(email_data['host_dir'], email_data['email_port'],
                              email_data['username'], email_data['passwd'])
        sendemail.add_message(filename, logs)
        sendemail.add_header(email_data['Headerfrom'], email_data['Headerto'],
                             email_data['subject'])
        sendemail.send(email_data['sender'],
                       email_data['receivers'].split(','))

    #开始拿去报告和日志的数据
    spider = Spider(filename)
    test_steps, statuses = spider.get_html_data()
    spider.get_log_data(Successlogname, Errorlogname)
    responses = spider.get_response(test_steps)
    '''
    print(test_cases)
    print(statuses)
    print(responses)
    '''
    #把执行表新增一次执行任务
    CarryTask.objects.create(task_name=task_name)
    test_carryTaskid = CarryTask.objects.values("id").aggregate(
        id=Max('id'))['id']
    #把执行数据全部入库
    #如果正常
    try:
        for i in range(len(test_steps)):
            LogAndHtmlfeedback.objects.create(
                test_step=test_steps[i],
                test_status=statuses[i],
                test_response=responses[i],
                test_carryTaskid=test_carryTaskid)
    # 如果全部时内部错误返回,不生成文件
    except:
        for i in range(len(test_steps)):
            LogAndHtmlfeedback.objects.create(
                test_step=test_steps[i],
                test_status=statuses[i],
                test_response="",
                test_carryTaskid=test_carryTaskid)
예제 #25
0
        driver.find_element_by_id("FirstName").send_keys(self.FirstName)
        driver.find_element_by_id("LastName").clear()
        driver.find_element_by_id("LastName").send_keys(self.LastName)
        driver.find_element_by_id("Company").clear()
        driver.find_element_by_id("Company").send_keys(self.Company)
        driver.find_element_by_id("Email").clear()
        driver.find_element_by_id("Email").send_keys(self.Email)
        driver.find_element_by_id("Phone").clear()
        driver.find_element_by_id("Phone").send_keys(self.Phone)
        Select(driver.find_element_by_id("Function__c")).select_by_visible_text("IT / Security")
        driver.find_element_by_id("Title").clear()
        driver.find_element_by_id("Title").send_keys(self.Title)
        Select(driver.find_element_by_id("Country")).select_by_visible_text("US")
        Select(driver.find_element_by_id("State")).select_by_visible_text("CA")
        driver.find_element_by_link_text("Get Started").click()

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


if __name__ == '__main__':
    HTMLTestRunner.main(verbosity=2)
    # if __name__ == "__main__":
    unittest.main()





       
예제 #26
0
파일: unittests.py 프로젝트: boyska/gpodder
# ex: Tests are in "gpodder.test.model", coverage reported for "gpodder.model"
test_modules = ['model']

for module in test_modules:
    test_mod = __import__('.'.join((test_package, module)), fromlist=[module])
    coverage_mod = __import__('.'.join((package, module)), fromlist=[module])

    suite.addTest(unittest.defaultTestLoader.loadTestsFromModule(test_mod))
    coverage_modules.append(coverage_mod)

try:
    # If you want a HTML-based test report, install HTMLTestRunner from:
    # http://tungwaiyip.info/software/HTMLTestRunner.html
    import HTMLTestRunner
    REPORT_FILENAME = 'test_report.html'
    runner = HTMLTestRunner.HTMLTestRunner(stream=open(REPORT_FILENAME, 'w'))
    print """
    HTML Test Report will be written to %s
    """ % REPORT_FILENAME
except ImportError:
    runner = unittest.TextTestRunner(verbosity=2)

try:
    import coverage
except ImportError:
    coverage = None

if __name__ == '__main__':
    if coverage is not None:
        cov = coverage.Coverage()
        cov.erase()
예제 #27
0
#coding=utf-8
import unittest


def all_case():
    case_dir = "C:\\Evan\\4thReport\\test_case"
    testcase = unittest.TestSuite()
    discover = unittest.defaultTestLoader.discover(case_dir,
                                                   pattern="test*.py",
                                                   top_level_dir=None)

    # for test_suite in discover:
    #     for test_case in test_suite:
    #         testcase.addTests(test_case)
    testcase.addTests(discover)
    print testcase
    return testcase


if __name__ == "__main__":
    # runner = unittest.TextTestRunner()
    import HTMLTestRunner
    report_path = "C:\\Evan\\4thReport\\report\\result.html"

    fp = open(report_path, "wb")
    runner = HTMLTestRunner.HTMLTestRunner(stream=fp,
                                           title=u"test",
                                           description=u"test")

    runner.run(all_case())
    fp.close()
예제 #28
0
            "UserId": "UUID1"
        }
        endpoint = "/data/raw"
        data = json.dumps(payload)

        content_type = "application/json"
        res = self.app.post(endpoint, data=data, content_type=content_type)
        assert b'"sucessfully added Raw Record' in res.data

    def test_3data_raw_get(self):
        ''' Get the created record '''
        rv = self.app.get('/data/raw')
        assert b'UUID1' in rv.data


if __name__ == '__main__':
    fp = file('my_report.html', 'wb')
    runner = HTMLTestRunner.HTMLTestRunner(
        stream=fp,
        title='Virgilant unit test',
        description='Virgilant Backend API Unit Testing')

    tcl = [
        RooTestCase, AdminFirmwareTest, AdminLegalTest, AdminTutorialTest,
        AdminTipsNewsTest, DataTest
    ]
    allSuitesMap = map(
        lambda x: unittest.TestLoader().loadTestsFromTestCase(x), tcl)
    allSuites = unittest.TestSuite(allSuitesMap)
    runner.run(allSuites)
예제 #29
0
        payload = {'CommandCode': 'GetAllCityData', 'Marker': '1482738389646',"TransferData": "{\'CityId\':123456}"}
        headers = {'Content-Type': 'application/json;charset=UTF-8'}
        r = requests.post(self.url, data=read_json.dumps(payload), headers=self.headers)
        print(r.status_code)
        assert '未找到' in read_json.loads(r.text)["ErrorInfo"]
        self.assertEqual(200,r.status_code)

if __name__ == '__main__':
    # unittest.main(verbosity=4)
    now = time.strftime('%Y-%m-%d %H-%M-%S')
    report_dir = now + r'result.html'
    re_open = open(report_dir, 'wb')
    suite = unittest.TestLoader().loadTestsFromTestCase(Search_City)
    runner = HTMLTestRunner.HTMLTestRunner(
        stream=re_open,
        title=u' ---API接口测试报告---',
        description=u'API接口测试报告---接口测试详情'
    )
    runner.run(suite)



url = 'http://183.62.167.17:10158/CyzgMobileConfigService/GetDataInfo'
# payload ={'CommandCode':'GetAllCityData','Marker':'1482738389646',"TransferData":"{\'CityId\':430100}"}
# payload ={'CommandCode':'GetAllCityData','Marker':'1482738389646',"TransferData":"{\'CityId\':43}"}
payload ={'CommandCode':'GetAllCityData','Marker':'1482738389646',"TransferData":"{\'CityId\':123456}"}
headers = {'Content-Type':'application/json;charset=UTF-8'}

#把字典转换成json字符串 json.dumps(data)
#把json字符串转换为字典数据类型 json.loads(data)
# r = requests.post(url,data=json.dumps(payload),headers=headers)
        driver.find_element_by_name("ibm-submit").submit()
        driver.implicitly_wait(10)
        time.sleep(5)
        result = driver.title
        assert result == 'FastPass | Sales orders - Sales order information', "The page did not be opened correct"
        C_screenshots.C_screenshots(
            self,
            'C:\LM_IBM_WORK\LM_WORK\FastPass\FastPass_Agile\\result\\image\\',
            'SalesOrder_SVIInstantRebate_p3')
        time.sleep(3)

        print "\n"
        print "Test Case end with successfully!"

    def tearDown(self):
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)


if __name__ == '__main__':
    now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
    testunit = unittest.TestSuite()
    testunit.addTest(FastPass_Agile("test_Case_SalesOrder_SVIInstantRebate"))
    filename = "C:\LM_IBM_WORK\LM_WORK\FastPass\FastPass_Agile\\result\\" + now + " FastPass_Test_Case_SalesOrder_SVIInstantRebate.html"
    fp = file(filename, 'wb')
    runner = HTMLTestRunner.HTMLTestRunner(
        stream=fp,
        title='FastPass_Agile Test Case',
        description='This is SalesOrder_SVIInstantRebate test case')
    runner.run(testunit)
예제 #31
0
def run():
	fp=os.path.join(os.path.dirname(__file__),'report',getNowTime()+'testReport.html')
	HTMLTestRunner.HTMLTestRunner(
		stream=open(fp,'wb'),
		title='自动化测试报告',
		description='自动化测试报告详细信息').run(allTests())
        raise RuntimeException('some problem happened')

class SampleCase2(SampleCase1):
    # 3 cases from SampleCase1
    def test_23(self):
        pass

class SampleCase3(unittest.TestCase):
    def test_30(self):
        pass
    
class SelfTest(unittest.TestCase):
    def setUp(self):
        self.suite = unittest.TestSuite()
        self.suite.addTests([SampleCase1,SampleCase2,SampleCase3])
        
    def test1(self):
        buf = StringIO.StringIO()
        runner = HTMLTestRunner.HTMLTestRunner(buf)
        runner.run(self.suite)
        print buf
            
##############################################################################
# Executing this module from the command line
##############################################################################

if __name__ == "__main__":
#    HTMLTestRunner.main(['toollib.TestHTMLRunner.SelfTest'])
    HTMLTestRunner.main(module=None)

예제 #33
0
#   4
user_login = unittest.TestLoader().loadTestsFromTestCase(Verify_Login)
#   5
map_layers = unittest.TestLoader().loadTestsFromTestCase(Verify_Map_Layers)

#   6
create_and_delete_route = unittest.TestLoader().loadTestsFromTestCase(
    Verify_Login_And_Saving_Routes)

# create a test suite combining search_text and home_page_test
test_suite = unittest.TestSuite([
    left_hand_menu, header_links, future_dates_and_text_sizes, user_login,
    map_layers
])

if Jenkins == True:
    # run the suite
    test_runner = unittest.TextTestRunner(resultclass=unittest.TextTestResult)
    result = test_runner.run(test_suite)
    sys.exit(not result.wasSuccessful())
else:
    # open the report file
    outfile = open(dir + "\SeleniumPythonTestSummary.html", "w")

    # configure HTMLTestRunner options
    runner = HTMLTestRunner.HTMLTestRunner(stream=outfile,
                                           title='Test Report',
                                           description='Acceptance Tests')

    # run the suite using HTMLTestRunner
    runner.run(test_suite)
예제 #34
0
duration1=parser.get('billing','dur')
duration=duration1.split()
rate=float(parser.get('billing','cost'))
#*******executino starts from here*********#


class Billing(unittest.TestCase):
    pass    
def test_generator(dur):
    def test(self):
        API.updatecsv()
        a=sqldb.getDBbalance(MSISDN)
	print a
        makecall.Call(dur)
        b=sqldb.getDBbalance(MSISDN)
	print b
        c=format(a-b, '.2f')
        m1=mbilling.billingcalc(dur,rate)
        m2=format(m1, '.2f')
        self.assertEqual(float(c),float(m2))
    return test



if __name__ == '__main__':
    for i in range(len(duration)):
	test_name='test_%s_sec_duration' %duration[i]
	test =test_generator(duration[i])
	setattr(Billing,test_name,test)
    HTMLTestRunner.main()
예제 #35
0
        m.find_element_by_xpath("//option[@value='50']").click()
        time.sleep(5)
        # 保存设置的信息
        driver.find_element_by_xpath("//input[@value='保存设置']").click()
        time.sleep(2)
        driver.switch_to.alert.accept()

    def tearDown(self):
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)


if __name__ == "__main__":
    # unittest.main()
    # 定义一个单元测试容器
    print("start")
    testunit = unittest.TestSuite()
    # 将测试用例加入到测试容器中
    testunit.addTest(Baidu("test_baidu_search"))
    testunit.addTest(Baidu("test_baidu_set"))
    # 定义个报告存放路径,支持相对路径
    now = time.strftime("%Y-%m-%M-%H_%M_%S", time.localtime(time.time()))
    fp = open("result" + now + ".html", 'wb')
    # 定义测试报告
    runner = HTMLTestRunner.HTMLTestRunner(stream=fp,
                                           title=u"百度搜索测试报告",
                                           description=u"用例执行情况")
    # 运行测试用例
    runner.run(testunit)
    fp.close()