±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚ¼òÊ飬±¾ÎÄÖ÷Òª½éÉÜÁË»ù´¡¿ò¼ÜÑ¡Ôñ£¬´î½¨Ë¼Â·£¬²âÊÔÊý¾Ý£¬²âÊÔ¿ò¼Ü£¬Ö´ÐвâÊԵȡ£ |
|
ǰÑÔ
ÏÂÖܼ´½«Õ¹¿ªÒ»¸ö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ȥʵÏÖ£¬Ò²ÊÇΪÁ˺óÐøÓÃÀý¹ÜÀíÒÔ¼°¼¯³Éµ½Æ½Ì¨ÊµÏÖ¹¤¾ß»¯µÄ¿¼Âǽá¹û¡£
|