मैं आरईएसटी और परीक्षण विभाग के लिए नौसिखिया हूं। मुझे अपनी आरईएसटी सेवाओं का परीक्षण करने के लिए स्वचालन स्क्रिप्ट लिखना होगा। हम नियमित रूप से जेनकींस सीआई नौकरी से इन स्क्रिप्ट को चलाने की योजना बना रहे हैं। मैं इन्हें अजगर में लिखना पसंद करता हूं क्योंकि हमारे पास सेलेनियम आईडीई द्वारा उत्पन्न पायथन में यूआई कार्यक्षमता परीक्षण स्क्रिप्ट्स हैं, लेकिन मैं किसी भी अच्छे समाधान के लिए खुला हूं। मैंने प्रेजेंटप्लिब, सरलजॉन और जुनीट की जांच की, लेकिन वहां उपलब्ध बेहतर समाधान की तलाश की। और साथ ही, मैं एक टेम्पलेट लिखना और प्रत्येक आरईएसटी एपीआई के लिए एक्सएमएल या कुछ से एपीआई जानकारी पढ़कर वास्तविक स्क्रिप्ट उत्पन्न करना पसंद करूंगा। सभी सलाहओं के लिए अग्रिम धन्यवाद।आरईएसटी सेवा परीक्षण स्वचालित करने के लिए सलाह की आवश्यकता
उत्तर
मैं आमतौर पर अपने आराम से एपीआई का परीक्षण करने के लिए Cucumber का उपयोग करता हूं। निम्नलिखित उदाहरण रूबी में है, लेकिन the rubypy gem या lettuce का उपयोग करके आसानी से पाइथन में अनुवाद किया जा सकता है। RESTful आधार कदम का एक सेट के साथ
प्रारंभ:
When /^I send a GET request for "([^\"]*)"$/ do |path|
get path
end
When /^I send a POST request to "([^\"]*)" with the following:$/ do |path, body|
post path, body
end
When /^I send a PUT request to "([^\"]*)" with the following:$/ do |path, body|
put path, body
end
When /^I send a DELETE request to "([^\"]*)"$/ do |path|
delete path
end
Then /^the response should be "([^\"]*)"$/ do |status|
last_response.status.should == status.to_i
end
Then /^the response JSON should be:$/ do |body|
JSON.parse(last_response.body).should == JSON.parse(body)
end
और अब हम सुविधाओं है कि वास्तव में अनुरोध जारी करके एपीआई का परीक्षण लिख सकते हैं।
Feature: The users endpoints
Scenario: Creating a user
When I send a POST request to "/users" with the following:
"""
{ "name": "Swift", "status": "awesome" }
"""
Then the response should be "200"
Scenario: Listing users
Given I send a POST request to "/users" with the following:
"""
{ "name": "Swift", "status": "awesome" }
"""
When I send a GET request for "/users"
Then the response should be "200"
And the response JSON should be:
"""
[{ "name": "Swift", "status": "awesome" }]
"""
... etc ...
ये आपकी पसंद के सीआई सिस्टम पर चलने में आसान हैं। संदर्भ के लिए इन लिंक देखें:
धन्यवाद स्विफ्ट। मैं आपके उदाहरण का पालन करूंगा। – user1366786
कोई समस्या नहीं, खुशी है कि मैं मदद कर सकता हूं – Swift
import openpyxl
import requests
import json
from requests.auth import HTTPBasicAuth
urlHead='https://IP_ADDRESS_HOST:PORT_NUMBER/'
rowStartAt=2
apiColumn=2
#payloadColumn=3
responseBodyColumn=12
statusCodeColumn=13
headerTypes = {'Content-Type':'application/json',
'Accept':'application/json',
'Authorization': '23324'
}
wb = openpyxl.load_workbook('Excel_WORKBOOK.xlsx')
# PROCESS EACH SHEET
for sheetName in (wb.get_sheet_names()):
print ('Sheet Name = ' + sheetName)
flagVar = input('Enter N To avoid APIs Sheets')
if (flagVar=='N'):
print ('Sheet got skipped')
continue
#get a sheet
sheetObj = wb.get_sheet_by_name(sheetName)
#for each sheet iterate the API's
for i in range(2, sheetObj.max_row+1):
#below is API with method type
apiFromSheet = (sheetObj.cell(row=i, column=apiColumn).value)
if apiFromSheet is None:
continue
#print (i, apiFromSheet)
#Let's split the api
apiType = apiFromSheet.split()[0]
method = apiFromSheet.split()[1]
if (apiType!='GET'):
continue
#lets process GET API's
absPath = urlHead + method
print ("REQUESTED TYPE AND PATH = ", apiType, absPath)
print('\n')
res = requests.get(absPath, auth=HTTPBasicAuth(user, pwd), verify=False, headers=headerTypes)
#LET's write res body into relevant cell
sheetObj.cell(row=i, column=responseBodyColumn).value = (res.text)
sheetObj.cell(row=i, column=statusCodeColumn).value = (res.status_code)
wb.save('Excel_WORKBOOK.xlsx')
`#exit(0)`
- 1. स्वचालित वेब सेवा परीक्षण
- 2. डाटाबेस डिजाइन सलाह की आवश्यकता
- 3. आरईएसटी सेवा
- 4. आरएमआई बनाम आरईएसटी सेवा
- 5. छवि होस्टिंग वेबसाइटों के लिए सलाह की आवश्यकता है
- 6. आरईएसटी परीक्षण
- 7. मल्टीप्लेयर यूडीपी नेटवर्किंग रणनीति, सलाह की आवश्यकता
- 8. आरईएसटी सेवा के लिए jQuery AJAX कॉल
- 9. डब्ल्यूसीएफ आरईएसटी सेवा
- 10. एंड्रॉइड - आवधिक पृष्ठभूमि सेवा - सलाह
- 11. डिकंपेलर के नियमों को परिभाषित करने के लिए एक अच्छा तरीका खोजना, सलाह की आवश्यकता है
- 12. वेब सेवा संचार का स्वचालित परीक्षण
- 13. विधियों के शब्द नामकरण पर सलाह की आवश्यकता है
- 14. 'क्रैक-सबूत' सॉफ़्टवेयर को डिजाइन करने के लिए सलाह की आवश्यकता है
- 15. डब्ल्यूसीएफ आरईएसटी सेवा: InstanceContextMode.PerCall
- 16. डब्ल्यूसीएफटी आरईएसटी सेवा WCFTestClient
- 17. डब्ल्यूसीएफ आरईएसटी सेवा - 401 अनधिकृत
- 18. स्वचालित परीक्षण: डेवलपर्स की सहायता और शिक्षित करने के तरीके?
- 19. डब्ल्यूसीएफ आरईएसटी वेब सेवा
- 20. स्वचालित परीक्षण
- 21. डब्ल्यूसीएफ आरईएसटी सेवा
- 22. डब्ल्यूसीएफ आरईएसटी पुश स्ट्रीम सेवा
- 23. जर्सी आरईएसटी सेवा
- 24. परीक्षण आरईएसटी एपीआई
- 25. परीक्षण लेखन के साथ की आवश्यकता है
- 26. यूनिट परीक्षण सलाह - यूनिट का परीक्षण कैसे करें .asmx
- 27. इंस्टॉलर परीक्षण को स्वचालित करने के लिए कैसे करें
- 28. आईफोन बीडीडी परीक्षण/आईक्यूक सलाह
- 29. ईजेबी 3.1 सिंगलटन + जेपीए + जेएसएफ डिजाइन सलाह की आवश्यकता
- 30. वेब आधारित परियोजनाओं के लिए स्वचालित परीक्षण
वास्तव में क्या आप परीक्षण करने के लिए कोशिश कर रहे हैं? क्या प्रतिक्रिया है कि आप क्या उम्मीद करेंगे? – Swift
हां, प्रतिक्रिया डेटा सत्यापित करने की आवश्यकता है। सभी सीआरयूडी आराम एपीआई कार्यों का परीक्षण करने के बारे में सोच रहे हैं। उदाहरण के लिए आरईएसटी एपीआई का उपयोग करके, पांच कर्मचारियों को बनाएं, कर्मचारियों को वापस पढ़ें, कुछ अपडेट करें और आखिर में सभी को हटाएं ... मैं इस क्रिया की रेखा में सोच रहा हूं। – user1366786
नीचे ग्रोवी के माध्यम से लिंक है। http://stackoverflow.com/questions/38972221/api-automation-groovy-soapui-all-together-for-most/38974183#38974183 –