Tạo dữ liệu giả lập
Tạo dữ liệu test ngẫu nhiên bằng đối tượng faker có sẵn cho tên, email, số.
Dữ liệu test ngẫu nhiên giúp bạn vượt qua các ràng buộc trường duy nhất, như form đăng ký, mà không phải gõ giá trị mới bằng tay mỗi lần.
Lưu ý: đối tượng faker không có
Maestro cung cấp đối tượng global faker bao thư viện DataFaker (faker.name().firstName() và các lời gọi tương tự). maestro-runner, và do đó Astra Scout, không có đối tượng này. Một flow gọi faker sẽ JavaScript error. Hãy dùng một trong các lựa chọn dưới đây.
Lệnh nhập ngẫu nhiên có sẵn
Với các trường hợp phổ biến nhất, dùng các lệnh chuyên dụng. Mỗi lệnh gõ một giá trị ngẫu nhiên vào ô đang focus:
| Lệnh | Tạo ra |
|---|---|
inputRandomEmail | Một địa chỉ e-mail |
inputRandomPersonName | Tên một người |
inputRandomNumber | Một số |
inputRandomText | Văn bản ngẫu nhiên |
- tapOn: "Email"
- inputRandomEmail
- tapOn: "Name"
- inputRandomPersonNameCác lệnh này gõ giá trị nhưng không trả nó về cho flow. Nếu cần gõ lại cùng giá trị đó sau này, ví dụ để đăng nhập bằng tài khoản vừa tạo, hãy tạo giá trị trong JavaScript và giữ nó trong output.
Tạo giá trị trong JavaScript
JavaScript thuần là đủ cho định danh duy nhất, số và ngày tháng. Lưu kết quả vào output để các step sau tái sử dụng:
- evalScript: ${output.suffix = Math.floor(Math.random() * 100000)}
- evalScript: ${output.email = 'qa+' + output.suffix + '@example.com'}
- tapOn: "Email"
- inputText: ${output.email}
# ... về sau trong flow
- assertVisible: ${output.email}Với logic dài hơn, đặt nó vào một script và chạy bằng runScript:
// randomUser.js
const chars = 'abcdefghijklmnopqrstuvwxyz';
let name = '';
for (let i = 0; i < 8; i++) {
name += chars.charAt(Math.floor(Math.random() * chars.length));
}
output.user = {
name: name,
email: name + '@example.com',
timestamp: new Date().getTime()
};- runScript: randomUser.js
- inputText: ${output.user.email}Nội dung liên quan
- Quản lý dữ liệu và trạng thái: chia sẻ giá trị đã tạo bằng đối tượng
output. - Chạy và debug JavaScript: ba cách chạy JavaScript trong flow.
