Bỏ qua, đến nội dung

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ệnhTạo ra
inputRandomEmailMột địa chỉ e-mail
inputRandomPersonNameTên một người
inputRandomNumberMột số
inputRandomTextVăn bản ngẫu nhiên
yaml
- tapOn: "Email"
- inputRandomEmail
- tapOn: "Name"
- inputRandomPersonName

Cá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:

yaml
- 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:

javascript
// 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()
};
yaml
- runScript: randomUser.js
- inputText: ${output.user.email}