Я успешно разрабатываю интеграционные тесты с Puppeteer для приложения Nodejs с Reactjs, но я столкнулся с проблемой, когда хочу проверить ввод на разных входах.
У меня есть ввод для заголовка,другой для темы, тела письма и получателя электронной почты, но все они являются входными данными без привязанного к ним класса, вместо этого у них есть имя, связанное с ними, например:
<input name="title"...
<input name="subject"...
<input name="body"...
и т. Д.
Могу ли я получить этот атрибут name
и, если да, каков его синтаксис, чтобы я мог проверитьвводя эти входные данные.
Это мой тест на данный момент:
describe('And using valid inputs', async () => {
beforeEach(async () => {
await page.type('input', 'My Title')
})
test('Submitting takes user to review screen', async () => {
})
test('Submitting then saving adds survey to index page', async () => {
})
})
describe("And using invalid inputs", async () => {
beforeEach(async () => {
await page.click("form button.teal");
});
test("the form shows an error message", async () => {
const inputError = await page.getContentsOf(".red-text");
expect(inputError).toEqual("You must provide a value");
});
});
Как вы можете видеть, я успешно воспользовался элементом form
и классами для недопустимых входных данных, но теперь мне нужночтобы иметь возможность различать типы ввода для успешного завершения правильного набора элементов ввода, это само по себе await page.type('input', 'My Title')
Я не думаю, что будет работать.Как Puppeteer узнает, какой тип ввода я имею в виду?