Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
robot framework + pythonʵÏÖhttp½Ó¿Ú×Ô¶¯»¯²âÊÔ¿ò¼Ü
 
  5939  次浏览      28
 2018-6-28
 

 

±à¼­ÍƼö:

±¾ÎÄÀ´×ÔÓÚ¼òÊ飬±¾ÎÄÖ÷Òª½éÉÜÁË»ù´¡¿ò¼ÜÑ¡Ôñ£¬´î½¨Ë¼Â·£¬²âÊÔÊý¾Ý£¬²âÊÔ¿ò¼Ü£¬Ö´ÐвâÊԵȡ£

ǰÑÔ

ÏÂÖܼ´½«Õ¹¿ªÒ»¸öhttp½Ó¿Ú²âÊÔµÄÐèÇ󣬸ոÕÍê³ÉµÄjavaÀà½Ó¿Ú²âÊÔ¹¤×÷ÖУ¬ÓÉÓÚ֮ǰ·¸ÀÁ£¬Ã»ÓÐÌáǰ´î½¨ºÃ×Ô¶¯»¯»Ø¹é²âÊÔ¿ò¼Ü£¬ÒÔÖÁÓÚºóÆÚrdÿÐÞ¸ÄÒ»¸öbug£¬¾­³£µ¼ÖÂ֮ǰûÓÐÎÊÌâµÄcaseÓÖ²úÉúÁËbug£¬ËùÒÔÐèÒªÒ»±é±é»Ø¹écase£¬¹ý³ÌÒ»Ö±ÊÖ¹¤È¥Ö´ÐУ¬¿à²»¿°ÑÔ¡£ËùÒÔ£¬¶ÔÓÚ¼´½«¿ªÊ¼µÄhttp½Ó¿Ú²âÊÔÐèÇó£¬Á¢Âí»¨ÁËÁ½Ììʱ¼ä´î½¨ÁËÒ»¸öhttp½Ó¿Ú×Ô¶¯»¯²âÊÔ¿ò¼ÜÓÃÓÚ²âÊÔºóÆÚ»Ø¹é²âÊÔ£¬ÊµÔÚÊDZ»´óÁ¿µÄÖØ¸´ÊÖ¹¤Ö´ÐиãÅÂÁË¡£

»ù´¡¿ò¼ÜÑ¡Ôñ

×î·½±ãµÄ·½·¨¾ÍÊÇÓÃpythonÖ±½Óд´úÂ룬´úÂëºÍ²âÊÔÊý¾Ý·ÖÀ룬²âÊÔÊý¾Ý·ÅÔÚexcelÖб£´æ¡£ÕâÖÖʵÏÖ×î¿ì½Ý·½±ã£¬µ«Ò²ÓÐЩȱµã£º

£¨1£©ÓÃÀý¹ÜÀí²»Ì«·½±ã£¬²»Ö±¹Û£»

£¨2£©HTMLTestRunnerÊä³ö±¨¸æ×öµÄ±È½ÏÀá£

Ïà½Ï¶øÑÔ£¬robot framework¾ßÓÐÓÃÀý¹ÜÀíÇåÎú£¬Êä³ö±¨¸æÃÀ¹ÛµÄÌØµã¡£µ«robotµÄȱµã¾ÍÊDZàÂëÆðÀ´²»ÈçpythonÖ±½Óд´úÂë·½±ã¡£ËùÒÔ£¬ÎªÁË¿ìËٴhttp½Ó¿Ú×Ô¶¯»¯¿ò¼ÜÓÃÓڻعé²âÊÔ£¬ÎÒÖ±½ÓÓÃpythonдÁËÒ»¸ö¿ò¼Ü¡£ÎªÁ˺óÐø³¤Ô¶¿¼ÂÇ£¬±ãÓÚÓÃÀý¹ÜÀí£¬²âÊÔ±¨¸æÃÀ¹Û£¬ÇÒ¼¯³Éµ½²âÊÔÆ½Ì¨¹¤¾ß»¯ÒÔ¼°ÍÆ¹ã¸ørdºÍÆäËûqaͬѧʹÓã¬ÓÖÓÃrobot´î½¨ÁËÒ»Ì׿ò¼Ü¡£±¾ÎľÍÏêϸ˵Ã÷¸Ã´î½¨¹ý³Ì¡£

´î½¨Ë¼Â·

¿ò¼Ü²ÉÓÃrobotºÍpythonʵÏÖ£¬ÒòΪrobotÖеĸ´ÔÓÂß¼­ÊµÏÖÆðÀ´±È½Ï·±Ëö£¬¹ÊÑ¡ÔñÓÃpythonʵÏÖ£¬È»ºóÒÔÍⲿ¿âµÄÐÎʽµ¼ÈërobotÖÐʹÓᣲâÊÔÓÃÀýÊý¾Ý±£´æÔÚexcelÖС£

ʹÓùýrobotµÄÈËÁ˽⣬robotÖвâÊÔά¶È»®·ÖΪ²âÊÔÌ×¼þ£¨Test Suite£©ºÍ²âÊÔÓÃÀý£¨Test Case£©£¬Ò»¸öSuiteΪһ×éCaseµÄ¼¯ºÏ£¬Ã¿¸öCase¶ÔӦΪÎÒÃÇÊÖ¹¤Ö´ÐвâÊÔʱµÄCase¡£

¼ÙÉè²âÊÔÒ»¸ö·¾¶Îª/areaplug/showCityNameµÄhttp½Ó¿Ú£¬³£¹æ·½·¨ÊÇÔÚrobotÖÐн¨Ò»¸öshowCityNameµÄSuite£¬Æäϰüº¬²âÊÔ¸Ãhttp½Ó¿ÚµÄÓÃÀý¼¯£¬ÈçÏÂͼËùʾ£º

showCityName Test Suite

ÌÈÈô²âÊԸýӿÚÓÐ20¸öÒì³£ÓÃÀý£¬Ôò½¨Á¢20ÌõÏàÓ¦µÄtest case¡£µ«ÊÇ£¬¶ÔÓÚ²âÊÔhttp½Ó¿ÚÀ´½²£¬ÒÔÉÏÓÃÀýÎ޷ǾÍÊÇÇëÇó²ÎÊýºÍÏìÓ¦²»Ò»Ñù¶øÒÑ£¬·¢ËÍÇëÇóµÄÂß¼­ÊÇһģһÑùµÄ¡£ËùÒÔ£¬Õâ20Ìõtest caseÆäʵÓÃÒ»Ìõtest case¾ÍÄÜʵÏÖÁË£¬ÔÚÕâ1ÌõcaseÖзֱð±éÀú¶ÁÈ¡20¸öÒì³£ÓÃÀýµÄ²âÊÔÊý¾ÝÖ´ÐвâÊÔ¾ÍokÁË¡£ËùÒÔ×îºó¹¹ÔìµÄsuiteºÍcaseÈçÏ£º

½Ó¿Úcase

ͼÖУ¬batch_RequestΪ²âÊÔÌ×¼þ£¬ÆäϵÄÿ¸örobotµÄtest case¶ÔÓ¦Ò»¸öhttp½Ó¿Ú²âÊÔ³¡¾°£¬±ÈÈç²âÊÔ·¾¶Îª/areaplug/showCityNameµÄhttp½Ó¿Ú£¬¸Ã½Ó¿ÚµÄËùÓÐÕýÏòºÍÒì³£ÓÃÀý¾ùÔÚtest_showCityNameÖÐʵÏÖ£¬ÔÚtest_showCityNameÖжÁÈ¡²âÊÔÊý¾ÝÎļþ£¬»ñÈ¡¸Ã½Ó¿ÚµÄ²âÊÔÓÃÀýÊýÄ¿£¬±éÀúÿһÌõ²âÊÔÓÃÀýÊý¾Ý£¬µ÷ÓÃhttp_RequestϵÄsendHttpRequest·¢ËÍhttpÇëÇ󡣯äʵ£¬ÕâÀïµÄtest_showCityName¾ÍÏ൱ÓÚtest suiteÁË£¬¶ø±éÀú²âÊÔÊý¾ÝÎļþÖеÄÿһÐвâÊÔÊý¾ÝÈ¥µ÷ÓÃsendHttpRequestʱ£¬¾ÍÏ൱ÓÚÉú³ÉÁËÒ»Ìõtest case£¬ÕâÑù¾Í¿ÉÒÔ½«Ò»¸ö½Ó¿ÚµÄËùÓвâÊÔÓÃÀýÓÃrobotµÄÒ»Ìõtest caseʵÏÖ£¨ÊµÖÊÊÇrobotµÄÒ»Ìõtest caseÏ൱ÓÚÒ»¸ötest suite£¬ÔÚÕâ¸örobotµÄtest caseÖж¯Ì¬Éú³ÉnÌõtest case£©¡£Õû¸öÁ÷³ÌÈçÏÂͼËùʾ£º

¿ò¼ÜÁ÷³Ìͼ

´î½¨

²âÊÔÊý¾Ý

²âÊÔÊý¾Ý±£´æÔÚexcelÖУ¬Ã¿Ò»¸ösheetÒ³¶ÔÓ¦Ò»¸ö²âÊÔ³¡¾°£¬¼´Ò»¸öhttp½Ó¿Ú¡£¸ÃsheetÒ²±£´æÓвâÊԸýӿڵÄËùÓвâÊÔÓÃÀýÊý¾ÝÒÔ¼°½Ó¿Ú·¾¶ºÍÇëÇó·½·¨£¬ÈçÏÂͼËùʾ£¨ÕâÀï½ö½öÊÇÒ»¸ödemo£¬Êµ¼Ê»Ø¹é²âÊÔʱ£¬»áÓдóÁ¿µÄÓÃÀýºÍÊý¾Ý£©£º

²âÊÔÊý¾Ý

²âÊÔ¿ò¼Ü

Õû¸ö¹¤³ÌĿ¼ÈçÏ£º

E:\LLF_58TESTSUITES\JZ_WEBINTERGRATION\ROBOT_CODE
©¦ execPybot.bat
©¦
©À©¤pycode
©¦ ©¦ Common_Excel.py
©¦ ©¦ Common_Excel.pyc
©¦ ©¦ Common_Exec.py
©¦ ©¦ Common_Exec.pyc
©¦ ©¦ testHTTP.py
©¦ ©¦ __init__.py
©¦ ©¦ ©¦
©À©¤.idea
©¦ ©¦ ©¦ misc.xml
©¦ ©¦ ©¦ modules.xml
©¦ ©¦ ©¦ pycode.iml
©¦ ©¦ ©¦ workspace.xml
©¦ ©¦ ©¦
©¦ ©¦ ©¸©¤inspectionProfiles
©¦ ©¸©¤__pycache__
©¦ Common_Excel.cpython-36.pyc
©¦ Common_Exec.cpython-36.pyc
©¦ __init__.cpython-36.pyc
©¦
©À©¤report
©¦ ©¦ log.html
©¦ ©¦ output.xml
©¦ ©¦ report.html
©¦ ©¦
©¦ ©¸©¤TestCaseReport
©¦ ©À©¤result_calendar
©¦ ©¦ log_20180130195712.html
©¦ ©¦ output_20180130195712.xml
©¦ ©¦ report_20180130195712.html
©¦ ©¦
©¦ ©À©¤result_getScheduleFlags
©¦ ©¦ log_20180130195710.html
©¦ ©¦ output_20180130195710.xml
©¦ ©¦ report_20180130195710.html
©¦ ©¦
©¦ ©¸©¤result_showCityName
©¦ log_20180130195707.html
©¦ output_20180130195707.xml
©¦ report_20180130195707.html
©¦
©À©¤rfcode
©¦ ©¦ batch_Request.txt
©¦ ©¦ http_Request.txt
©¦ ©¦ __init__.robot
©¦ ©¦
©¦ ©À©¤¹Ø¼ü×Ö
©¦ ©¦ ¹Ø¼ü×Öindex.txt
©¦ ©¦ ×Ô¶¨Ò幨¼ü×Ö.txt
©¦ ©¦
©¦ ©¸©¤ÅäÖÃÐÅÏ¢
©¦ config.txt
©¦ configIndex.txt
©¦ RequestHeaders.txt
©¦
©¸©¤testData
testData.xlsx

¹¤³ÌÓÐ4²¿·Ö¹¹³É£º

pycode

ÓÉÓÚrobotÖи´ÔÓÂß¼­µÄʵÏֱȽϷ±Ëö£¬ËùÒÔ½«Ò»Ð©¸´ÔÓÂß¼­Ö±½ÓÓÃpython´úÂëʵÏÖ£¬È»ºóÒÔÍⲿ¿âµÄÐÎʽµ¼ÈërobotÖе÷Ó᣹²ÓÐ2¸öÎļþ:

Common_Excel.py

Ö÷Òª¸ºÔð¶Ô²âÊÔÊý¾ÝexcelÎļþµÄ¶ÁÈ¡²Ù×÷¡£

# coding: utf-8 import xlrd def getTestData (testDataFile, testScene, host , caseNo): ''' ´Óexcel ÖлñÈ¡²âÊÔÊý¾Ý :param testDataFile: ²âÊÔÊý¾ÝÎļþ :param testScene: ²âÊÔ³¡¾° :param host : ·þÎñÆ÷Ö÷»ú :param caseNo: ÓÃÀýNo : param method: ÇëÇó·½·¨ :return : url £¬ÓÃÀýNo£¬ÓÃÀýÃû³Æ£¬ÇëÇó²ÎÊý£¬Ô¤ÆÚ·µ»ØÂ룬ԤÆÚÏìÓ¦ÄÚÈÝ ''' caseNo = int(caseNo) data = xlrd.open _workbook (testDataFile) table = data.sheet_ by_name (testScene) cols = table.ncols resource_path = table .cell (0, 1).value # Îļþ·¾¶ url = "http://" + host + resource_ path # ·ÃÎʵÄurl method = table.cell(1, 1 ).value # ÇëÇó·½·¨ dict_params = {} for i in range (cols) : dict_params[table.cell(2, i).value] = table. cell (caseNo+2, i).value caseNo = dict_ params.pop ("caseNo") caseName = dict_ params.po p("caseName") expectCode = dict_p arams.pop("expect_code") expectCotent = dict_params.pop("expect_content") testName = "TestCase" + caseNo + "_" + caseName return method , url, caseNo, testName, dict_params, expectCode, expectCotent def getTestCaseNum (testDataFile, testScene ): ''' »ñÈ¡testScene ²âÊÔ³¡¾°ÖеIJâÊÔÓÃÀýÊý :param testDataFile: ²âÊÔÊý¾ÝÎļþ :param testScene: ²âÊÔ³¡¾° :return: ²âÊÔÓÃÀýÊý ''' data = xlrd.open_workbook(testDataFile) table = data.sheet _by_name(testScene) rows = table.nrows return rows -3 def getTestHttpMethod(testDataFile, testScene ): ''' »ñÈ¡testScene²âÊÔ³¡¾°µÄÇëÇó·½·¨ : param testDataFile: ²âÊÔÊý¾ÝÎļþ :param testScene: ²âÊÔ³¡¾° : return: ÇëÇó·½·¨ ''' data = xlrd.open_ workbook(testDataFile) table = data. sheet_ by_name (testScene) method = table.cell (1, 1).value # ÇëÇó·½·¨ return method

Ö÷Òª¸ºÔð¸ù¾Ý²âÊÔÊý¾ÝÅúÁ¿¹¹ÔìpybotÃüÁîÀ´µ÷ÓÃrobotÖ´ÐвâÊÔ¡£

# coding: utf-8 import requests import os import time def batch_Call(robot_testSuite, robot_testCase, testScene, caseNum, testCaseReportPath, execTime): ''' ÅúÁ¿Ö´ÐÐtestScene²âÊÔ³¡¾°ÏµÄÓÃÀý :param robot_testSuite : robot testSuite·¾¶ :param robot_testCase: robot testCase·¾¶ :param testScene: ²âÊÔ³¡¾° : param caseNum: ÓÃÀýÊý :param test CaseReport Path: ÒµÎñÓÃÀý²âÊÔ±¨¸æÂ·¾¶ :param execTime: Ö´ÐÐʱ¼ä :return: ''' try: for caseNo in range (caseNum): testCase = "" caseNo = caseNo + 1 testName = "testcase" + "_" + str(caseNo) output_dir = "-d " + testCaseReportPath + "/result_{0}".format(testScene) # Êä³öĿ¼ output_xml = "-o output_{0}_{ 1}.xml".format (testName , execTime ) output_log = "-l log_{0}_ {1}.html". format (testName, execTime) output_report = "-r report_ {0}_{1}.html". format( testName, execTime) variable = "- v caseNo:" + str (caseNo) + " -v testScene:" + testScene testCase = "--test " + robot_ testCase pybot_cmd = "pybot " + output_dir + " " + output_ xml + " " + output_ log + " " + output_report + " " + variable + " " + " " + testCase + " " + robot_ testSuite os.system (pybot_cmd) # Ö´ÐÐpybotÃüÁî return "done" except Exception as e : return "Error: " + str (e) def send_HttpRequest (url, data=None, headers= None, method= None): ''' ·¢ËÍhttpÇëÇó :param url: ÇëÇóµÄurl :param data: ÇëÇóÊý¾Ý :param headers: ÇëÇóÍ· :param method : ÇëÇó·½·¨ : return: ÏìÓ¦Â룬ÏìÓ¦ÄÚÈÝ ''' if method == "get": response = requests.get(url, data, headers = headers) if method == "post": response = requests.post (url, data, headers=headers) code = str (response.status_code) content = response .content .decode ("utf-8") # תÂë return code, content def cleanLogs (testScene, testCaseReportPath): ''' ɾ³ýÓ²ÅÌÖкϲ¢Ç°µÄ²âÊÔ±¨¸æ :param testScene: ²âÊÔ³¡¾° :param testCaseReportPath : ÒµÎñÓÃÀý²âÊÔ±¨¸æÂ·¾¶ :return: ''' testCaseReportPath = testCaseReportPath + "/result_ {0}". format (testScene) report_files = test CaseReportPath + "/report_testcase*" xml_files = test CaseReportPath + "/output_testcase*" log_files = test CaseReportPath + "/log_testcase*" cmd = "del " + report_ files + " " + xml_files + " " + log_files # windows cmd = cmd.replace("/", "\\") print(cmd) os .system (cmd) def getCurtime(): ''' »ñÈ¡µ±Ç°Ê±¼ä :return : µ±Ç°Ê±¼ä ''' return time. strftime ("%Y%m%d%H%M %S" , time .localtime(time.time())) def mergeReport(testScene, testCaseReportPath, execTime): ''' # ºÏ²¢±¨¸æ :param testScene: ²âÊÔ³¡¾° :param testCaseReportPath: ÒµÎñÓÃÀý²âÊÔ±¨¸æÂ·¾¶ :param execTime : Ö´ÐÐʱ¼ä :return: ''' try: output_dir = "-d " + testCaseReportPath + "/result_{0}".format(testScene) # Êä³öĿ¼ output_xml = "-o output_{0} .xml".format (execTime) output_ log = "-l log_{0}. html".format (execTime) output_report = "-r report_{ 0}.html". format(execTime) # ±»ºÏ²¢µÄ±¨¸æ merge_report = testCaseReportPath + "/result_{0}".format(testScene) + "/output_ testcase_*.xml" name = "--name " + testScene rebot_ cmd = r"rebot " + output_dir + " " + output_xml + " " + output_log + " " + output_report + " " + name + " " + merge_ report os.system(rebot_cmd) # Ö´ÐÐrebotÃüÁî return "done" except Exception as e: return "Error: " + str(e)

report

¸ÃĿ¼ÓÃÓÚ´æ·Å²âÊÔ±¨¸æ¡£ÆäÖÐreportĿ¼ÏµÄrobot²âÊÔ±¨¸æÎª²âÊÔSuiteµÄ²âÊÔ±¨¸æ£¬¶øTestCaseReportÏ»á¸ù¾Ý²»Í¬µÄ²âÊÔ³¡¾°Éú³É¶ÔÓ¦¸Ã³¡¾°Ãû³ÆµÄ²âÊÔ±¨¸æÎļþ¼Ð£¬ÆäÏ»á°üº¬¸Ã²âÊÔ³¡¾°ÏÂËùÓÐÓÃÀýµÄºÏ²¢±¨¸æ£¨¼´excelÖеÄÿһÌõcase»áÉú³ÉÒ»¸ö±¨¸æ£¬×îºó»á½«ÕâЩcasesµÄ±¨¸æºÏ²¢ÎªÒ»¸ö±¨¸æ£¬×÷Ϊ¸Ã²âÊÔ³¡¾°¼´¸Ãhttp½Ó¿ÚµÄ²âÊÔ±¨¸æ£©¡£

rfcode

¸ÃĿ¼ÏÂΪrobotµÄ´úÂë¡£

batch_Request.txt

batch_Requestϰüº¬Òª²âÊԵĸ÷http½Ó¿Ú¶ÔÓ¦µÄ²âÊÔ³¡¾°£¨¼´robotµÄ²âÊÔÓÃÀý£©¡£ÔÚ¸÷²âÊÔ³¡¾°ÖлáÉèÖÃ${testScene}±äÁ¿£¬Í¨¹ý¸Ã±äÁ¿È¥excelÎļþÖжÔÓ¦µÄsheetÒ³»ñÈ¡ÏàÓ¦µÄ²âÊÔÊý¾Ý¡£

*** Settings *** Library .. /pycode/Common_Exec.py Resource ¹Ø¼ü×Ö/¹Ø¼ü×Öindex.txt Resource ÅäÖÃÐÅÏ¢/configIndex.txt Library .. /pycode/ Common_Excel.py *** Test Cases *** test_showCityName [Documentation] /areaplug /showCityName # ²âÊÔ³¡¾° ${testScene} Set Variable showCityName # ÇëÇó·½·¨ ${method} getTestHttpMethod ${testDataFile} ${testScene} Ö´ÐвâÊÔ ${testScene} $ {method} test_ getScheduleFlags [Documentation] /ManageSchedule/getScheduleFlags # ²âÊÔ³¡¾° $ {testScene} Set Variable getScheduleFlags # ÇëÇó·½·¨ $ {method} getTestHttpMethod ${testDataFile} ${testScene} Ö´ÐвâÊÔ ${testScene} ${method} test_ calendar # ²âÊÔ³¡¾° ${testScene} Set Variable calendar # ÇëÇó·½·¨ ${method} getTestHttpMethod ${testDataFile} ${testScene } Ö´ÐвâÊÔ ${testScene} ${method}

http_Request.txt

ÔÚ¸÷²âÊÔ³¡¾°Öлá¸ù¾ÝexcelÖеIJâÊÔÓÃÀý¼Ç¼ÊýĿȥÅúÁ¿µ÷ÓÃhttp_RequestϵÄsendHttpRequestÖ´ÐÐhttp½Ó¿Ú²âÊÔ¡£ÔÚsendHttpRequestÖлá¸ù¾ÝcaseNoÈ¥excelÖвéѯÏàÓ¦²âÊÔÊý¾Ý£¬²¢·¢ËͶÔÓ¦µÄhttpÇëÇóµ½ÏàÓ¦http½Ó¿ÚÖС£ÊÕµ½ÏìÓ¦ºó£¬ÓëexcelÖеÄÔ¤ÆÚÏìÓ¦ÂëºÍÏìÓ¦ÄÚÈÝ×ö±È¶Ô¡£

*** Settings *** Library ../pycode/Common_Exec.py Library ../pycode/Common_Excel.py Resource ¹Ø¼ü×Ö/¹Ø¼ü×Öindex.txt *** Test Cases *** sendHttpRequest # »ñÈ¡²âÊÔÓÃÀýÊý¾Ý ${method} ${url} ${caseNo} ${testName} ${dict_params} ${expectCode} ${expectCotent} ... getTestData ${testDataFile} ${testScene} ${Host} ${caseNo} # ÉèÖÃÓÃÀý˵Ã÷ Set Test Documentation ${testName} # ÇëÇóÍ· ${headers} »ñÈ¡ÇëÇóÍ· #¸ù¾Ýmethod ·¢ËͶÔÓ¦µÄhttp ÇëÇó ${actualCode} ${actualContent} send_ HttpRequest $ {url} ${dict_params} ${headers} ${method} # ÏìÓ¦Âë±È¶Ô Should Be Equal ${actualCode} ${expectCode} # ÏìÓ¦ÄÚÈÝ±È¶Ô Should Be Equal ${actualContent} ${expectCotent}

¹Ø¼ü×Ö

¹Ø¼ü×ÖÄ£¿éÖ÷ÒªÊǶÔһЩ¸´ÓÃÂß¼­µÄ·â×°¡£

*** Settings *** Resource ../ÅäÖÃÐÅÏ¢/configIndex.txt Library ../../pycode/Common_Excel.py Library ../.. /pycode/ Common_Exec.py *** Keywords *** »ñÈ¡ÇëÇóÍ· ${dict_headers} Create Dictionary Host=${Host} User-Agent=$ {User-Agent} Accept= ${Accept} Accept-Language = ${Accept-Language } Accept-Encoding=$ {Accept-Encoding} ... Cookie=${Cookie} Connection =${ Connection} Cache-Control=${Cache-Control} Return From Keyword ${ dict_ headers} Ö´ÐвâÊÔ [Arguments] ${ testScene } ${method} # ²âÊÔ³¡¾°|ÇëÇó·½·¨ # »ñÈ¡ÓÃÀýÊýÄ¿ ${case_num } getTestCaseNum ${testDataFile} ${ testScene } # »ñÈ¡µ±Ç°Ê±¼ä ${execTime} getCurtime #ÅúÁ¿Ö´ÐÐtestScene ²âÊÔ³¡¾°ÏµÄÓÃÀý ${status} batch_Call ${httpTestSuite} ${httpRequestTestCase} ${testScene} ${case_num} ${testCaseReportPath} ... ${execTime} log ${status} # ºÏ²¢±¨¸æ ${status} mergeReport ${testScene} ${testCaseReportPath} ${execTime} log ${status} # ÇåÀíºÏ²¢Ç°µÄ±¨¸æ cleanLogs ${testScene} ${testCaseReportPath}

ÅäÖÃÐÅÏ¢

ÅäÖÃÐÅÏ¢Öд洢ÅäÖÃÐÅÏ¢ÒÔ¼°Í¨Ñ¶Í·µÄÐÅÏ¢¡£Í¨Ñ¶Í·ÖÐÓÐcookie£¬±£´æÓеǼÐÅÏ¢£¬Í¨Ñ¶Í·µÄ²¿·ÖÉæ¼°Òþ˽£¬¹ÊÕⲿ·ÖÊý¾Ý²»·Å³öÀ´ÁË¡£

*** Settings *** *** Variables *** ${ testDataFile} E:/llf_58TestSuites /jz_ webIntergration /robot_code /testData /testData.xlsx # ²âÊÔÊý¾Ý ${ httpRequestTestCase } sendHttpRequest # httpÇëÇóÓÃÀýÄ£°å ${httpTestSuite} E: /llf_58TestSuites /jz_webIntergration /robot_code /rfcode /http_ Request .txt # httpÇëÇó²âÊÔÌ×¼þ ${testCaseReportPath} E:/ llf_58TestSuites /jz_ webIntergration /robot_ code /report /Test CaseReport # ÒµÎñÓÃÀý²âÊÔ±¨¸æÂ·¾¶

RequestHeaders.txt

*** Settings *** Documentation ÇëÇóÍ·ÐÅÏ¢ *** Variables *** ${Host} ******* # ·þÎñÆ÷Ö÷»ú ${User-Agent} Mozilla/5.0 (Windows NT 6.1; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0 # ä¯ÀÀÆ÷´úÀí ${Accept} text/html, application/xhtml+xml ,application /xml;q=0.9,* /*;q= 0.8 ${Accept-Language} en-US,en;q=0.5 ${ Accept- Encoding} gzip, deflate ${Cookie} ************ ${ Connection } keep-alive ${Cache -Control} max-age=0 ${Upgrade-Insecure -Requests} ***

testData

¸ÃĿ¼Ï´æ·Å²âÊÔÊý¾ÝexcelÎļþ¡£

Ö´ÐвâÊÔ

pybot -d E: /llf_58TestSuites /jz_ webIntergration /robot_ code /report -o output .xml - l log. html -r report.html E :\ llf_58TestSuites \jz_ web Intergration \ robot _code\rfcode \batch_ Request.txt

Ö´ÐвâÊÔ

¿É¼û£¬showCityName²âÊÔ³¡¾°ÒѸù¾ÝexcelÖеÄÓÃÀýÌõÊýÅúÁ¿Ö´ÐÐÁ˲âÊÔ¡£

½øÈëTestCaseReportĿ¼£¬¿ÉÒÔ¿´µ½ÒѸù¾Ý²âÊÔ³¡¾°·Ö±ðÉú³ÉÁ˶ÔӦĿ¼µÄ²âÊÔ±¨¸æ£º

¸÷²âÊÔ³¡¾°µÄ±¨¸æ´æÔÚÏàӦĿ¼ÖÐ

½øÈëshowCityNameĿ¼£¬´ò¿ª×îÐÂÉú³ÉµÄ¸Ã³¡¾°²âÊÔ±¨¸æ£º

showCityName³¡¾°²âÊÔ±¨¸æ

¸ù¾Ý˵Ã÷Áбæ±ðÊÇÄÄÌõÓÃÀýµÄ±¨¸æÊý¾Ý

sendHttpRequest±»ÅúÁ¿µ÷ÓÃ

×ܽá

¾­¹ýÁËÉÏÒ»¸öÏîÄ¿³Ô¹ýµÄ¿÷£¬Õâ´ÎÔÚhttp½Ó¿Ú²âÊÔÐèÇóǰ£¬Ìáǰ°Ñ×Ô¶¯»¯¿ò¼Ü´îºÃÁË£¬±ãÓÚ²âÊÔºóÆÚµÄ»Ø¹é²âÊÔ¡£Æäʵhttp½Ó¿Ú×Ô¶¯»¯²âÊÔ¿ò¼Ü¿ÉÒԺܷ½±ãµÄ´î½¨£¬Ö®ËùÒÔÕâô·Ñ¾¢ÓÃrobotȥʵÏÖ£¬Ò²ÊÇΪÁ˺óÐøÓÃÀý¹ÜÀíÒÔ¼°¼¯³Éµ½Æ½Ì¨ÊµÏÖ¹¤¾ß»¯µÄ¿¼Âǽá¹û¡£

 

   
5939 ´Îä¯ÀÀ       28
Ïà¹ØÎÄÕÂ

΢·þÎñ²âÊÔÖ®µ¥Ôª²âÊÔ
һƪͼÎÄ´øÄãÁ˽â°×ºÐ²âÊÔÓÃÀýÉè¼Æ·½·¨
È«ÃæµÄÖÊÁ¿±£ÕÏÌåϵ֮»Ø¹é²âÊÔ²ßÂÔ
È˹¤ÖÇÄÜ×Ô¶¯»¯²âÊÔ̽Ë÷
Ïà¹ØÎĵµ

×Ô¶¯»¯½Ó¿Ú²âÊÔʵ¼ù֮·
jenkins³ÖÐø¼¯³É²âÊÔ
ÐÔÄܲâÊÔÕï¶Ï·ÖÎöÓëÓÅ»¯
ÐÔÄܲâÊÔʵÀý
Ïà¹Ø¿Î³Ì

³ÖÐø¼¯³É²âÊÔ×î¼Ñʵ¼ù
×Ô¶¯»¯²âÊÔÌåϵ½¨ÉèÓë×î¼Ñʵ¼ù
²âÊԼܹ¹µÄ¹¹½¨ÓëÓ¦ÓÃʵ¼ù
DevOpsʱ´úµÄ²âÊÔ¼¼ÊõÓë×î¼Ñʵ¼ù