如何通过 cypress javascript 数据验证?
how to javascript data validation by cypress?
我有一个列表,其中列出了从 javascript 获得的信息。如何通过 cypress 验证 javascript 数据。我正在尝试自动化一个项目。附件是功能截图。
如何 javascript 通过 cypress 进行数据验证?
您可以直接使用 eq
-
直接断言任何大陆
cy.get('.location-selector ul li a').eq(0).should('have.text', 'North America')
cy.get('.location-selector ul li a').eq(1).should('have.text', 'South America')
如果你想断言所有大陆,你也可以使用 each
并验证 -
var continents = [
'North America',
'South America',
'Europe',
'Asia',
'Australia/NZ',
'Middle East/Africa',
]
cy.get('.location-selector ul li a').each(($ele, index) => {
expect($ele.text().trim()).to.equal(continents[index])
})
测试通常应该按照您手动测试页面的方式进行,例如在第一次加载时“北美”是活动页面,因此测试 link 是否处于活动状态。
然后测试内容是否正确,包括标题和图片,然后转到其他选项卡。
一个例子,
cy.visit('https://my-vacation.com/home')
cy.contains('a.js-tab-links', 'North America')
.should('have.class', 'active') // this link is active after loading
// Titles on the page
cy.contains('Galveston Vacation Rentals')
cy.contains('Sedona Vacation Rentals')
// ... same for remaining titles
// Images on the page
cy.get('img[src="galveston-island-historic-pleasure-pier.jpg"]')
// ... same for other images
// Other tabs
cy.contains('a.js-tab-links', 'South America')
.click() // activate this tab
.should('have.class', 'active')
// Titles on the page
cy.contains('Peru Vacation Rentals')
cy.contains('Argentina Vacation Rentals')
// ... same for remaining titles
// Images on the page
cy.get('img[src="machu-pichu.jpg"]')
// ... same for other images
您可以将其分解,以便每个部分都有自己的测试
before(() => {
cy.visit('my-vacation.html') // visit once before all the tests
})
it('North America', () => {
cy.contains('a.js-tab-links', 'North America')
.should('have.class', 'active') // this link is active after loading
// Titles on the page
cy.contains('Galveston Vacation Rentals')
cy.contains('Sedona Vacation Rentals')
// ... same for remaining titles
// Images on the page
cy.get('img[src="galveston-island-historic-pleasure-pier.jpg"]')
// ... same for other images
})
it('South America', () => {
cy.contains('a.js-tab-links', 'South America')
.click() // activate this tab
.should('have.class', 'active')
// Titles on the page
cy.contains('Peru Vacation Rentals')
cy.contains('Argentina Vacation Rentals')
// ... same for remaining titles
// Images on the page
cy.get('img[src="machu-pichu.jpg"]')
// ... same for other images
})
我有一个列表,其中列出了从 javascript 获得的信息。如何通过 cypress 验证 javascript 数据。我正在尝试自动化一个项目。附件是功能截图。 如何 javascript 通过 cypress 进行数据验证?
您可以直接使用 eq
-
cy.get('.location-selector ul li a').eq(0).should('have.text', 'North America')
cy.get('.location-selector ul li a').eq(1).should('have.text', 'South America')
如果你想断言所有大陆,你也可以使用 each
并验证 -
var continents = [
'North America',
'South America',
'Europe',
'Asia',
'Australia/NZ',
'Middle East/Africa',
]
cy.get('.location-selector ul li a').each(($ele, index) => {
expect($ele.text().trim()).to.equal(continents[index])
})
测试通常应该按照您手动测试页面的方式进行,例如在第一次加载时“北美”是活动页面,因此测试 link 是否处于活动状态。
然后测试内容是否正确,包括标题和图片,然后转到其他选项卡。
一个例子,
cy.visit('https://my-vacation.com/home')
cy.contains('a.js-tab-links', 'North America')
.should('have.class', 'active') // this link is active after loading
// Titles on the page
cy.contains('Galveston Vacation Rentals')
cy.contains('Sedona Vacation Rentals')
// ... same for remaining titles
// Images on the page
cy.get('img[src="galveston-island-historic-pleasure-pier.jpg"]')
// ... same for other images
// Other tabs
cy.contains('a.js-tab-links', 'South America')
.click() // activate this tab
.should('have.class', 'active')
// Titles on the page
cy.contains('Peru Vacation Rentals')
cy.contains('Argentina Vacation Rentals')
// ... same for remaining titles
// Images on the page
cy.get('img[src="machu-pichu.jpg"]')
// ... same for other images
您可以将其分解,以便每个部分都有自己的测试
before(() => {
cy.visit('my-vacation.html') // visit once before all the tests
})
it('North America', () => {
cy.contains('a.js-tab-links', 'North America')
.should('have.class', 'active') // this link is active after loading
// Titles on the page
cy.contains('Galveston Vacation Rentals')
cy.contains('Sedona Vacation Rentals')
// ... same for remaining titles
// Images on the page
cy.get('img[src="galveston-island-historic-pleasure-pier.jpg"]')
// ... same for other images
})
it('South America', () => {
cy.contains('a.js-tab-links', 'South America')
.click() // activate this tab
.should('have.class', 'active')
// Titles on the page
cy.contains('Peru Vacation Rentals')
cy.contains('Argentina Vacation Rentals')
// ... same for remaining titles
// Images on the page
cy.get('img[src="machu-pichu.jpg"]')
// ... same for other images
})