ทดสอบ Mace เริ่มต้นอย่างรวดเร็ว

ทดสอบ Mace เริ่มต้นอย่างรวดเร็ว

สวัสดีทุกคน. เรากำลังค่อยๆ โผล่ออกมาจากเงามืดและดำเนินบทความเกี่ยวกับผลิตภัณฑ์ของเราต่อไป หลังจาก ก่อน บทความทบทวน เราได้รับข้อเสนอแนะมากมาย (ส่วนใหญ่เป็นเชิงบวก) คำแนะนำ และรายงานข้อบกพร่อง วันนี้เราจะมาแสดง ทดสอบ Mace ในทางปฏิบัติแล้วคุณจะสามารถชื่นชมคุณสมบัติบางอย่างของแอปพลิเคชันของเรา เพื่อการดื่มด่ำที่สมบูรณ์ยิ่งขึ้น ฉันขอแนะนำให้คุณดูเอกสารของเราที่ http://docs-ru.testmace.com. งั้นไปกัน!

การติดตั้ง

เริ่มต้นด้วยความซ้ำซากจำเจ แอปพลิเคชั่นนี้พร้อมใช้งานและทดสอบจริงบนสามแพลตฟอร์ม - Linux, Windows, MacOS คุณสามารถดาวน์โหลดตัวติดตั้งสำหรับระบบปฏิบัติการที่คุณสนใจได้ เว็บไซต์ของเรา. สำหรับผู้ใช้ Linux สามารถติดตั้งได้ สแน็ปแพ็คเกจ. เราหวังเป็นอย่างยิ่งว่า Microsoft Store และ App Store จะเข้ามาใช้งานได้เร็วๆ นี้ (จำเป็นไหม คุณคิดอย่างไร)

สถานการณ์การทดลอง

เราเลือกสถานการณ์มาตรฐานต่อไปนี้เป็นหัวข้อทดสอบของเรา:

  • เข้าสู่ระบบ: ผู้ใช้ - ผู้ดูแลระบบ, รหัสผ่าน - รหัสผ่าน
  • เพิ่มรายการใหม่
  • มาตรวจสอบว่าเพิ่มบันทึกอย่างถูกต้องแล้ว

เราจะทดสอบต่อไป https://testmace-quick-start.herokuapp.com/. นี่เป็นปกติ เซิร์ฟเวอร์ jsonเหมาะสำหรับการทดสอบแอปพลิเคชันดังกล่าว เราเพิ่งเพิ่มการอนุญาตด้วยโทเค็นไปยังเส้นทาง json-server ทั้งหมด และสร้างวิธีการเข้าสู่ระบบเพื่อรับโทเค็นนี้ เราจะก้าวไปข้างหน้า ค่อยๆ ปรับปรุงโครงการของเรา

การสร้างโครงการและพยายามสร้างเอนทิตีโดยไม่ได้รับอนุญาต

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

  • ประเภทคำขอ: POST
  • URL: https://testmace-quick-start.herokuapp.com/posts
  • เนื้อหาคำขอ: json พร้อมค่า {"title": "New testmace quick start post"}
    หากคุณทำทุกอย่างถูกต้องอินเทอร์เฟซจะมีลักษณะดังนี้:

ทดสอบ Mace เริ่มต้นอย่างรวดเร็ว

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

การเพิ่มคำขออนุญาต

ดังที่ได้กล่าวไปแล้ว เรามีจุดสิ้นสุด POST /loginซึ่งใช้ json เป็นเนื้อหาคำขอของแบบฟอร์ม: {"username": "<username>", "password": "<password>"}ที่ไหน username и password (อีกครั้งจากย่อหน้าเบื้องต้นด้านบน) มีความหมาย admin и password ตามลำดับ ในการตอบสนอง จุดสิ้นสุดนี้จะส่งคืน json เหมือนกับ {"token": "<token>"}. เราจะใช้เพื่อการอนุญาต มาสร้างกันเถอะ ขั้นตอนคำขอ โหนดที่มีชื่อ เข้าสู่ระบบจะทำหน้าที่เป็นบรรพบุรุษ โครงการ โหนด ใช้การลากและวาง ย้ายโหนดที่กำหนดในแผนผังให้สูงกว่าโหนด สร้างโพสต์. มาตั้งค่าพารามิเตอร์ต่อไปนี้เป็นคำขอที่สร้างขึ้นใหม่:

มาดำเนินการตามคำขอและรับรหัสที่สองในร้อยพร้อมโทเค็นในการตอบกลับ บางสิ่งเช่นนี้:

ทดสอบ Mace เริ่มต้นอย่างรวดเร็ว

การปรับโครงสร้างใหม่: การลบโดเมนที่ซ้ำกัน

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

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

มากำหนดตัวแปรในระดับโหนดโครงการกัน domain ด้วยความหมาย https://testmace-quick-start.herokuapp.com. สำหรับสิ่งนี้มีความจำเป็น

  • เปิดแท็บด้วยโหนดนี้แล้วคลิกไอคอนเครื่องคิดเลขที่มุมขวาบน
  • คลิกที่ + เพิ่มตัวแปร
  • ป้อนชื่อตัวแปรและค่า
    ในกรณีของเรา กล่องโต้ตอบที่มีตัวแปรที่เพิ่มเข้ามาจะมีลักษณะดังนี้:

ทดสอบ Mace เริ่มต้นอย่างรวดเร็ว

ตกลง. ตอนนี้ เนื่องจากการสืบทอด เราสามารถใช้ตัวแปรนี้ในลูกหลานของระดับการซ้อนใดๆ ได้ ในกรณีของเรานี่คือโหนด เข้าสู่ระบบ и สร้างโพสต์. หากต้องการใช้ตัวแปรในช่องข้อความ คุณต้องเขียน ${<variable_name>}. ตัวอย่างเช่น URL สำหรับเข้าสู่ระบบจะถูกแปลงเป็น ${domain}/loginตามลำดับสำหรับ สร้างโพสต์ url ของโหนดจะมีลักษณะดังนี้ ${domain}/posts.

ดังนั้น ตามหลักการ DRY เราได้ปรับปรุงสถานการณ์เล็กน้อย

บันทึกโทเค็นลงในตัวแปร

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

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

  • เส้นทาง — ส่วนใดของคำตอบที่ได้รับ (ในกรณีของเราคือ body.token)
  • ค่าปัจจุบัน — ค่าใดที่อยู่ตามเส้นทาง (ในกรณีของเรานี่คือค่าโทเค็น)
  • ชื่อตัวแปร — ชื่อของตัวแปรที่ ค่าปัจจุบัน จะถูกเก็บรักษาไว้ ในกรณีของเรามันจะเป็น token
  • โหนด — ตัวแปรจะถูกสร้างขึ้นในบรรพบุรุษคนใด ชื่อตัวแปร. มาเลือกโครงการกัน

กล่องโต้ตอบที่เสร็จสมบูรณ์มีลักษณะดังนี้:

ทดสอบ Mace เริ่มต้นอย่างรวดเร็ว

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

ในการเข้าถึงตัวแปรไดนามิก คุณต้องใช้ ตัวแปรในตัว $dynamicVar. ตัวอย่างเช่น หากต้องการเข้าถึงโทเค็นที่เก็บไว้ คุณต้องโทร ${$dynamicVar.token}.

เราส่งโทเค็นการอนุญาตไปยังคำขอ

ในขั้นตอนก่อนหน้านี้ เราได้รับโทเค็นการอนุญาต และสิ่งที่เราต้องทำคือเพิ่มส่วนหัว Authorization ด้วยความหมาย Bearer <tokenValue> ในการร้องขอทั้งหมดที่ต้องได้รับอนุญาตรวมทั้ง สร้างโพสต์. มีหลายวิธีในการทำเช่นนี้:

  1. คัดลอกโทเค็นด้วยตนเองและเพิ่มส่วนหัวการให้สิทธิ์ให้กับคำขอที่สนใจ วิธีการนี้ใช้งานได้ แต่การใช้งานนั้นจำกัดเฉพาะคำขอประเภท "ทำแล้วโยนทิ้ง" เท่านั้น ไม่เหมาะสำหรับการเรียกใช้สคริปต์ซ้ำๆ
  2. ใช้ฟังก์ชันการทำงาน การอนุญาต.
  3. ที่จะใช้ ส่วนหัวเริ่มต้น

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

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

ก่อนหน้านี้ เราได้บันทึกโทเค็นลงในตัวแปรไดนามิกอย่างรอบคอบ $dynamicVar.token ที่ระดับโหนดโครงการ สิ่งที่เหลืออยู่คือทำสิ่งต่อไปนี้:

  1. กำหนดชื่อเริ่มต้น Authorization ด้วยความหมาย Bearer ${$dynamicVar.token} ที่ระดับโหนดโครงการ ในการดำเนินการนี้ในอินเทอร์เฟซโครงการของโหนด คุณต้องเปิดกล่องโต้ตอบพร้อมส่วนหัวเริ่มต้น (ปุ่ม ส่วนหัว ที่มุมขวาบน) และเพิ่มชื่อที่เกี่ยวข้อง กล่องโต้ตอบที่มีค่าที่กรอกจะมีลักษณะดังนี้:
    ทดสอบ Mace เริ่มต้นอย่างรวดเร็ว
  2. ปิดการใช้งานส่วนหัวนี้จากคำขอเข้าสู่ระบบ สิ่งนี้เป็นสิ่งที่เข้าใจได้: ในขณะที่เข้าสู่ระบบ เรายังไม่มีโทเค็น และเราจะติดตั้งพร้อมกับคำขอนี้ ดังนั้นในอินเทอร์เฟซการเข้าสู่ระบบของคำขอในแท็บ ส่วนหัว вобласти รับการถ่ายทอด ยกเลิกการเลือกส่วนหัวการอนุญาต

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

ตรวจสอบความถูกต้องของการสร้างโพสต์

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

  • ส่งคำขอเพื่อรับโพสต์โดย id
  • ตรวจสอบว่าชื่อที่ได้รับจากเซิร์ฟเวอร์ตรงกับชื่อที่ส่งเมื่อสร้างโพสต์

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

  • ประเภทคำขอ: GET
  • URL: ${domain}/posts/${$dynamicVar.postId}

เพื่อดำเนินการขั้นตอนที่ 2 เราจำเป็นต้องทำความคุ้นเคย การยืนยัน ปม โหนดการยืนยันเป็นโหนดที่ช่วยให้คุณสามารถเขียนเช็คสำหรับคำขอเฉพาะได้ แต่ละโหนดการยืนยันสามารถมีการยืนยันได้หลายรายการ (เช็ค) คุณสามารถอ่านเพิ่มเติมเกี่ยวกับการยืนยันทุกประเภทได้จากเรา เอกสาร. เราจะใช้ Compare การยืนยันกับผู้ปฏิบัติงาน equal. มีหลายวิธีในการสร้างการยืนยัน:

  1. ยาว. สร้างโหนดการยืนยันด้วยตนเองจากเมนูบริบทของโหนด RequestStep ในโหนดการยืนยันที่สร้างขึ้น ให้เพิ่มการยืนยันความสนใจและกรอกข้อมูลในฟิลด์
  2. เร็ว. สร้างโหนดการยืนยันพร้อมกับการยืนยันจากการตอบสนองของโหนด RequestStep โดยใช้เมนูบริบท

ลองใช้วิธีที่สอง กรณีของเราก็จะหน้าตาประมาณนี้

ทดสอบ Mace เริ่มต้นอย่างรวดเร็ว

สำหรับผู้ที่ไม่เข้าใจ นี่คือสิ่งที่เกิดขึ้น:

  1. ทำการร้องขอในโหนด รับโพสต์
  2. ในแท็บ แยกวิเคราะห์ รับสายเรียกเมนูบริบทแล้วเลือก สร้างการยืนยัน -> เปรียบเทียบ -> เท่ากัน

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

ข้อสรุป

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

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

ที่มา: will.com

เพิ่มความคิดเห็น