Laravel Dusk如何遍历列表项并逐一点击测试?
遍历链接并验证页面内容的实现方案
下面针对不同的前端自动化测试工具,给出具体实现代码:
Cypress 实现
// 定位所有促销链接 cy.get('.promotional-item-link').each(($link) => { // 获取链接跳转地址 const targetUrl = $link.attr('href'); // 访问目标页面 cy.visit(targetUrl); // 断言页面包含指定字符串,替换为你的目标内容 cy.contains('你要验证的特定字符串'); });
Playwright 实现
const { test, expect } = require('@playwright/test'); test('验证所有促销链接页面内容', async ({ page }) => { // 打开包含链接列表的页面,替换为实际URL await page.goto('https://example.com/promotion-list'); // 获取所有目标链接元素 const linkElements = await page.$$('.promotional-item-link'); for (const link of linkElements) { const targetUrl = await link.getAttribute('href'); // 跳转到目标页面 await page.goto(targetUrl); // 断言页面存在指定字符串 await expect(page).toHaveText('你要验证的特定字符串'); } });
Selenium (Python) 实现
from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() # 打开链接列表页面,替换为实际URL driver.get('https://example.com/promotion-list') # 获取所有促销链接 links = driver.find_elements(By.CSS_SELECTOR, '.promotional-item-link') for link in links: target_url = link.get_attribute('href') # 跳转至目标页面 driver.get(target_url) # 断言页面源码中包含指定字符串 assert '你要验证的特定字符串' in driver.page_source driver.quit()
注意事项
- 请将代码中的页面URL和目标字符串替换为你的实际内容
- 如果是单页应用,可直接使用
click()方法点击链接,而非通过visit跳转,之后等待页面加载完成再执行断言 - 若链接会在新窗口打开,需先切换浏览器窗口再进行验证
内容的提问来源于stack exchange,提问作者realtebo
相关产品推荐
相关产品推荐

