Я пытаюсь протестировать проект с Selenium и Jasmine, и мне просто интересно, могу ли я найти все свои элементы, не набирая await
50 раз в describe
. Некоторые вещи в JavaScript кажутся нелогичными, как, например, необходимость использовать async
в функции для синхронизации.
describe('test layout of home page', () => {
beforeEach(async () => {
await this.browser = new selenium.Builder().withCapabilities(
selenium.Capabilities.chrome()).build()
})
afterEach(async () => {
await this.browser.quit()
})
it('should test the layout of the home page', async () => {
await this.browser.get('my-page')
expect(await this.browser.getTitle())
.toBe('My Title')
let element1 = await this.browser.findElement(By.css('#element1'))
expect(element1).toBe('something')
let element2 = await this.browser.findElement(By.css('#element2'))
expect(element2).toBeGreaterThan('something else')
let element3 = await this.browser.findElement(By.css('#element3'))
expect(element3).toBeGreaterThan('something else')
let element4 = await this.browser.findElement(By.css('#element4'))
expect(element4).toBeGreaterThan('something else')
// used 'async' 3 times and 'await' 8 times
Если с тестом все в порядке, вам не нужно его использовать так часто. Но если вы TDD -ing, вы не получите никаких отзывов о том, что он не может найти. Есть ли способ заставить это работать без ввода await для всего?