การใช้บริการ SOAP ภายนอกการดำเนินงาน
SOAP (โปรโตคอลการเข้าถึงวัตถุอย่างง่าย) เป็นโปรโตคอลมาตรฐานสำหรับการส่งข้อความระหว่างไคลเอนต์และเซิร์ฟเวอร์ โดยทั่วไปจะใช้ร่วมกับ HTTP(S) แต่ยังสามารถทำงานร่วมกับโปรโตคอลเลเยอร์แอปพลิเคชันอื่นๆ ได้ (เช่น SMTP และ FTP)การทดสอบ SOAP จากมุมมองของเทคนิคการทดสอบนั้นไม่มีความแตกต่างโดยพื้นฐานจากการทำงานกับ API อื่นๆ แต่จำเป็นต้องมี
(ในแง่ของทฤษฎีโปรโตคอล) และเครื่องมือทดสอบพิเศษ ในบทความนี้ ฉันอยากจะจัดทำรายการตรวจสอบเล็กๆ น้อยๆ เกี่ยวกับความรู้และทักษะที่จำเป็น ซึ่งจะมีประโยชน์พอๆ กันทั้งสำหรับผู้ทดสอบ SOAP (ซึ่งมักจะไม่รู้ว่าจะต้องคว้าอะไรไว้หลังจากกำหนดงาน) และสำหรับผู้จัดการที่ บังคับให้ประเมินความรู้ของผู้ทดสอบและพัฒนาแผนการฝึกอบรม
พื้นฐานทางทฤษฎี
ความจริงที่ว่า SOAP เป็นโปรโตคอลมีผลกระทบอย่างมากต่อการทดสอบ: คุณต้องศึกษาโปรโตคอลเอง มาตรฐานและโปรโตคอล "หลัก" ที่ใช้โปรโตคอลนั้น และ (ตามความจำเป็น) ส่วนขยายที่มีอยู่
นาตาชา
คำเตือน
อย่าลืมเขียนบทความ!
คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ XML ได้ที่ w3schools หรือ codenet (เป็นภาษารัสเซีย) อย่าลืมใส่ใจกับคำอธิบายของเนมสเปซ (วิธีการแก้ไขข้อขัดแย้งเมื่ออธิบายองค์ประกอบใน XML) - จำเป็นต้องใช้ใน SOAP
...
...
XSD
ในงานของคุณ คุณอาจพบกับ “ส่วนขยาย” ต่างๆ ของ SOAP - มาตรฐาน เช่น WS-* หนึ่งในสิ่งที่พบได้บ่อยที่สุดคือ WS-Security ซึ่งช่วยให้คุณทำงานกับการเข้ารหัสและลายเซ็นอิเล็กทรอนิกส์ได้ บ่อยครั้งที่มีการใช้ WS-Policy ควบคู่ไปด้วย ซึ่งคุณสามารถจัดการสิทธิ์ในการใช้บริการของคุณได้
ตัวอย่างการใช้ WS-Security:
ส่วนขยายทั้งหมดเหล่านี้เป็นโครงสร้างที่ค่อนข้างซับซ้อนซึ่งไม่ได้ใช้ในทุกบริการ 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 แม้ว่าบริการจะอยู่ระหว่างการพัฒนาก็ตาม
การทดสอบ SOAP มักจะเกี่ยวข้องกับการใช้ SoapUI เกือบทุกครั้ง คุณสามารถอ่านเกี่ยวกับการใช้เครื่องมือนี้ได้ในแหล่งต่างๆ (,) แต่จะมีประสิทธิภาพมากที่สุดในการอ่านเอกสารอย่างเป็นทางการ ฉันระบุระดับความสามารถ SoapUI ตามเงื่อนไข 8 ระดับ:
ระดับ 1 – ฉันสามารถส่งคำขอได้
เรียนรู้วิธีสร้างโปรเจ็กต์ตาม WSDL SoapUI สามารถสร้างแบบสอบถามที่จำเป็นทั้งหมดสำหรับคุณ สิ่งที่คุณต้องทำคือตรวจสอบว่ากรอกถูกต้องแล้วคลิกปุ่ม "ส่ง" เมื่อคุณได้พัฒนาทักษะในการสร้างแบบสอบถามที่ถูกต้องแล้ว คุณจะต้องเชี่ยวชาญศิลปะในการสร้างแบบสอบถามที่ไม่ถูกต้องซึ่งทำให้เกิดข้อผิดพลาด
ระดับ 2 – ฉันสามารถทำชุดทดสอบและกรณีทดสอบได้
เริ่มทำการทดสอบอัตโนมัติขนาดเล็ก ชุดทดสอบและกรณีทดสอบช่วยให้คุณสร้างสคริปต์ทดสอบ API เตรียมข้อมูลสำหรับคำขอ และตรวจสอบการตอบสนองที่ได้รับโดยอัตโนมัติเพื่อให้แน่ใจว่าตรงกับสิ่งที่คาดหวัง ในตอนแรกสามารถใช้เป็นคอลเลกชันของแบบสอบถามได้อย่างง่ายดาย ตัวอย่างเช่น หากคุณได้สร้างข้อบกพร่องและต้องการตรวจสอบอย่างรวดเร็วหลังจากแก้ไขแล้ว คุณสามารถจัดสรรชุดทดสอบแยกต่างหากสำหรับคำขอข้อบกพร่องโดยเฉพาะ
ระดับ 3 – ฉันสามารถเขียนคำยืนยันได้
หลังจากเชี่ยวชาญกรณีทดสอบแล้ว จะเป็นประโยชน์สำหรับคุณในการเรียนรู้วิธีทำให้สามารถตรวจสอบได้โดยอัตโนมัติ หลังจากนี้ คุณจะไม่ต้องค้นหาข้อมูลเกี่ยวกับคำตอบด้วยตาอีกต่อไป: หากมีการตรวจสอบอัตโนมัติ กรณีต่างๆ จะถูกทำเครื่องหมายเป็นสีเขียว (หากผ่านการตรวจสอบ) หรือสีแดง (หากไม่ผ่าน) SoapUI มีชุดการยืนยันที่เป็นไปได้จำนวนมาก แต่ชุดที่สะดวกและเรียบง่ายที่สุดคือมีและไม่มี ด้วยความช่วยเหลือของพวกเขาคุณสามารถตรวจสอบความพร้อมได้ ข้อความเฉพาะในการตอบสนองที่ได้รับ การตรวจสอบเหล่านี้ยังรองรับการค้นหานิพจน์ทั่วไปด้วย
ระดับ 4 – ใช้ XPath และ/หรือ XQuery ใน Assertions
สำหรับผู้ที่คุ้นเคยกับ UI ที่ใช้ Selenium เพียงเล็กน้อย ภาษา XPath ก็เป็นสิ่งที่คุ้นเคย กล่าวโดยคร่าวๆ XPath ช่วยให้คุณสามารถค้นหาองค์ประกอบต่างๆ ในเอกสาร XML ได้ XQuery เป็นเทคโนโลยีที่คล้ายกันที่สามารถใช้ XPath ภายในได้ ภาษานี้มีพลังมากกว่ามาก มันคล้ายกับ SQL ทั้งสองภาษานี้สามารถนำไปใช้ในการยืนยันได้ การตรวจสอบด้วยความช่วยเหลือจะตรงเป้าหมายและมีเสถียรภาพมากขึ้น ดังนั้นกรณีของคุณจะมีความมั่นใจมากขึ้น
ระดับ 5 – ฉันสามารถเขียนการทดสอบที่ซับซ้อนโดยใช้ขั้นตอนพิเศษได้
กรณีทดสอบสามารถมีได้ไม่เพียงแต่คำขอเดียว แต่ยังมีหลายคำขอ (ตัวอย่างเช่น เมื่อคุณต้องการจำลองสถานการณ์ผู้ใช้มาตรฐาน “สร้างเอนทิตี” → “เอนทิตีส่งออก”) อาจมีขั้นตอนพิเศษอื่นๆ ระหว่างคำขอ เช่น:
ระดับ 6 – ใช้สคริปต์ Groovy
SoapUI ช่วยให้คุณสามารถเขียนสคริปต์ Groovy ได้ในหลายที่ กรณีที่ง่ายที่สุดคือการสร้างข้อมูลในการสืบค้นโดยใช้ส่วนแทรก $(=) ฉันใช้ส่วนแทรกเหล่านี้ตลอดเวลา:
สคริปต์ฉบับสมบูรณ์สามารถใช้เป็นขั้นตอนในกรณีและการตรวจสอบได้ เมื่อถึงจุดหนึ่ง คุณจะพบว่าขั้นตอนพิเศษหลายขั้นตอนจากระดับที่ 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 คุณจำเป็นต้องรู้และสามารถใช้งาน:
อย่างที่คุณเห็น จุดเน้นหลักคือการเรียนรู้มาตรฐาน ใน SoapUI ก็เพียงพอที่จะดำเนินการค้นหาได้ เมื่อคุณเจาะลึกการทดสอบ SOAP คุณจะพบกับงานที่ต้องใช้ทักษะและความรู้ที่จริงจังมากขึ้น แต่คุณไม่ควรพยายามเรียนรู้ทุกอย่างในคราวเดียว ความสม่ำเสมอในการเพิ่มระดับความซับซ้อนของงานที่ทำมีความสำคัญมากกว่ามาก เมื่อปฏิบัติตามคำแนะนำนี้ วันหนึ่งคุณจะรู้ว่าคุณเป็นผู้เชี่ยวชาญที่ดีในสาขานี้!
บริการเว็บใน 1C
บทความนี้จะกล่าวถึงการรวม 1C กับบริการเว็บที่มีอยู่และการใช้ 1C เป็นบริการเว็บ
ในกรณีนี้ บริการเว็บจะเข้าใจว่าเป็นระบบที่ทำงานบนอินเทอร์เน็ต และให้การโต้ตอบกับบริการเหล่านั้นไม่เพียงแต่ผ่าน SOAP (ซึ่งก็คือบริการบนเว็บ) แต่ยังรวมถึงวิธีอื่น ๆ รวมถึงคำขอ HTTP(S) ปกติด้วย
แพลตฟอร์ม 1C81 แนะนำการใช้งานบริการเว็บ
แต่การใช้งานนั้นเต็มไปด้วยความเสี่ยง:
ลูกค้าจะออกเอกสารการขาย (ใบเสร็จรับเงิน) เฉพาะในกรณีที่ธุรกรรมการบริการสำเร็จ มิฉะนั้นสถานการณ์อาจเกิดขึ้นได้เมื่อลูกค้าได้รับเช็คและมั่นใจว่าเขาได้รับบริการ แต่ในความเป็นจริงเขาไม่ได้รับ
บริการเว็บ SOAP ใช้สคีมา WSDL และออบเจ็กต์ XDTO เพื่อแสดงข้อมูล
หากต้องการใช้บริการภายนอก คุณต้องดาวน์โหลดสคีมา WSDL
บางครั้งสคีมา WSDL ไม่โหลดลงใน 1C คุณสามารถตรวจสอบความถูกต้อง (ความถูกต้อง) ของสคีมาได้โดยใช้เครื่องมือตรวจสอบสคีมา WSDL ใดๆ เช่น http://www.validwsdl.com/
คุณต้องอัปโหลดโครงร่างไปยังไซต์ http บางแห่ง (คุณสามารถใช้ ftp) และระบุที่อยู่ของไฟล์ที่โหลดโครงร่าง:
ลักษณะเฉพาะของการโหลด WSDL ใน 1C คือไม่สามารถโหลดสคีมาที่ถูกต้องได้ ไม่มีเครื่องมือตรวจสอบความถูกต้องในตัว ดังนั้นคุณต้องค้นหาข้อผิดพลาดโดยใช้การวิเคราะห์เชิงทำลาย ซึ่งจะลดจำนวนองค์ประกอบในวงจรอย่างต่อเนื่อง ตัวอย่างเช่น คุณสามารถลบคำอธิบายบริการเว็บได้
หากต้องการทดสอบบริการเว็บภายนอกที่ใช้งานได้ ให้ใช้การประมวลผล "Test ArbitraryWebService.epf" จากแพ็คเกจสำหรับบทความนี้
สามารถใช้การทดสอบโดยใช้ตัวอย่างของบริการ Morpher ซึ่งปฏิเสธชื่อ (ที่อยู่บริการ http://www.morpher.ru/WebServices/Morpher.asmx?WSDL):
ด้วยวิธีนี้ คุณสามารถทดสอบบริการใดๆ ที่มีจุดเข้าใช้งานแบบง่ายซึ่งประกอบด้วยพารามิเตอร์ประเภทอย่างง่าย ได้แก่ ตัวเลข วันที่ สตริง
ในระหว่างการประมวลผล คุณยังสามารถระบุข้อมูลเข้าสู่ระบบและรหัสผ่านที่จำเป็นในการอนุญาตการเข้าถึงบริการเว็บได้
สำหรับการดีบักคุณสามารถใช้โปรแกรม SoapUI ซึ่งสามารถส่งคำขอที่กำหนดเองไปยังบริการเว็บและรับการตอบกลับได้
น่าเสียดายที่ SOAP ใน 1C ทำงานค่อนข้างไม่แน่นอนเมื่อทำงานผ่านโปรโตคอล HTTPS การฝึกฝนแสดงให้เห็นว่าเป็นไปไม่ได้ที่จะบรรลุการเชื่อมต่อ HTTPS แม้ว่าจะมีการประกาศความเป็นไปได้ในแพลตฟอร์มก็ตาม การไม่มีเครื่องมือวินิจฉัยและแก้ไขจุดบกพร่องเพื่อค้นหาสาเหตุที่ทำให้การเชื่อมต่อไม่สำเร็จกำลังส่งผลกระทบอย่างหนัก ดังนั้นจึงสะดวกในการใช้ SOAP ผ่าน CURL
กลไกในตัวสำหรับการใช้ HTTPS หมายความว่าใบรับรองทั้งหมดจะต้องเผยแพร่ในไฟล์ pem ทั่วไปในไดเร็กทอรีโปรแกรม 1C
กฎของรูปแบบที่ดีคือการสร้างการดำเนินการในบริการที่แจ้งว่ามีบริการ สิ่งนี้ทำให้ชีวิตง่ายขึ้นสำหรับผู้ประกอบระบบ และจะง่ายขึ้นสำหรับพวกเขาในการตรวจสอบว่ามีการสื่อสารกับบริการหรือไม่
ตัวอย่างเช่น คุณสามารถใช้การดำเนินการ Hello โดยไม่มีพารามิเตอร์ ซึ่งจะคืนค่าบูลีนเป็น True
ขั้นตอนมีการอธิบายไว้อย่างดีในเอกสารประกอบ: file:///C:/Program%20Files/1cv81/AddDoc/RU/V8AddDoc81.htm#_Toc176167634:
งานเผยแพร่บริการบนเว็บอยู่ที่การวางไฟล์การกำหนดค่า *.1cws ของบริการบนเว็บในไดเร็กทอรีที่เหมาะสมของเว็บเซิร์ฟเวอร์พร้อมกับการตั้งค่าที่เหมาะสมสำหรับเว็บเซิร์ฟเวอร์ ในการเผยแพร่บริการบนเว็บ คุณควรดำเนินการคำสั่งเมนู “การดูแลระบบ | การเผยแพร่บริการบนเว็บ”
จากผลของการดำเนินการคำสั่งนี้ หน้าต่างการเผยแพร่บริการบนเว็บจะเปิดขึ้น
หน้าต่างการเผยแพร่บริการบนเว็บประกอบด้วยเส้นทางไปยังเว็บเซิร์ฟเวอร์และสองรายการ:
การใช้ปุ่ม "การเชื่อมต่อ..." คุณต้องระบุเว็บเซิร์ฟเวอร์ที่คุณต้องการเผยแพร่บริการบนเว็บ
หน้าต่างการเลือกเส้นทางเว็บเซิร์ฟเวอร์ช่วยให้คุณสามารถระบุเส้นทางได้สองวิธี:
บริการเว็บที่เลือกจะถูกเผยแพร่โดยใช้ปุ่ม "เผยแพร่"
หากต้องการยกเลิกการเผยแพร่บริการบนเว็บ ให้ใช้ปุ่ม "ลบ"
คุณสามารถเผยแพร่ไปยังไดเร็กทอรีในเครื่องหรือผ่านทาง FTP คุณยังสามารถเผยแพร่ไปยังเซิร์ฟเวอร์ระยะไกลผ่านเส้นทาง UNC ได้หากเซิร์ฟเวอร์ระยะไกลเป็นส่วนหนึ่งของเครือข่ายท้องถิ่น
หลังจากการเผยแพร่ บริการเว็บจะพร้อมใช้งานตามที่อยู่ “http://localhost/test.1cws” หรือ “http://xxx.ru/test.1cws” โดยที่ xxx.ru คือที่อยู่ของเซิร์ฟเวอร์ระยะไกลและ localhost คือที่อยู่ทั่วไปของเซิร์ฟเวอร์ภายในเครื่อง
ในการเข้าถึงบริการคุณต้องผ่านการรับรองความถูกต้อง
ปัญหาการอนุญาตได้รับการแก้ไขอย่างดีที่นี่: 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 เป็นบริการบนเว็บ ให้ใช้การประมวลผล "Test ArbitraryWebService.epf" ตามที่อธิบายไว้ในส่วน "การทดสอบบริการเว็บภายนอกที่ทำงานอยู่"
ไฟล์ 1cws เป็นคำอธิบาย WSDL ของบริการเว็บ 1C
โดยทั่วไปแล้ว บริการค้าปลีกใช้เพื่อให้บริการต่างๆ แก่ประชาชน เช่น การรับชำระเงิน การชำระคืนเงินกู้ การโอนเงิน, ซื้อ ซอฟต์แวร์ฯลฯ
ในกรณีนี้ ใบเสร็จจะถูกสร้างขึ้นใน 1C สำหรับบริการที่มีให้ ซึ่งจะบันทึกพารามิเตอร์ธุรกรรม หลังจากนั้นเช็คนี้จะถูกพิมพ์ไปยังไคลเอนต์ด้วย ข้อมูลรายละเอียดเกี่ยวกับการให้บริการ สามารถพิมพ์เช็คเบื้องต้นเพื่อให้ลูกค้ายืนยันข้อมูลที่ป้อนจากคำพูดของเขาพร้อมลายเซ็นของเขา
บริการสามารถรวมเข้ากับโปรแกรมการขายปลีกที่เขียนด้วยภาษา 1C ได้หลายวิธี (UT, การค้าปลีกและอื่น ๆ ):
หากต้องการเก็บข้อมูลเกี่ยวกับธุรกรรมไว้ในใบเสร็จรับเงิน คุณต้องสร้างส่วนตารางเพิ่มเติม "การขายที่ซับซ้อน" พร้อมรายละเอียด:
ไดเร็กทอรี "การขายที่ซับซ้อน: พารามิเตอร์" มีรายการพารามิเตอร์ธุรกรรม
การใช้ส่วนที่เป็นตารางมีประโยชน์มากกว่าชุดรายละเอียดเพราะว่า ธุรกรรมอาจมีจำนวนมาก และในการตรวจสอบอื่น ๆ ที่ไม่เกี่ยวข้องกับบริการ รายละเอียดเหล่านี้จะไม่ถูกนำมาใช้และจะใช้พื้นที่เพิ่มเติม นอกจากนี้ โซลูชันดังกล่าวยังเป็นสากลสำหรับบริการใดๆ และไม่จำเป็นต้องมีการปรับโครงสร้างข้อมูลใหม่หลังการใช้งานบริการใหม่
ผู้ขายจะได้รับบุ๊กมาร์กแยกต่างหาก (หรือแบบฟอร์มที่พิมพ์ออกมาเพื่อไม่ให้เปลี่ยนการกำหนดค่า) ซึ่งเขาสามารถดูแผ่นรายละเอียดธุรกรรมสำหรับเช็คได้
ลองดูตัวอย่างบริการแบบมีเงื่อนไขของ Paym สำหรับการกำหนดค่า "ขายปลีก"
หากไม่ได้กำหนดบรรทัดการขายที่ซับซ้อน ดังนั้น Product.Name = LP แบบย่อ (Complex Sales Line. Value);
การใช้โปรแกรมที่ทำงานร่วมกับ 1C
XDTO มักใช้ในบริการเว็บ เคล็ดลับและสูตรที่สำคัญที่สุดสำหรับการใช้ XDTO ใน 1C มีดังนี้
XDTO ในแพลตฟอร์ม 1C
แพ็คเกจ XDTO ที่อธิบายไว้ในสาขา "วัตถุ XDTO" ของการกำหนดค่า พร้อมใช้งานสำหรับการสร้างประเภทและวัตถุในโรงงาน XDTO ทั่วโลก สิ่งนี้ไม่ชัดเจนในทันที
บางประเภทในสคีมาไม่มีชื่อ คุณต้องผ่านลำดับชั้นของประเภทเพื่อให้ได้มา
ปัญหาทั่วไปเกี่ยวกับ XDTO รูปแบบ XSD Schema ที่แตกต่างกันในบางรูปแบบ แท็กจะเรียกว่า xs: ในบางรูปแบบ xsd: แต่ 1C เข้าใจทั้งสองรูปแบบอย่างปลอดภัย เมื่อมีสถานการณ์ที่ XSD ถูกนำเข้าไปยัง 1C โดยปกติโดยไม่มีข้อผิดพลาด แต่ไม่ได้สร้างแพ็คเกจเดียว เหตุผลก็คือไม่มีคุณลักษณะ
ที่แท็ก ดังนั้น 1C จึงไม่รู้ว่าจะวางแพ็คเกจใดในไดอะแกรม แต่ก็ไม่ได้สร้างข้อผิดพลาด
สนับสนุนการบริการ
ใน ปีที่ผ่านมาการใช้งาน API และการพึ่งพาบริการเว็บเพิ่มขึ้น นี่คือรายการเครื่องมือทดสอบบริการเว็บ 12 รายการที่จะช่วยคุณได้อย่างมาก
ในช่วงไม่กี่ปีที่ผ่านมา ความนิยมและการใช้บริการเว็บหรือ API เพิ่มขึ้น บริการเว็บหรือ API คือชุดของขั้นตอนหรือส่วนประกอบซอฟต์แวร์ที่ช่วยให้แอปพลิเคชันสื่อสารหรือดำเนินการกระบวนการ/ธุรกรรมบางอย่างโดยสร้างการเชื่อมต่อระหว่างแอปพลิเคชันหรือเซิร์ฟเวอร์อื่น บริการเว็บส่วนใหญ่มีสองประเภท: REST และ SOAP สำหรับการถ่ายโอนข้อมูลและข้อมูลผ่านอินเทอร์เน็ตโปรโตคอล
เนื่องจากบริการเว็บเหล่านี้มีให้บริการบนอินเทอร์เน็ตและกระจายไปตามเครือข่ายต่างๆ บริการเหล่านี้จึงเสี่ยงต่อไวรัสและภัยคุกคามความปลอดภัยที่ส่งผลต่อกระบวนการที่ต้องพึ่งพาบริการเหล่านี้ ดังนั้นการทดสอบบริการเว็บหรือ API จึงจำเป็นเพื่อให้แน่ใจว่าทำงานได้อย่างถูกต้องและตอบสนองต่อคำขอได้อย่างถูกต้อง การทดสอบซอฟต์แวร์เป็นพื้นที่ที่น่าสนใจในสาขาไอที คุณสามารถรับความรู้ที่จำเป็นได้ที่
มีเครื่องมือทดสอบเชิงพาณิชย์และฟรีมากมายในตลาดเพื่อทดสอบการเชื่อมต่อ การตอบสนอง และประสิทธิภาพ เครื่องมือทดสอบเหล่านี้ทำการทดสอบอัตโนมัติสำหรับสถานการณ์เฉพาะ เช่น การทดสอบการทำงาน การทดสอบโหลด การทดสอบประสิทธิภาพ ฯลฯ
ต่อไปนี้เป็นเครื่องมือทดสอบบริการเว็บที่ยอดเยี่ยม 12 ข้อที่คุณควรพิจารณาสำหรับข้อกำหนดการทดสอบ API หรือบริการเว็บของคุณ:
SoapUI เป็นเครื่องมือทดสอบข้ามแพลตฟอร์มแบบโอเพ่นซอร์ส โดยสามารถทำการทดสอบการทำงาน การถดถอย ความสอดคล้อง และโหลดของทั้งบริการ SOAP และ REST ได้โดยอัตโนมัติ ใช้งานง่ายและรองรับเทคโนโลยีและมาตรฐานขั้นสูงสำหรับการสร้างแบบจำลองและจูงใจพฤติกรรมบริการเว็บ
TestingWhiz เป็นเครื่องมือทดสอบอัตโนมัติแบบ “ไร้โค้ด” ที่เข้ากันได้กับ API/บริการบนเว็บ ช่วยให้คุณสามารถดำเนินการทดสอบการทำงาน การทำงานร่วมกัน และโหลด และทำงานกับบริการเว็บ REST และ SOAP ผ่านอินเทอร์เฟซ WSDL ผ่าน HTTP และ FTP
SOAPSonar ให้การทดสอบบริการเว็บแบบ end-to-end สำหรับ HTML, XML, SOAP, REST และ JSON ให้การทดสอบการทำงาน ประสิทธิภาพ ความเข้ากันได้ และความปลอดภัยโดยใช้มาตรฐาน OASIS และ W3C
SOAtest เป็นเครื่องมือสำหรับการทดสอบและตรวจสอบ API และแอปพลิเคชันที่ขับเคลื่อนด้วย API โดยให้การสนับสนุนบล็อกฟังก์ชันที่แข็งแกร่ง การผสานรวม ความปลอดภัย การจำลอง การทดสอบโหลดโดยใช้เทคโนโลยี เช่น REST, JSON, MQ, JMS, TIBCO, HTTP และ XML
TestMaker เป็นเครื่องมือโอเพ่นซอร์สสำหรับการทดสอบและตรวจสอบประสิทธิภาพของบริการเว็บและแอปพลิเคชัน SOA โดยใช้ PushtoTest มันทำงานบน Jython (Python เขียนด้วยภาษา Java) TestMaker สามารถนำการทดสอบ Selenium, การทดสอบ SoapUI, การทดสอบ Sahi หรือการทดสอบใดๆ ที่เขียนด้วย Groovy, Java, Python, PHP, Ruby และ Perl มาใช้ใหม่ให้เป็นการทดสอบการทำงานและโหลด
Postman เป็นอีกหนึ่งเครื่องมือทดสอบ API/บริการเว็บที่มีการรองรับไคลเอ็นต์ HTTP ที่มีประสิทธิภาพ มีตัวสร้างคิวรีที่ใช้งานง่ายซึ่งช่วยให้คุณเขียนกรณีทดสอบและจัดการข้อมูลตอบกลับและเวลาตอบกลับเพื่อการทดสอบและการจัดการกรณีทดสอบ API ที่มีประสิทธิภาพ
VRest เป็นเครื่องมือที่ออกแบบมาสำหรับการทดสอบ เปรียบเทียบ REST APIS และบริการบนเว็บ นอกจากนี้ยังรองรับการทดสอบแอปพลิเคชันเว็บ อุปกรณ์เคลื่อนที่ และเดสก์ท็อปที่มีการโต้ตอบกับ API หรือบริการ HTTP ของบริษัทอื่น
HttpMaster เป็นอีกหนึ่งเครื่องมือพิเศษสำหรับการทดสอบบริการเว็บ REST ช่วยให้ผู้ทดสอบทดสอบพฤติกรรมของ REST API และตรวจสอบความถูกต้องของเอาต์พุตในรูปแบบ เช่น XML, JSON และ HTML ด้วยเครื่องมือ HTTP สากล HttpMaster ยังช่วยนักพัฒนาจำลองกิจกรรมไคลเอนต์และพฤติกรรมการตอบสนองของแอปพลิเคชัน API
Runscope เป็นเครื่องมือง่ายๆ สำหรับการทดสอบและติดตามประสิทธิภาพของ API Runscope ยังรองรับการทดสอบ API และแบ็กเอนด์ของแอปพลิเคชันมือถือ
Rapise เป็นเครื่องมืออัตโนมัติที่มีประสิทธิภาพพร้อมคุณสมบัติที่ทรงพลังและขยายได้ ขึ้นอยู่กับสถาปัตยกรรมแบบเปิดและยืดหยุ่นสำหรับการทดสอบการทำงานที่รวดเร็วของบริการเว็บ REST/SOAP Rapise ยังให้การสนับสนุนสำหรับการทดสอบแอปพลิเคชันเว็บที่ฝังอยู่ใน Java, .NET, Ajax, Silverlight และ Flash
WebInject เป็นเครื่องมือฟรีสำหรับการทดสอบการทำงาน การยอมรับ และการถดถอยของบริการเว็บแบบอัตโนมัติ เป็นเครื่องมือบรรทัดคำสั่งและอิงตาม Perl ซึ่งทำให้เรียกใช้การทดสอบได้ง่ายขึ้น เนื่องจากไม่จำเป็นต้องใช้เวลากับบรรทัดคำสั่ง นอกจากนี้ยังไม่มีอินเทอร์เฟซ IDE ซึ่งหมายความว่าการทดสอบจะถูกเขียนจากภายนอก ส่วนต่อประสานกับผู้ใช้ Webฉีด. สามารถทำงานบนแพลตฟอร์มที่มีล่าม Perl
สุดท้ายนี้ Storm เป็นอีกหนึ่งเครื่องมือโอเพ่นซอร์สจาก CodePlex สำหรับทดสอบบริการเว็บที่เขียนด้วย Java หรือ .NET ปัจจุบันรองรับเฉพาะบริการเว็บ SOAP เท่านั้น
แน่นอนว่ารายการไม่ได้จบเพียงแค่นี้ เนื่องจากมีเครื่องมือมากมายสำหรับการทดสอบบริการเว็บ
ลงทะเบียนตอนนี้หรือขอโทรพร้อมรับคำปรึกษาฟรี!
ปัจจุบันเป็นเรื่องยากที่แอปพลิเคชันสมัยใหม่จะทำงานโดยไม่มี API สิ่งนี้เป็นจริงทั้งสำหรับเว็บไซต์ธรรมดาและระบบกระจายที่มีโหลดสูง การทดสอบ API เป็นหนึ่งในงานหลักในกระบวนการประกันคุณภาพ ไม่ใช่เรื่องน่าแปลกใจที่ความต้องการผู้ทดสอบที่รู้วิธีทดสอบ API เพิ่มขึ้นทุกวัน ในหลักสูตรนี้ คุณจะได้รับความเข้าใจเกี่ยวกับวิธีการ เครื่องมือ และแนวทางในการทดสอบ API และได้รับความรู้ที่จำเป็น ซึ่งจะส่งผลเชิงบวกต่อคุณค่าของคุณในฐานะผู้เชี่ยวชาญด้านการทดสอบอย่างไม่ต้องสงสัย
หลักสูตรนี้จะเป็นประโยชน์สำหรับนักเรียนที่คุ้นเคยกับพื้นฐานการทดสอบซอฟต์แวร์ที่ต้องการเติบโตและพัฒนาทักษะของตนเอง
โปรแกรมหลักสูตร:
บทที่ 1 เบื้องต้น. โปรโตคอลสบู่
บทที่ 2: โปรโตคอล SOAP สถาปัตยกรรมส่วนที่เหลือ
บทที่ 3 การแนะนำ SoapUI การทำงานกับโปรเจ็กต์ REST
บทที่ 4 การทำงานกับโครงการ REST (XML)
บทที่ 5 การทำงานกับโครงการ REST (JSON)
บทที่ 6 การทำงานกับสคริปต์ Groovy
บทที่ 7 คุณสมบัติเพิ่มเติม