目前,我正在開展一個專案,我們必須創建用戶并為這些用戶進行測驗。我正在使用faker生成用戶名、姓氏和其他資料。我想用這些詳細資訊創建一個用戶并將它們保存在一個變數中,然后使用它們呼叫測驗。
我嘗試了許多方法,例如從函式呼叫它們,從另一個測驗呼叫,但我未能將創建的資料傳遞給另一個測驗。
創建用戶
fixture "Create test data and pass them to the other tests"
.page('url')
.beforeEach(async (t) => {
await t
.typeText("#txtUserName", 'username')
.typeText("#txtPassword", 'password')
.click("#btnLogin");
});
test("Create test data for add family tests", async (t) => {
await add_bulk_action_page.clickBulkActionButton();
await add_bulk_action_page.clickAddFamilyButton();
await add_family_page.selectCentre(<string>userVariables.defaultCentreName);
var guardianFirstName = await add_family_page.typeGuardianFirstName(
await getFirstName()
);
var guardianLastName = await add_family_page.typeGuardianLastName(
await getLastName()
);
await add_family_page.clickAddFamilyButton();
});
在同一個檔案中呼叫這個測驗
test("Access created test data", async (t) => {
await family_list_page.typeSearchText(guardianFirstName);
await family_list_page.typeSearchText(guardianLastName);
});
我不能提供比這些代碼段更多的內容。我很抱歉!希望這很清楚。
資料驅動的測驗在這件事上并不方便,因為我們正在創建太多的用戶。
請幫我
uj5u.com熱心網友回復:
沒有一個例子,很難準確地說出什么。請創建一個簡單的示例來演示該問題。
通常,您需要將測驗資料與測驗檔案分開創建。你可以
- 存盤或生成整套測驗資料并將其匯入測驗檔案
- 創建一個函式,根據需求生成有關假用戶的資訊并在測驗中使用它。
請參見以下示例:
測驗.js
import { users, createFakeUser } from './test-data';
fixture`fixture`
.page`http://localhost/testcafe/index4.html`;
test('data object', async t => {
for (let user of users) {
await t
.typeText('#name', user.name, { replace: true })
.typeText('#email', user.email, { replace: true });
}
});
test('function to get data', async t => {
const user = createFakeUser();
await t
.typeText('#name', user.name)
.typeText('#email', user.email);
});
測驗資料.js
import { faker } from '@faker-js/faker';
export function createFakeUser () {
return {
name: faker.name.findName(),
email: faker.internet.email()
}
}
export const users = [
createFakeUser(),
createFakeUser()
];
查看有關在 TestCafe 中使用基于資料的測驗的更多資訊:
- Randomize Your End-to-End Tests (using TestCafe with Faker)
- Data-driven tests
- Parameterized tests
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/441635.html
