Khi bạn có một mảng chứa nhiều phần tử (một danh sách nội dung cụ thể hoặc một danh sách thu được từ các bước trước đó), và bạn cần thực hiện cùng một thao tác trên từng mục trong danh sách (ví dụ: trước tiên lấy danh sách sản phẩm, sau đó thêm từng sản phẩm trong danh sách vào giỏ hàng), bạn cần sử dụng vòng lặp ForEach.Trong vòng lặp ForEach, các thao tác bên trong vòng lặp sẽ được thực thi cho từng phần tử trong mảng.Điểm khác biệt so với vòng lặp For là bạn không cần quan tâm đến số lần lặp; bạn chỉ cần tập trung vào nội dung của mảng dùng để lặp.Thiết lập mảng lặp: Trong vòng lặp ForEach, bạn cần thiết lập một mảng làm đối tượng lặp. Bạn có thể sử dụng một biến hoặc nhập thủ công một mảng, chẳng hạn như ["a","b","c"].
Thêm yêu cầu: Trong vòng lặp ForEach, bạn có thể thêm một hoặc nhiều yêu cầu, hoặc thêm các vòng lặp khác hay các nhánh điều kiện, v.v.
Điều kiện Break If và xử lý On Error: Bạn có thể thêm Break if và On error vào vòng lặp ForEach, nhất quán với vòng lặp for đã đề cập ở trên.
Trong cài đặt nâng cao c ủa vòng lặp ForEach, bạn cũng có thể tùy chỉnh các tùy chọn xử lý ngoại lệ cho Break If và On Error. Để biết thêm thông tin, hãy xem Quy tắc phán định.
Ví dụ sử dụng ForEach#
Hãy xem xét hai endpoint: một endpoint để truy xuất danh sách thông tin thú cưng và một endpoint khác để lấy thông tin chi tiết của một thú cưng riêng lẻ. Nếu bạn cần lấy thông tin chi tiết của một thú cưng vừa được thêm vào danh sách gần đây, bạn có thể thiết lập kịch bản này bằng vòng lặp ForEach trong kiểm thử tự động.1.
Bước đầu tiên bên ngoài vòng lặp ForEach sẽ là yêu cầu endpoint danh sách thông tin thú cưng để truy xuất dữ liệu danh sách thực tế. Thông thường, phản hồi của interface này chứa một mảng với thông tin cơ bản về nhiều thú cưng, chẳng hạn như ID và tên thú cưng.
2.
Thiết lập một vòng lặp ForEach với mảng nguồn là một tập con của mảng thú cưng từ phản h ồi của bước trước đó.
3.
Trong vòng lặp, thiết lập một yêu cầu đến endpoint "Get Pet Information" và sử dụng giá trị phần tử từ vòng lặp ForEach để điền tham số ID trong yêu cầu này.
Sử dụng phần tử vòng lặp trong các yêu cầu#
Phần tử/chỉ mục hiện tại của vòng lặp có thể được sử dụng như một biến cục bộ trong các yêu cầu để điều chỉnh động các tham số hoặc body của yêu cầu. Để sử dụng tính năng này:1
Thêm một vòng lặp ForEach và bao gồm một yêu cầu trong vòng lặp.
2
Nhấp vào biểu tượng
đũa thần trong tham số của yêu cầu và chọn “Retrieve pre-step data.”
3
Chọn tùy chọn vòng lặp, thường được gắn nhãn là “Loop each element in
{{array}}.”
4
Chọn “Current loop element.” Bạn có thể sử dụng JSONPath để trích xuất các thuộc tính của phần tử.
5
Bạn sẽ nhận được một biến động như
{{$.17.element}}. Nhấp vào "Insert", và biến này sẽ được thay thế khi chạy bằng phần tử hiện tại của vòng lặp, là một phần tử của mảng lặp.
Phần tử vòng lặp hiện tại: Hệ thống tự động trích xuất các phần tử từ mảng được chỉ định trong vòng lặp ForEach và lưu chúng vào biến được chỉ định. Khi bắt đầu mỗi lần lặp, biến này được cập nhật bằng giá trị của phần tử hiện tại từ mảng. Nếu phần tử là một đối tượng, bạn có thể sử dụng JSONPath để trích xuất một trường con cụ thể, chẳng hạn như {{$.1.element.data.name}}.Chỉ mục vòng lặp hiện tại: Chỉ mục của vòng lặp hiện tại được lưu trong biến này. Nó bắt đầu từ 0 và tăng thêm 1 ở đầu mỗi lần lặp tiếp theo, phản ánh chỉ mục hiện tại.