อาการ

การใช้บริการ SOAP ภายนอกการดำเนินงาน
SOAP (โปรโตคอลการเข้าถึงวัตถุอย่างง่าย) เป็นโปรโตคอลมาตรฐานสำหรับการส่งข้อความระหว่างไคลเอนต์และเซิร์ฟเวอร์ โดยทั่วไปจะใช้ร่วมกับ HTTP(S) แต่ยังสามารถทำงานร่วมกับโปรโตคอลเลเยอร์แอปพลิเคชันอื่นๆ ได้ (เช่น SMTP และ FTP)การทดสอบ SOAP จากมุมมองของเทคนิคการทดสอบนั้นไม่มีความแตกต่างโดยพื้นฐานจากการทำงานกับ API อื่นๆ แต่จำเป็นต้องมี

การเตรียมการเบื้องต้น

(ในแง่ของทฤษฎีโปรโตคอล) และเครื่องมือทดสอบพิเศษ ในบทความนี้ ฉันอยากจะจัดทำรายการตรวจสอบเล็กๆ น้อยๆ เกี่ยวกับความรู้และทักษะที่จำเป็น ซึ่งจะมีประโยชน์พอๆ กันทั้งสำหรับผู้ทดสอบ SOAP (ซึ่งมักจะไม่รู้ว่าจะต้องคว้าอะไรไว้หลังจากกำหนดงาน) และสำหรับผู้จัดการที่ บังคับให้ประเมินความรู้ของผู้ทดสอบและพัฒนาแผนการฝึกอบรม

พื้นฐานทางทฤษฎี
ความจริงที่ว่า SOAP เป็นโปรโตคอลมีผลกระทบอย่างมากต่อการทดสอบ: คุณต้องศึกษาโปรโตคอลเอง มาตรฐานและโปรโตคอล "หลัก" ที่ใช้โปรโตคอลนั้น และ (ตามความจำเป็น) ส่วนขยายที่มีอยู่



XML
XML เป็นภาษามาร์กอัปที่คล้ายกับ HTML ข้อความใดๆ ที่ส่ง/รับผ่าน SOAP จะเป็นเอกสาร XML ซึ่งข้อมูลมีโครงสร้างที่สะดวกและอ่านง่าย เช่น
จูเลีย
นาตาชา

คำเตือน

อย่าลืมเขียนบทความ!
คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ XML ได้ที่ w3schools หรือ codenet (เป็นภาษารัสเซีย) อย่าลืมใส่ใจกับคำอธิบายของเนมสเปซ (วิธีการแก้ไขข้อขัดแย้งเมื่ออธิบายองค์ประกอบใน XML) - จำเป็นต้องใช้ใน SOAP

...







...

XSD
ในงานของคุณ คุณอาจพบกับ “ส่วนขยาย” ต่างๆ ของ SOAP - มาตรฐาน เช่น WS-* หนึ่งในสิ่งที่พบได้บ่อยที่สุดคือ WS-Security ซึ่งช่วยให้คุณทำงานกับการเข้ารหัสและลายเซ็นอิเล็กทรอนิกส์ได้ บ่อยครั้งที่มีการใช้ WS-Policy ควบคู่ไปด้วย ซึ่งคุณสามารถจัดการสิทธิ์ในการใช้บริการของคุณได้

ตัวอย่างการใช้ WS-Security:


อลิซ
6S3P2EWNP3lQf+9VC3emNoT57oQ=
YF6j8V/CAqi+1nRsGLRbuZhi
2008-04-28T10:02:11Z

ส่วนขยายทั้งหมดเหล่านี้เป็นโครงสร้างที่ค่อนข้างซับซ้อนซึ่งไม่ได้ใช้ในทุกบริการ SOAP การศึกษาโดยละเอียดในระยะเริ่มต้นของการทดสอบ SOAP ต้นแบบไม่น่าจะเกี่ยวข้องกัน

เครื่องมือ

ดังที่คุณเข้าใจแล้วว่า SOAP ถือเป็นเรื่องสำคัญ คุณต้องรู้ทฤษฎีและมาตรฐานมากมายจึงจะใช้งานได้ ในทางปฏิบัติ ความซับซ้อนดังกล่าวจะนำไปสู่ต้นทุนค่าแรงที่สำคัญมาก (เช่น คุณจะต้องดูไดอะแกรมในสมุดบันทึกทุกครั้งและส่งคำขอด้วยเส้นโค้ง) ดังนั้นจึงมีการสร้างเครื่องมือเพื่อให้การทำงานกับ SOAP ง่ายขึ้น

โปรแกรมแก้ไข XML/XSD
ผู้ทดสอบที่ดีจะเริ่มการทดสอบในขั้นตอนการเขียนเอกสาร ดังนั้นจึงสะดวกในการใช้โปรแกรมแก้ไขพิเศษในการทดสอบวงจร สองตัวที่มีชื่อเสียงที่สุดคือ Oxygen (ข้ามแพลตฟอร์ม) และ Altova (เฉพาะ Windows เท่านั้น); ทั้งคู่ได้รับเงินแล้ว โปรแกรมเหล่านี้เป็นโปรแกรมที่ทรงพลังมากซึ่งนักวิเคราะห์ใช้งานอย่างแข็งขันเมื่ออธิบายบริการ

ในทางปฏิบัติของฉัน คุณลักษณะสามประการของตัวแก้ไขกลายเป็นประโยชน์ ได้แก่ การสร้างภาพ XSD การสร้าง XML ตาม XSD และการตรวจสอบ XML ตาม XSD

1. การสร้างภาพ XSDจำเป็นสำหรับการแสดงไดอะแกรมด้วยภาพ ทำให้คุณสามารถระบุองค์ประกอบและคุณลักษณะที่จำเป็นได้อย่างรวดเร็ว รวมถึงข้อจำกัดที่มีอยู่ ตัวอย่างเช่น สำหรับ CheckTextRequest จำเป็นต้องมีองค์ประกอบข้อความ และแอตทริบิวต์ทั้งสามนั้นเป็นทางเลือก (โดยแอตทริบิวต์ options จะมีค่าเริ่มต้นเป็นศูนย์)

การแสดงภาพเป็นสิ่งจำเป็นเมื่อมีหลายประเภทและข้อจำกัดในไดอะแกรม หากคุณต้องการสิ่งนี้เท่านั้นและไม่ต้องการจ่ายเงินให้กับบรรณาธิการพิเศษ คุณสามารถพิจารณาทางเลือกอื่นฟรีได้ (เช่น JDeveloper)

2. การสร้าง XML ตาม XSDมีประโยชน์เมื่อคุณต้องการดูตัวอย่างข้อความที่ถูกต้อง ฉันใช้มันเพื่อทดสอบการเติมข้อความที่เป็นไปได้อย่างรวดเร็ว และทดสอบความแตกต่างเล็กๆ น้อยๆ ของวิธีการทำงานของข้อจำกัด

3. หลังจากใช้คุณสมบัติจากจุดที่ 2 จะมีประโยชน์ในการดำเนินการ การตรวจสอบ XML กับ XSD– คือตรวจสอบข้อความให้ถูกต้อง คุณลักษณะที่ 2 และ 3 เมื่อรวมกันจะช่วยให้คุณตรวจพบข้อบกพร่องที่ยุ่งยากใน XSD แม้ว่าบริการจะอยู่ระหว่างการพัฒนาก็ตาม

เครื่องมือทดสอบ – SoapUI

การทดสอบ SOAP มักจะเกี่ยวข้องกับการใช้ SoapUI เกือบทุกครั้ง คุณสามารถอ่านเกี่ยวกับการใช้เครื่องมือนี้ได้ในแหล่งต่างๆ (,) แต่จะมีประสิทธิภาพมากที่สุดในการอ่านเอกสารอย่างเป็นทางการ ฉันระบุระดับความสามารถ SoapUI ตามเงื่อนไข 8 ระดับ:

ระดับ 1 – ฉันสามารถส่งคำขอได้
เรียนรู้วิธีสร้างโปรเจ็กต์ตาม WSDL SoapUI สามารถสร้างแบบสอบถามที่จำเป็นทั้งหมดสำหรับคุณ สิ่งที่คุณต้องทำคือตรวจสอบว่ากรอกถูกต้องแล้วคลิกปุ่ม "ส่ง" เมื่อคุณได้พัฒนาทักษะในการสร้างแบบสอบถามที่ถูกต้องแล้ว คุณจะต้องเชี่ยวชาญศิลปะในการสร้างแบบสอบถามที่ไม่ถูกต้องซึ่งทำให้เกิดข้อผิดพลาด

ระดับ 2 – ฉันสามารถทำชุดทดสอบและกรณีทดสอบได้
เริ่มทำการทดสอบอัตโนมัติขนาดเล็ก ชุดทดสอบและกรณีทดสอบช่วยให้คุณสร้างสคริปต์ทดสอบ API เตรียมข้อมูลสำหรับคำขอ และตรวจสอบการตอบสนองที่ได้รับโดยอัตโนมัติเพื่อให้แน่ใจว่าตรงกับสิ่งที่คาดหวัง ในตอนแรกสามารถใช้เป็นคอลเลกชันของแบบสอบถามได้อย่างง่ายดาย ตัวอย่างเช่น หากคุณได้สร้างข้อบกพร่องและต้องการตรวจสอบอย่างรวดเร็วหลังจากแก้ไขแล้ว คุณสามารถจัดสรรชุดทดสอบแยกต่างหากสำหรับคำขอข้อบกพร่องโดยเฉพาะ

ระดับ 3 – ฉันสามารถเขียนคำยืนยันได้
หลังจากเชี่ยวชาญกรณีทดสอบแล้ว จะเป็นประโยชน์สำหรับคุณในการเรียนรู้วิธีทำให้สามารถตรวจสอบได้โดยอัตโนมัติ หลังจากนี้ คุณจะไม่ต้องค้นหาข้อมูลเกี่ยวกับคำตอบด้วยตาอีกต่อไป: หากมีการตรวจสอบอัตโนมัติ กรณีต่างๆ จะถูกทำเครื่องหมายเป็นสีเขียว (หากผ่านการตรวจสอบ) หรือสีแดง (หากไม่ผ่าน) SoapUI มีชุดการยืนยันที่เป็นไปได้จำนวนมาก แต่ชุดที่สะดวกและเรียบง่ายที่สุดคือมีและไม่มี ด้วยความช่วยเหลือของพวกเขาคุณสามารถตรวจสอบความพร้อมได้ ข้อความเฉพาะในการตอบสนองที่ได้รับ การตรวจสอบเหล่านี้ยังรองรับการค้นหานิพจน์ทั่วไปด้วย

ระดับ 4 – ใช้ XPath และ/หรือ XQuery ใน Assertions
สำหรับผู้ที่คุ้นเคยกับ UI ที่ใช้ Selenium เพียงเล็กน้อย ภาษา XPath ก็เป็นสิ่งที่คุ้นเคย กล่าวโดยคร่าวๆ XPath ช่วยให้คุณสามารถค้นหาองค์ประกอบต่างๆ ในเอกสาร XML ได้ XQuery เป็นเทคโนโลยีที่คล้ายกันที่สามารถใช้ XPath ภายในได้ ภาษานี้มีพลังมากกว่ามาก มันคล้ายกับ SQL ทั้งสองภาษานี้สามารถนำไปใช้ในการยืนยันได้ การตรวจสอบด้วยความช่วยเหลือจะตรงเป้าหมายและมีเสถียรภาพมากขึ้น ดังนั้นกรณีของคุณจะมีความมั่นใจมากขึ้น

ระดับ 5 – ฉันสามารถเขียนการทดสอบที่ซับซ้อนโดยใช้ขั้นตอนพิเศษได้

กรณีทดสอบสามารถมีได้ไม่เพียงแต่คำขอเดียว แต่ยังมีหลายคำขอ (ตัวอย่างเช่น เมื่อคุณต้องการจำลองสถานการณ์ผู้ใช้มาตรฐาน “สร้างเอนทิตี” → “เอนทิตีส่งออก”) อาจมีขั้นตอนพิเศษอื่นๆ ระหว่างคำขอ เช่น:

  • คุณสมบัติและการโอนทรัพย์สิน (ช่วยนำข้อมูลกลับมาใช้ใหม่และถ่ายโอนระหว่างคำขอ)
  • คำขอ JDBC (ใช้เพื่อดึงข้อมูลจากฐานข้อมูล);
  • Goto แบบมีเงื่อนไข (อนุญาตให้คุณสร้างสาขาหรือลูปในกรณีทดสอบ)
  • เรียกใช้ TestCase (ช่วยในการใส่แบบสอบถามทั่วไปในกรณีทดสอบแยกกันและเรียกใช้เมื่อจำเป็น)

ระดับ 6 – ใช้สคริปต์ Groovy

SoapUI ช่วยให้คุณสามารถเขียนสคริปต์ Groovy ได้ในหลายที่ กรณีที่ง่ายที่สุดคือการสร้างข้อมูลในการสืบค้นโดยใช้ส่วนแทรก $(=) ฉันใช้ส่วนแทรกเหล่านี้ตลอดเวลา:

  • $(=วันที่ใหม่().format(“yyyy-MM-dd'T'HH:mm:ss”))– เพื่อแทรกวันที่และเวลาปัจจุบันในรูปแบบที่ต้องการ
  • $(=java.util.UUID.randomUUID())– เพื่อแทรก GUID แบบสุ่มที่มีรูปแบบถูกต้อง

สคริปต์ฉบับสมบูรณ์สามารถใช้เป็นขั้นตอนในกรณีและการตรวจสอบได้ เมื่อถึงจุดหนึ่ง คุณจะพบว่าขั้นตอนพิเศษหลายขั้นตอนจากระดับที่ 5 สามารถถูกแทนที่ด้วยสคริปต์เดียวได้

ระดับ 7 – ใช้ MockServices
SoapUI ที่ใช้ WSDL สามารถสร้างวัตถุจำลองได้ วัตถุจำลองคือการจำลองบริการที่ง่ายที่สุด ด้วยความช่วยเหลือของ "จำลอง" คุณสามารถเริ่มเขียนและแก้ไขกรณีทดสอบได้ก่อนที่บริการจะพร้อมสำหรับการทดสอบจริง นอกจากนี้ยังสามารถใช้เป็น "สตับ" สำหรับบริการที่ไม่สามารถใช้งานได้ชั่วคราว

ระดับ 8 - เทพ SoapUI
คุณรู้หรือไม่ว่าความแตกต่างระหว่างการจ่ายเงินและ รุ่นฟรี SoapUI และใช้ SoapUI API ในโค้ด คุณใช้ปลั๊กอินและเรียกใช้เคสผ่านบรรทัดคำสั่งและ/หรือ CI กรณีทดสอบของคุณเรียบง่ายและบำรุงรักษาง่าย โดยทั่วไปแล้ว คุณ "กินสุนัข" ด้วยเครื่องดนตรีนี้ ฉันอยากจะพูดคุยกับคนที่เชี่ยวชาญ SoapUI ในระดับนี้ หากคุณเป็นคนหนึ่ง ลงทะเบียนในความคิดเห็น!

การทดสอบด้วยภาษาโปรแกรม

ต่อไปนี้คือตัวอย่างคำขอไปยัง YandexSpeller API ซึ่งสร้างโดยใช้ groovy-wslite:

นำเข้า wslite.soap.*
ลูกค้า def = SOAPClient ใหม่ ("http://speller.yandex.net/services/spellservice?WSDL")
การตอบสนอง def = client.send (SOAPAction: "http://speller.yandex.net/services/spellservice/checkText") (
ร่างกาย (
CheckTextRequest("lang": "ru", "xmlns":http://speller.yandex.net/services/spellservice") (
ข้อความ ("ข้อผิดพลาด")
}
}
}
ยืนยัน "ข้อผิดพลาด" == response.CheckTextResponse.SpellResult.error.s.text()
ยืนยัน "1" == [ป้องกันอีเมล]()

เท่าที่ฉันรู้ ยังไม่มีเฟรมเวิร์กระดับสูง (เช่น Rest-assured) สำหรับการทดสอบ SOAP แต่เครื่องมือที่น่าสนใจเพิ่งปรากฏขึ้นเมื่อไม่นานมานี้ นั่นก็คือ คาราเต้ ด้วยความช่วยเหลือ คุณสามารถอธิบายกรณีต่างๆ สำหรับการทดสอบ SOAP และ REST ในรูปแบบของสคริปต์ เช่น Cucumber / Gherkin สำหรับผู้ทดสอบจำนวนมาก การเปลี่ยนมาใช้คาราเต้จะเป็นทางออกที่ดี เนื่องจากสถานการณ์ดังกล่าว ในแง่ของความซับซ้อนในการเขียนและกรณีสนับสนุน จะอยู่ระหว่างการใช้ SoapUI กับการเขียนเฟรมเวิร์กของคุณเองสำหรับการทดสอบ SOAP

บทสรุป

ไม่น่าเป็นไปได้ที่คุณจะต้องการทดสอบ SOAP เพื่อตัวคุณเองเท่านั้น (เช่นเดียวกับที่คุณทำกับ REST) นี่เป็นโปรโตคอลรุ่นเฮฟวี่เวทที่ใช้ในโซลูชันระดับองค์กรที่จริงจัง แต่ความหนักเบาของมันก็เป็นของขวัญสำหรับผู้ทดสอบในเวลาเดียวกัน: เทคโนโลยีทั้งหมดที่ใช้นั้นได้มาตรฐานและมีเครื่องมือคุณภาพสูงสำหรับการทำงาน สิ่งที่ผู้ทดสอบต้องการคือความปรารถนาที่จะเรียนรู้และใช้งานสิ่งเหล่านั้น

เรามารวบรวมรายการตรวจสอบทักษะที่จำเป็นสำหรับผู้ทดสอบกันดีกว่า ดังนั้น หากคุณเพิ่งเริ่มทดสอบบริการ SOAP คุณจำเป็นต้องรู้และสามารถใช้งาน:

  • WSDL.
  • สบู่.
  • ตัวแก้ไข XML/XSD (ที่ระดับการแสดงภาพ XSD)
  • SoapUI ที่ระดับ 1

อย่างที่คุณเห็น จุดเน้นหลักคือการเรียนรู้มาตรฐาน ใน SoapUI ก็เพียงพอที่จะดำเนินการค้นหาได้ เมื่อคุณเจาะลึกการทดสอบ SOAP คุณจะพบกับงานที่ต้องใช้ทักษะและความรู้ที่จริงจังมากขึ้น แต่คุณไม่ควรพยายามเรียนรู้ทุกอย่างในคราวเดียว ความสม่ำเสมอในการเพิ่มระดับความซับซ้อนของงานที่ทำมีความสำคัญมากกว่ามาก เมื่อปฏิบัติตามคำแนะนำนี้ วันหนึ่งคุณจะรู้ว่าคุณเป็นผู้เชี่ยวชาญที่ดีในสาขานี้!

บริการเว็บใน 1C

บทความนี้จะกล่าวถึงการรวม 1C กับบริการเว็บที่มีอยู่และการใช้ 1C เป็นบริการเว็บ

ในกรณีนี้ บริการเว็บจะเข้าใจว่าเป็นระบบที่ทำงานบนอินเทอร์เน็ต และให้การโต้ตอบกับบริการเหล่านั้นไม่เพียงแต่ผ่าน SOAP (ซึ่งก็คือบริการบนเว็บ) แต่ยังรวมถึงวิธีอื่น ๆ รวมถึงคำขอ HTTP(S) ปกติด้วย


ความเสี่ยงของการใช้บริการเว็บ 1C

แพลตฟอร์ม 1C81 แนะนำการใช้งานบริการเว็บ

แต่การใช้งานนั้นเต็มไปด้วยความเสี่ยง:

  1. 1C8 ทำงานได้ไม่ดีบน HTTPS ไม่มีเครื่องมือวินิจฉัย ดังนั้นบางครั้งจึงเป็นไปไม่ได้ที่จะเข้าใจว่าทำไม แม้ว่าจะมีใบรับรอง แต่บริการก็ไม่ต้องการทำงานบน HTTPS วิธีแก้ไขคือใช้บริการเว็บผ่าน CURL หรือเพิ่มอุโมงค์ HTTPS
  2. 1C8 ปฏิบัติตามกฎในการตรวจสอบสคีมา WSDL ในบางครั้ง ด้วยเหตุผลที่ไม่สามารถอธิบายได้ สคีมา WSDL จึงไม่ต้องการโหลดลงในลิงก์ WS คุณสามารถหาเหตุผลได้จากฟอรัมพันธมิตรจากผู้เชี่ยวชาญเพียงคนเดียวเท่านั้น ไม่มีเครื่องมือวินิจฉัยสคีมา WSDL แม้จะระบุเหตุผลหรือบรรทัดที่การโหลดสคีมาถูกขัดจังหวะก็ตาม

กฎเกณฑ์สำหรับการสร้างบริการการขาย

ลูกค้าจะออกเอกสารการขาย (ใบเสร็จรับเงิน) เฉพาะในกรณีที่ธุรกรรมการบริการสำเร็จ มิฉะนั้นสถานการณ์อาจเกิดขึ้นได้เมื่อลูกค้าได้รับเช็คและมั่นใจว่าเขาได้รับบริการ แต่ในความเป็นจริงเขาไม่ได้รับ

การใช้บริการ SOAP ภายนอก

บริการเว็บ SOAP ใช้สคีมา WSDL และออบเจ็กต์ XDTO เพื่อแสดงข้อมูล

กำลังโหลด WSDL

หากต้องการใช้บริการภายนอก คุณต้องดาวน์โหลดสคีมา WSDL

การตรวจสอบความถูกต้องของสคีมา WSDL

บางครั้งสคีมา WSDL ไม่โหลดลงใน 1C คุณสามารถตรวจสอบความถูกต้อง (ความถูกต้อง) ของสคีมาได้โดยใช้เครื่องมือตรวจสอบสคีมา WSDL ใดๆ เช่น http://www.validwsdl.com/

คุณต้องอัปโหลดโครงร่างไปยังไซต์ http บางแห่ง (คุณสามารถใช้ ftp) และระบุที่อยู่ของไฟล์ที่โหลดโครงร่าง:

คุณสมบัติของการโหลด WSDL ใน 1C

ลักษณะเฉพาะของการโหลด WSDL ใน 1C คือไม่สามารถโหลดสคีมาที่ถูกต้องได้ ไม่มีเครื่องมือตรวจสอบความถูกต้องในตัว ดังนั้นคุณต้องค้นหาข้อผิดพลาดโดยใช้การวิเคราะห์เชิงทำลาย ซึ่งจะลดจำนวนองค์ประกอบในวงจรอย่างต่อเนื่อง ตัวอย่างเช่น คุณสามารถลบคำอธิบายบริการเว็บได้

การประมวลผลสำหรับการทดสอบบริการเว็บภายนอกที่ทำงานอยู่

หากต้องการทดสอบบริการเว็บภายนอกที่ใช้งานได้ ให้ใช้การประมวลผล "Test ArbitraryWebService.epf" จากแพ็คเกจสำหรับบทความนี้

สามารถใช้การทดสอบโดยใช้ตัวอย่างของบริการ Morpher ซึ่งปฏิเสธชื่อ (ที่อยู่บริการ http://www.morpher.ru/WebServices/Morpher.asmx?WSDL):

ด้วยวิธีนี้ คุณสามารถทดสอบบริการใดๆ ที่มีจุดเข้าใช้งานแบบง่ายซึ่งประกอบด้วยพารามิเตอร์ประเภทอย่างง่าย ได้แก่ ตัวเลข วันที่ สตริง

ในระหว่างการประมวลผล คุณยังสามารถระบุข้อมูลเข้าสู่ระบบและรหัสผ่านที่จำเป็นในการอนุญาตการเข้าถึงบริการเว็บได้

เครื่องมือมาตรฐานสำหรับบริการแก้ไขข้อบกพร่อง

สำหรับการดีบักคุณสามารถใช้โปรแกรม SoapUI ซึ่งสามารถส่งคำขอที่กำหนดเองไปยังบริการเว็บและรับการตอบกลับได้

สบู่และ HTTPS

น่าเสียดายที่ SOAP ใน 1C ทำงานค่อนข้างไม่แน่นอนเมื่อทำงานผ่านโปรโตคอล HTTPS การฝึกฝนแสดงให้เห็นว่าเป็นไปไม่ได้ที่จะบรรลุการเชื่อมต่อ HTTPS แม้ว่าจะมีการประกาศความเป็นไปได้ในแพลตฟอร์มก็ตาม การไม่มีเครื่องมือวินิจฉัยและแก้ไขจุดบกพร่องเพื่อค้นหาสาเหตุที่ทำให้การเชื่อมต่อไม่สำเร็จกำลังส่งผลกระทบอย่างหนัก ดังนั้นจึงสะดวกในการใช้ SOAP ผ่าน CURL

กลไกในตัวสำหรับการใช้ HTTPS หมายความว่าใบรับรองทั้งหมดจะต้องเผยแพร่ในไฟล์ pem ทั่วไปในไดเร็กทอรีโปรแกรม 1C

การใช้ 1C เป็นบริการ

กฎสำหรับการพัฒนาบริการตาม 1C

ปฏิบัติการ สวัสดี

กฎของรูปแบบที่ดีคือการสร้างการดำเนินการในบริการที่แจ้งว่ามีบริการ สิ่งนี้ทำให้ชีวิตง่ายขึ้นสำหรับผู้ประกอบระบบ และจะง่ายขึ้นสำหรับพวกเขาในการตรวจสอบว่ามีการสื่อสารกับบริการหรือไม่

ตัวอย่างเช่น คุณสามารถใช้การดำเนินการ Hello โดยไม่มีพารามิเตอร์ ซึ่งจะคืนค่าบูลีนเป็น True

การเผยแพร่บริการเว็บ

ขั้นตอนมีการอธิบายไว้อย่างดีในเอกสารประกอบ: file:///C:/Program%20Files/1cv81/AddDoc/RU/V8AddDoc81.htm#_Toc176167634:

งานเผยแพร่บริการบนเว็บอยู่ที่การวางไฟล์การกำหนดค่า *.1cws ของบริการบนเว็บในไดเร็กทอรีที่เหมาะสมของเว็บเซิร์ฟเวอร์พร้อมกับการตั้งค่าที่เหมาะสมสำหรับเว็บเซิร์ฟเวอร์ ในการเผยแพร่บริการบนเว็บ คุณควรดำเนินการคำสั่งเมนู “การดูแลระบบ | การเผยแพร่บริการบนเว็บ”

จากผลของการดำเนินการคำสั่งนี้ หน้าต่างการเผยแพร่บริการบนเว็บจะเปิดขึ้น

หน้าต่างการเผยแพร่บริการบนเว็บประกอบด้วยเส้นทางไปยังเว็บเซิร์ฟเวอร์และสองรายการ:

  • “ บริการเว็บ” - รายการบริการเว็บกำหนดค่า
  • “สิ่งพิมพ์” - รายการบริการเว็บที่เผยแพร่บนเว็บเซิร์ฟเวอร์ที่ระบุ

การใช้ปุ่ม "การเชื่อมต่อ..." คุณต้องระบุเว็บเซิร์ฟเวอร์ที่คุณต้องการเผยแพร่บริการบนเว็บ

หน้าต่างการเลือกเส้นทางเว็บเซิร์ฟเวอร์ช่วยให้คุณสามารถระบุเส้นทางได้สองวิธี:

  • บนแท็บ "ไฟล์" - วิธีการนี้ใช้เมื่อทำการเผยแพร่บนคอมพิวเตอร์เครื่องเดียวกับที่ติดตั้งเว็บเซิร์ฟเวอร์ เส้นทางคือไดเร็กทอรีในเครื่องที่สอดคล้องกับหน้าอินเทอร์เน็ตซึ่งจะมีการเรียกเว็บเซิร์ฟเวอร์ที่เผยแพร่
  • บนแท็บ "ไซต์ FTP" - วิธีการนี้ใช้เมื่อคุณต้องการเผยแพร่บริการเว็บบนคอมพิวเตอร์ระยะไกล หากต้องการเผยแพร่ คุณต้องระบุพารามิเตอร์ของการเชื่อมต่อ FTP ไปยังคอมพิวเตอร์ระยะไกลและไดเร็กทอรีที่จะเผยแพร่บริการเว็บ

บริการเว็บที่เลือกจะถูกเผยแพร่โดยใช้ปุ่ม "เผยแพร่"

หากต้องการยกเลิกการเผยแพร่บริการบนเว็บ ให้ใช้ปุ่ม "ลบ"

คุณสามารถเผยแพร่ไปยังไดเร็กทอรีในเครื่องหรือผ่านทาง FTP คุณยังสามารถเผยแพร่ไปยังเซิร์ฟเวอร์ระยะไกลผ่านเส้นทาง UNC ได้หากเซิร์ฟเวอร์ระยะไกลเป็นส่วนหนึ่งของเครือข่ายท้องถิ่น

หลังจากการเผยแพร่ บริการเว็บจะพร้อมใช้งานตามที่อยู่ “http://localhost/test.1cws” หรือ “http://xxx.ru/test.1cws” โดยที่ xxx.ru คือที่อยู่ของเซิร์ฟเวอร์ระยะไกลและ localhost คือที่อยู่ทั่วไปของเซิร์ฟเวอร์ภายในเครื่อง

การอนุญาตบริการเว็บ 1C

ในการเข้าถึงบริการคุณต้องผ่านการรับรองความถูกต้อง

ปัญหาการอนุญาตได้รับการแก้ไขอย่างดีที่นี่: http://www.forum.mista.ru/topic.php?id=341168 และในไฟล์เอกสาร :///c:/Program%20Files/1cv81/AddDoc/RU/V8AddDoc81 htm

โดยทั่วไปแล้ว บริการเว็บจะทำงานภายใต้ผู้ใช้เฉพาะรายเดียว (โดยปกติจะเป็นผู้ใช้ที่สร้างขึ้นเป็นพิเศษ) คุณสามารถ "แนบ" ผู้ใช้ 1C โดยใช้การรับรองความถูกต้องของ Windows กับผู้ใช้ Windows IUSR_ (ปิดใช้งานการให้สิทธิ์ 1C สำหรับผู้ใช้) หรือคุณสามารถล้างรายชื่อผู้ใช้ 1C ได้ โดยไม่จำเป็นต้องมีการอนุญาต

หากจำเป็นต้องมีผู้ใช้หลายคน คุณสามารถสร้างการเข้าสู่ระบบได้หลายครั้งสำหรับเว็บเซิร์ฟเวอร์ กำหนดผู้ใช้ Windows ให้กับผู้ใช้แต่ละคน และลงทะเบียนการเข้าถึงผู้ใช้ Windows ใน 1C

ในคุณสมบัติผู้ใช้และรหัสผ่านของวัตถุ WSProxy ไม่ใช่การเข้าสู่ระบบ 1C ที่ใช้ แต่เป็นการเข้าสู่ระบบของผู้ใช้เว็บเซิร์ฟเวอร์

ทดสอบบริการเว็บ 1C

หากต้องการทดสอบ 1C เป็นบริการบนเว็บ ให้ใช้การประมวลผล "Test ArbitraryWebService.epf" ตามที่อธิบายไว้ในส่วน "การทดสอบบริการเว็บภายนอกที่ทำงานอยู่"

ไฟล์ 1cws เป็นคำอธิบาย WSDL ของบริการเว็บ 1C

การใช้บริการในการขายปลีก

โดยทั่วไปแล้ว บริการค้าปลีกใช้เพื่อให้บริการต่างๆ แก่ประชาชน เช่น การรับชำระเงิน การชำระคืนเงินกู้ การโอนเงิน, ซื้อ ซอฟต์แวร์ฯลฯ

ในกรณีนี้ ใบเสร็จจะถูกสร้างขึ้นใน 1C สำหรับบริการที่มีให้ ซึ่งจะบันทึกพารามิเตอร์ธุรกรรม หลังจากนั้นเช็คนี้จะถูกพิมพ์ไปยังไคลเอนต์ด้วย ข้อมูลรายละเอียดเกี่ยวกับการให้บริการ สามารถพิมพ์เช็คเบื้องต้นเพื่อให้ลูกค้ายืนยันข้อมูลที่ป้อนจากคำพูดของเขาพร้อมลายเซ็นของเขา

บริการสามารถรวมเข้ากับโปรแกรมการขายปลีกที่เขียนด้วยภาษา 1C ได้หลายวิธี (UT, การค้าปลีกและอื่น ๆ ):

  1. การประมวลผลหรือโค้ดสามารถเขียนด้วยภาษา 1C ซึ่งทำงานทั้งหมดกับบริการ
  2. สามารถใช้โปรแกรมที่ทำงานร่วมกับบริการได้และใน 1C จะส่งเฉพาะข้อมูลสำหรับการตรวจสอบการเจาะเท่านั้น

การจัดระเบียบข้อมูลบริการใน 1C

หากต้องการเก็บข้อมูลเกี่ยวกับธุรกรรมไว้ในใบเสร็จรับเงิน คุณต้องสร้างส่วนตารางเพิ่มเติม "การขายที่ซับซ้อน" พร้อมรายละเอียด:

  • ระบบการตั้งชื่อ - เชื่อมโยงกับระบบการตั้งชื่อของเช็ค
  • พารามิเตอร์ - ลิงก์ไปยังหนังสืออ้างอิง "การขายที่ซับซ้อน: พารามิเตอร์"
  • ค่า - ค่าของพารามิเตอร์ซึ่งเป็นประเภทที่ซับซ้อน การแสดงสตริงต้องค่อนข้างยาว (1,024 อักขระ) เพื่อรองรับข้อความเช็ค

ไดเร็กทอรี "การขายที่ซับซ้อน: พารามิเตอร์" มีรายการพารามิเตอร์ธุรกรรม

การใช้ส่วนที่เป็นตารางมีประโยชน์มากกว่าชุดรายละเอียดเพราะว่า ธุรกรรมอาจมีจำนวนมาก และในการตรวจสอบอื่น ๆ ที่ไม่เกี่ยวข้องกับบริการ รายละเอียดเหล่านี้จะไม่ถูกนำมาใช้และจะใช้พื้นที่เพิ่มเติม นอกจากนี้ โซลูชันดังกล่าวยังเป็นสากลสำหรับบริการใดๆ และไม่จำเป็นต้องมีการปรับโครงสร้างข้อมูลใหม่หลังการใช้งานบริการใหม่

ผู้ขายจะได้รับบุ๊กมาร์กแยกต่างหาก (หรือแบบฟอร์มที่พิมพ์ออกมาเพื่อไม่ให้เปลี่ยนการกำหนดค่า) ซึ่งเขาสามารถดูแผ่นรายละเอียดธุรกรรมสำหรับเช็คได้

การใช้การประมวลผลในภาษา 1C

ลองดูตัวอย่างบริการแบบมีเงื่อนไขของ Paym สำหรับการกำหนดค่า "ขายปลีก"

  1. มาสร้างองค์ประกอบที่กำหนดไว้ล่วงหน้าของไดเร็กทอรีระบบการตั้งชื่อ "Paym" ใน 1C ในโหมด 1C:Enterprise หลังจากอัปเดตการกำหนดค่าแล้ว จะต้องกำหนดประเภทผลิตภัณฑ์ "บริการ"
  2. ในขั้นตอน “เพิ่มรายการลงในตาราง ส่วน" ของโมดูลแบบฟอร์ม "การลงทะเบียนการขาย" เราเรียกว่าการประมวลผลงานกับบริการที่เขียนด้วยภาษา 1C หากการชำระเงินสำเร็จ เราจะบันทึกและผ่านรายการเช็ค:
ถ้า (ระบบการตั้งชื่อ = Directories.Nomenclature.Paym) และ (ประเภทของธุรกรรมการโอน ประเภทของการดำเนินการตรวจสอบ KKM. Return) จากนั้น การประมวลผลการชำระเงิน = ให้การประมวลผลภายนอก ("Paym");
  1. PaymentForm = PaymentProcessing.GetForm();
  2. ผลลัพธ์ = PaymentForm.OpenModal();
มิฉะนั้นหากประเภทของธุรกรรมการโอนประเภทของการดำเนินการตรวจสอบ KKM การส่งคืนและการเลือก NomenclatureLink = Directories.Nomenclature.Paym จากนั้น //Osipov PaymMaster ComplexSales Line = ComplexSales.Find(Directories.ComplexSalesParameters.PaymReceiptText, "Properties");

หากไม่ได้กำหนดบรรทัดการขายที่ซับซ้อน ดังนั้น Product.Name = LP แบบย่อ (Complex Sales Line. Value);

สิ้นสุดถ้า;

คำถามอีกประการหนึ่งคือจะแน่ใจได้อย่างไรว่าธุรกรรมจะเสร็จสมบูรณ์ เหล่านั้น. หากธุรกรรมเกิดขึ้นในบริการ จะแน่ใจได้อย่างไรว่าจะไม่สูญหายใน 1C วิธีที่ดีที่สุดคือการกระทบยอดรีจิสเตอร์ แต่นี่เป็นหัวข้อสำหรับการพิจารณาแยกต่างหาก

การใช้โปรแกรมที่ทำงานร่วมกับ 1C

เอ็กซ์ดีทีโอ

XDTO มักใช้ในบริการเว็บ เคล็ดลับและสูตรที่สำคัญที่สุดสำหรับการใช้ XDTO ใน 1C มีดังนี้

XDTO ในแพลตฟอร์ม 1C

แพ็คเกจ XDTO ที่อธิบายไว้ในสาขา "วัตถุ XDTO" ของการกำหนดค่า พร้อมใช้งานสำหรับการสร้างประเภทและวัตถุในโรงงาน XDTO ทั่วโลก สิ่งนี้ไม่ชัดเจนในทันที

บางประเภทในสคีมาไม่มีชื่อ คุณต้องผ่านลำดับชั้นของประเภทเพื่อให้ได้มา

ตัวอย่างนี้อธิบายรายการระบบที่มีโครงสร้าง XDTO หากต้องการสร้างโครงสร้าง คุณจะต้องได้ประเภทดังนี้:

Type = Factory.Type("urn:my.ru:MasterData:Business", "Business").Properties.Get("System").Type;

ปัญหาทั่วไปเกี่ยวกับ XDTO รูปแบบ XSD Schema ที่แตกต่างกันในบางรูปแบบ แท็กจะเรียกว่า xs: ในบางรูปแบบ xsd: แต่ 1C เข้าใจทั้งสองรูปแบบอย่างปลอดภัย เมื่อมีสถานการณ์ที่ XSD ถูกนำเข้าไปยัง 1C โดยปกติโดยไม่มีข้อผิดพลาด แต่ไม่ได้สร้างแพ็คเกจเดียว เหตุผลก็คือไม่มีคุณลักษณะ

เป้าหมายเนมสเปซ

ที่แท็ก ดังนั้น 1C จึงไม่รู้ว่าจะวางแพ็คเกจใดในไดอะแกรม แต่ก็ไม่ได้สร้างข้อผิดพลาด

สนับสนุนการบริการ

เมื่อพิจารณาว่าบริการเป็นการรวมกันของสองระบบ - 1C และภายนอก ข้อผิดพลาดอาจเกิดขึ้นได้ในทั้งสองระบบ ซึ่งจะลดความน่าเชื่อถือโดยรวมของการทำงาน

เพื่อให้เข้าใจสาเหตุของความล้มเหลวในการบริการได้ง่ายขึ้น ขอแนะนำให้ใช้ชุดมาตรการ

  • คำขอบันทึก
    • ลิงค์
  • เอ็กซ์ดีทีโอ
    • คำอธิบายที่ดีของ XDTO http://pro1c.org.ua/index.php?showtopic=214
    • บริการเว็บที่น่าสนใจฟรี:
  • Aeroflot - ข้อมูลเกี่ยวกับตารางเครื่องบิน
    • Morpher - การปฏิเสธชื่อ http://www.morpher.ru/WebServices/Morpher.aspx
      • ยังไม่ได้ประกอบ:
      • การติดตั้งและการใช้บริการเว็บ
      • v8: จะเปลี่ยนไฟล์การกำหนดค่า apache ได้อย่างไร?
      • หนังสือความรู้: v8: การใช้บริการเว็บภายนอกใน 1C:Enterprise 8;

ใน ปีที่ผ่านมาการใช้งาน API และการพึ่งพาบริการเว็บเพิ่มขึ้น นี่คือรายการเครื่องมือทดสอบบริการเว็บ 12 รายการที่จะช่วยคุณได้อย่างมาก

ในช่วงไม่กี่ปีที่ผ่านมา ความนิยมและการใช้บริการเว็บหรือ API เพิ่มขึ้น บริการเว็บหรือ API คือชุดของขั้นตอนหรือส่วนประกอบซอฟต์แวร์ที่ช่วยให้แอปพลิเคชันสื่อสารหรือดำเนินการกระบวนการ/ธุรกรรมบางอย่างโดยสร้างการเชื่อมต่อระหว่างแอปพลิเคชันหรือเซิร์ฟเวอร์อื่น บริการเว็บส่วนใหญ่มีสองประเภท: REST และ SOAP สำหรับการถ่ายโอนข้อมูลและข้อมูลผ่านอินเทอร์เน็ตโปรโตคอล

เนื่องจากบริการเว็บเหล่านี้มีให้บริการบนอินเทอร์เน็ตและกระจายไปตามเครือข่ายต่างๆ บริการเหล่านี้จึงเสี่ยงต่อไวรัสและภัยคุกคามความปลอดภัยที่ส่งผลต่อกระบวนการที่ต้องพึ่งพาบริการเหล่านี้ ดังนั้นการทดสอบบริการเว็บหรือ API จึงจำเป็นเพื่อให้แน่ใจว่าทำงานได้อย่างถูกต้องและตอบสนองต่อคำขอได้อย่างถูกต้อง การทดสอบซอฟต์แวร์เป็นพื้นที่ที่น่าสนใจในสาขาไอที คุณสามารถรับความรู้ที่จำเป็นได้ที่

มีเครื่องมือทดสอบเชิงพาณิชย์และฟรีมากมายในตลาดเพื่อทดสอบการเชื่อมต่อ การตอบสนอง และประสิทธิภาพ เครื่องมือทดสอบเหล่านี้ทำการทดสอบอัตโนมัติสำหรับสถานการณ์เฉพาะ เช่น การทดสอบการทำงาน การทดสอบโหลด การทดสอบประสิทธิภาพ ฯลฯ

ต่อไปนี้เป็นเครื่องมือทดสอบบริการเว็บที่ยอดเยี่ยม 12 ข้อที่คุณควรพิจารณาสำหรับข้อกำหนดการทดสอบ API หรือบริการเว็บของคุณ:

สบู่UI

SoapUI เป็นเครื่องมือทดสอบข้ามแพลตฟอร์มแบบโอเพ่นซอร์ส โดยสามารถทำการทดสอบการทำงาน การถดถอย ความสอดคล้อง และโหลดของทั้งบริการ SOAP และ REST ได้โดยอัตโนมัติ ใช้งานง่ายและรองรับเทคโนโลยีและมาตรฐานขั้นสูงสำหรับการสร้างแบบจำลองและจูงใจพฤติกรรมบริการเว็บ

คุณสมบัติที่สำคัญ:

  • จัดเตรียมรายงานการพิมพ์ การส่งออก และ HTML ในระดับ Project, TestSuite, TestCase หรือ LoadTest
  • การทำงานร่วมกันกับ Hudson, Bamboo, Maven, ANT และ JUnit
  • ช่วยให้คุณพัฒนาชุดฟังก์ชันของคุณเองในรูปแบบของปลั๊กอิน SoapUI
  • บันทึก ตรวจสอบ และแสดงข้อมูลทั้งหมด
  • รองรับการถอดรหัส WS-Security และการถอดรหัส SSL

การทดสอบหวือ

TestingWhiz เป็นเครื่องมือทดสอบอัตโนมัติแบบ “ไร้โค้ด” ที่เข้ากันได้กับ API/บริการบนเว็บ ช่วยให้คุณสามารถดำเนินการทดสอบการทำงาน การทำงานร่วมกัน และโหลด และทำงานกับบริการเว็บ REST และ SOAP ผ่านอินเทอร์เฟซ WSDL ผ่าน HTTP และ FTP

คุณสมบัติที่สำคัญ:

  • รองรับการเปรียบเทียบสตริงเพื่อตรวจสอบการตอบสนองของ API
  • ช่วยในการค้นหาข้อบกพร่องของ API โดยใช้เครื่องมือติดตามปัญหาแบบผสานรวม เช่น JIRA, Mantis และ Fogbugz
  • สร้างบันทึกภาพและรายงานการทดสอบผ่านทางอีเมล
  • นำเสนอการบูรณาการอย่างต่อเนื่องกับ Jenkins, Bamboo & Hudson
  • รองรับข้อมูลและการทดสอบที่ขับเคลื่อนด้วยคำหลัก

สบู่Sonar

SOAPSonar ให้การทดสอบบริการเว็บแบบ end-to-end สำหรับ HTML, XML, SOAP, REST และ JSON ให้การทดสอบการทำงาน ประสิทธิภาพ ความเข้ากันได้ และความปลอดภัยโดยใช้มาตรฐาน OASIS และ W3C

คุณสมบัติที่สำคัญ:

  • รองรับการทดสอบช่องโหว่การกลายพันธุ์ XSD
  • ให้การวิเคราะห์ที่ครอบคลุมของ WSDL และ Schema
  • ทำการทดสอบโหลดด้วยการจำลองพฤติกรรมและกระบวนการโหลดหลายรายการพร้อมกัน
  • จัดเตรียมรายงานในรูปแบบ XML, DOC, XLS, PDF, RTF และ RPT
  • โต้ตอบกับศูนย์คุณภาพ HP

SOAtest

SOAtest เป็นเครื่องมือสำหรับการทดสอบและตรวจสอบ API และแอปพลิเคชันที่ขับเคลื่อนด้วย API โดยให้การสนับสนุนบล็อกฟังก์ชันที่แข็งแกร่ง การผสานรวม ความปลอดภัย การจำลอง การทดสอบโหลดโดยใช้เทคโนโลยี เช่น REST, JSON, MQ, JMS, TIBCO, HTTP และ XML

คุณสมบัติที่สำคัญ:

  • ให้การทดสอบแบบ end-to-End
  • รองรับโปรโตคอล/ประเภทข้อความมากกว่า 120+ รายการ
  • มาพร้อมกับอินเทอร์เฟซที่ใช้งานง่าย
  • ช่วยคุณสร้างการทดสอบที่ซับซ้อน ขยายได้ และนำกลับมาใช้ใหม่ได้โดยไม่ต้องเขียนโค้ด
  • รองรับการทดสอบการรวมอย่างต่อเนื่อง

ผู้ทดสอบ

TestMaker เป็นเครื่องมือโอเพ่นซอร์สสำหรับการทดสอบและตรวจสอบประสิทธิภาพของบริการเว็บและแอปพลิเคชัน SOA โดยใช้ PushtoTest มันทำงานบน Jython (Python เขียนด้วยภาษา Java) TestMaker สามารถนำการทดสอบ Selenium, การทดสอบ SoapUI, การทดสอบ Sahi หรือการทดสอบใดๆ ที่เขียนด้วย Groovy, Java, Python, PHP, Ruby และ Perl มาใช้ใหม่ให้เป็นการทดสอบการทำงานและโหลด

คุณสมบัติที่สำคัญ:

  • ใช้พรอมต์บรรทัดคำสั่งเพื่อทดสอบการทำงาน โหลด และประสิทธิภาพ
  • ใช้งานง่าย รูปร่างด้วย IDE หลายหน้าต่างมาตรฐาน
  • มีแผงควบคุมเพื่อทำการทดสอบและแสดงผลแบบเรียลไทม์
  • อนุญาตให้เข้าถึงไลบรารี Java และคลาสทั้งหมดของภาษา Jython

บุรุษไปรษณีย์

Postman เป็นอีกหนึ่งเครื่องมือทดสอบ API/บริการเว็บที่มีการรองรับไคลเอ็นต์ HTTP ที่มีประสิทธิภาพ มีตัวสร้างคิวรีที่ใช้งานง่ายซึ่งช่วยให้คุณเขียนกรณีทดสอบและจัดการข้อมูลตอบกลับและเวลาตอบกลับเพื่อการทดสอบและการจัดการกรณีทดสอบ API ที่มีประสิทธิภาพ

คุณสมบัติที่สำคัญ:

  • อนุญาตให้จัดระเบียบ API เป็นฟังก์ชันที่เรียกว่าชุดประกอบบุรุษไปรษณีย์
  • อำนวยความสะดวกในการทำงานร่วมกันและการแชร์ข้อมูล API และการควบคุม
  • ช่วยให้คุณสามารถเขียนการทดสอบลอจิกในอินเทอร์เฟซบุรุษไปรษณีย์

vพักผ่อน

VRest เป็นเครื่องมือที่ออกแบบมาสำหรับการทดสอบ เปรียบเทียบ REST APIS และบริการบนเว็บ นอกจากนี้ยังรองรับการทดสอบแอปพลิเคชันเว็บ อุปกรณ์เคลื่อนที่ และเดสก์ท็อปที่มีการโต้ตอบกับ API หรือบริการ HTTP ของบริษัทอื่น

คุณสมบัติที่สำคัญ:

  • มีฟังก์ชันเซิร์ฟเวอร์จำลองเพื่อสร้าง API จำลองภายในไม่กี่นาที
  • มีส่วนขยาย Chrome สำหรับการบันทึกและเล่นกรณีทดสอบ
  • รองรับการทำงานร่วมกับ Jenkins เพื่อการทำงานของเซิร์ฟเวอร์อย่างต่อเนื่องและ Jira สำหรับการติดตามปัญหา
  • ทำให้ง่ายต่อการจัดการสิทธิ์
  • ช่วยให้คุณสามารถส่งออกและนำเข้ากรณีทดสอบและรายงานจากเครื่องมือภายนอก เช่น Postman Collections, Swagger 2

HttpMaster

HttpMaster เป็นอีกหนึ่งเครื่องมือพิเศษสำหรับการทดสอบบริการเว็บ REST ช่วยให้ผู้ทดสอบทดสอบพฤติกรรมของ REST API และตรวจสอบความถูกต้องของเอาต์พุตในรูปแบบ เช่น XML, JSON และ HTML ด้วยเครื่องมือ HTTP สากล HttpMaster ยังช่วยนักพัฒนาจำลองกิจกรรมไคลเอนต์และพฤติกรรมการตอบสนองของแอปพลิเคชัน API

คุณสมบัติที่สำคัญ:

  • มีอินเทอร์เฟซผู้ใช้ที่ใช้งานง่ายและสวยงามซึ่งไม่ต้องใช้ทักษะทางเทคนิคขั้นสูง
  • ใช้วิธีการ HTTP เช่น GET, POST, DELETE เป็นต้น
  • จัดเตรียมให้ ประเภทต่างๆและทดสอบนิพจน์เพื่อให้การทดสอบง่ายขึ้น
  • ใช้อินเทอร์เฟซบรรทัดคำสั่งเพื่อสร้างและรันการทดสอบ
  • ช่วยให้คุณจัดเก็บข้อมูลทั้งหมด - การเรียก API และข้อมูลโครงการไว้ในที่เดียว

รันสโคป

Runscope เป็นเครื่องมือง่ายๆ สำหรับการทดสอบและติดตามประสิทธิภาพของ API Runscope ยังรองรับการทดสอบ API และแบ็กเอนด์ของแอปพลิเคชันมือถือ

คุณสมบัติที่สำคัญ:

  • ช่วยให้คุณสร้างการทดสอบด้วยข้อมูลไดนามิกแม้ในกรณีที่ซับซ้อน
  • แสดงตัวชี้วัดและการวิเคราะห์เพื่อระบุปัญหา
  • ทำงานร่วมกับเครื่องมือเช่น HipChat, Webhooks, Slack และ PagerDuty สำหรับการแจ้งเตือนความล้มเหลวของ API
  • ช่วยให้คุณใช้ซ้ำและเรียกใช้การทดสอบได้หลายแห่ง
  • อำนวยความสะดวกในการจัดการการทดสอบแบบรวมศูนย์เพื่อการทำงานร่วมกันที่ดีขึ้น

ข่มขืน

Rapise เป็นเครื่องมืออัตโนมัติที่มีประสิทธิภาพพร้อมคุณสมบัติที่ทรงพลังและขยายได้ ขึ้นอยู่กับสถาปัตยกรรมแบบเปิดและยืดหยุ่นสำหรับการทดสอบการทำงานที่รวดเร็วของบริการเว็บ REST/SOAP Rapise ยังให้การสนับสนุนสำหรับการทดสอบแอปพลิเคชันเว็บที่ฝังอยู่ใน Java, .NET, Ajax, Silverlight และ Flash

คุณสมบัติที่สำคัญ:

  • ใช้วิธีการ HTTP มาตรฐาน เช่น POST, GET, PUT และ DELETE
  • ช่วยให้คุณสามารถจัดเก็บคำขอต้นแบบกับบริการเว็บเฉพาะได้
  • มีตัวสร้างคำจำกัดความ REST ในตัวและไลบรารีอ็อบเจ็กต์
  • มีความสามารถในการรายงานที่มีประสิทธิภาพ
  • รองรับการทดสอบข้ามเบราว์เซอร์และการดำเนินการแบบขนาน

Webฉีด

WebInject เป็นเครื่องมือฟรีสำหรับการทดสอบการทำงาน การยอมรับ และการถดถอยของบริการเว็บแบบอัตโนมัติ เป็นเครื่องมือบรรทัดคำสั่งและอิงตาม Perl ซึ่งทำให้เรียกใช้การทดสอบได้ง่ายขึ้น เนื่องจากไม่จำเป็นต้องใช้เวลากับบรรทัดคำสั่ง นอกจากนี้ยังไม่มีอินเทอร์เฟซ IDE ซึ่งหมายความว่าการทดสอบจะถูกเขียนจากภายนอก ส่วนต่อประสานกับผู้ใช้ Webฉีด. สามารถทำงานบนแพลตฟอร์มที่มีล่าม Perl

คุณสมบัติที่สำคัญ:

  • ให้การแสดงผลแบบเรียลไทม์
  • มอนิเตอร์เวลาตอบสนองของระบบ
  • รองรับการใช้งานที่หลากหลาย - ทั้งแพลตฟอร์มการทดสอบเต็มรูปแบบและผู้ทดสอบแบบสแตนด์อโลน
  • สร้างรายงานในรูปแบบ HTML และ XML
  • อนุญาตให้รวมเข้ากับระบบอื่นเป็นปลั๊กอินสำหรับการตรวจสอบภายนอก

พายุ

สุดท้ายนี้ Storm เป็นอีกหนึ่งเครื่องมือโอเพ่นซอร์สจาก CodePlex สำหรับทดสอบบริการเว็บที่เขียนด้วย Java หรือ .NET ปัจจุบันรองรับเฉพาะบริการเว็บ SOAP เท่านั้น

คุณสมบัติที่สำคัญ:

  • ช่วยให้คุณสามารถทดสอบบริการเว็บต่างๆ จากอินเทอร์เฟซผู้ใช้เดียว
  • ช่วยแก้ไขคำขอ SOAP แบบดิบ
  • ช่วยให้คุณสามารถอ้างอิงวิธีการบริการเว็บที่มีประเภทข้อมูลที่ซับซ้อน
  • รองรับการทดสอบแอปพลิเคชัน WCF

แน่นอนว่ารายการไม่ได้จบเพียงแค่นี้ เนื่องจากมีเครื่องมือมากมายสำหรับการทดสอบบริการเว็บ

ลงทะเบียนตอนนี้หรือขอโทรพร้อมรับคำปรึกษาฟรี!

ปัจจุบันเป็นเรื่องยากที่แอปพลิเคชันสมัยใหม่จะทำงานโดยไม่มี API สิ่งนี้เป็นจริงทั้งสำหรับเว็บไซต์ธรรมดาและระบบกระจายที่มีโหลดสูง การทดสอบ API เป็นหนึ่งในงานหลักในกระบวนการประกันคุณภาพ ไม่ใช่เรื่องน่าแปลกใจที่ความต้องการผู้ทดสอบที่รู้วิธีทดสอบ API เพิ่มขึ้นทุกวัน ในหลักสูตรนี้ คุณจะได้รับความเข้าใจเกี่ยวกับวิธีการ เครื่องมือ และแนวทางในการทดสอบ API และได้รับความรู้ที่จำเป็น ซึ่งจะส่งผลเชิงบวกต่อคุณค่าของคุณในฐานะผู้เชี่ยวชาญด้านการทดสอบอย่างไม่ต้องสงสัย

หลักสูตรนี้จะเป็นประโยชน์สำหรับนักเรียนที่คุ้นเคยกับพื้นฐานการทดสอบซอฟต์แวร์ที่ต้องการเติบโตและพัฒนาทักษะของตนเอง

โปรแกรมหลักสูตร:

บทที่ 1 เบื้องต้น. โปรโตคอลสบู่

  • สั้น ๆ เกี่ยวกับอาจารย์;
  • วัตถุประสงค์ของหลักสูตร
  • API, WS คืออะไร และเหตุใดจึงมีความจำเป็น
  • บทบาทของการทดสอบ API ในกระบวนการประกันคุณภาพ
  • ตรวจสอบเครื่องมือทดสอบ WS
  • วิธีการที่ใช้ในการทดสอบ WS
  • ประวัติความเป็นมาของสบู่
  • คำศัพท์เฉพาะทางและแนวคิดหลัก (XML, XSD, Endpoint, WSDL)

บทที่ 2: โปรโตคอล SOAP สถาปัตยกรรมส่วนที่เหลือ

  • คำศัพท์เฉพาะทางและแนวคิดหลัก (UDDI, XSLT, XPath, XQuery, วิธี HTTP, สถานะ HTTP)
  • โครงสร้างและส่วนประกอบหลักของ SOAP
  • ขอบเขตการใช้งาน
  • คุณสมบัติของงาน
  • ข้อดีและข้อเสีย
  • คุณสมบัติของสถาปัตยกรรม REST
  • คำศัพท์เฉพาะทางและแนวคิดหลัก (WADL, RESTful, JSON, JSONPath)
  • หลักการพัก
  • รหัสสถานะและสถานะหลัก
  • คำกริยา CRUD;
  • ข้อดีและข้อเสีย

บทที่ 3 การแนะนำ SoapUI การทำงานกับโปรเจ็กต์ REST

  • การติดตั้งจาวา;
  • การติดตั้ง SoapUI;
  • ภาพรวมขององค์ประกอบอินเทอร์เฟซหลัก
  • การเชื่อมโยงโครงการการศึกษา
  • ทบทวนวิธีการโครงการ
  • การส่งคำขอและการวิเคราะห์การตอบกลับที่ได้รับ
  • ศึกษาบริการเว็บที่มีอยู่ของโครงการ
  • จัดทำแผนการทดสอบ
  • การเขียนกรณีทดสอบ
  • องค์ประกอบ “TestSuite”, “TestCase”, “TestSteps”

บทที่ 4 การทำงานกับโครงการ REST (XML)

  • บล็อก "การยืนยัน";
  • ดำเนินการทดสอบในระดับต่างๆ
  • องค์ประกอบ “คุณสมบัติ” ความสามารถหลัก
  • การทำงานกับคุณสมบัติ
  • องค์ประกอบ “การโอนทรัพย์สิน”
  • การทำงานกับการยืนยัน

บทที่ 5 การทำงานกับโครงการ REST (JSON)

  • เงื่อนไขและสาขา
  • การทำงานกับการยืนยัน
  • TestRunner คุณสมบัติของงาน
  • เรียกใช้ TS, TC จากบรรทัดคำสั่ง
  • การทำงานร่วมกับนักวิ่งทดสอบ
  • การทำงานกับสคริปต์ Groovy

บทที่ 6 การทำงานกับสคริปต์ Groovy

  • การทำงานกับข้อมูลแบบคงที่และไดนามิก
  • การสร้างข้อมูลการทดสอบ
  • เราได้รับข้อมูลจาก "คุณสมบัติ";
  • การบันทึกและถ่ายโอนข้อมูล
  • เงื่อนไขและสาขา
  • การยืนยันสคริปต์

บทที่ 7 คุณสมบัติเพิ่มเติม

  • การเชื่อมต่อไลบรารีภายนอกและคลาสแบบกำหนดเอง
  • บริการจำลอง;
  • ทำไมเราถึงต้องการบริการจำลอง?
  • ตัวอย่างการทำงานกับบริการจำลอง
  • แล้วซีไอไอล่ะ?
  • ติดตั้งเจนกินส์;
  • เปิดตัวโครงการเกี่ยวกับเจนกินส์