我在Codeception验收测试中使用WebDriver模块。
在测试中,我需要从网页创建节点列表(Web元素),然后单击foreach
循环中的每个节点。节点是主要的导航菜单项。见屏幕截图。
我尝试使用名为grabMultiple("//nav[@class='nav-container']/ul/li/a")
的内置方法,但它会返回一个名单列表(" Ready to Wear"等)和{{1} }方法无法点击此列表中的此类元素。
在Codeception中是否有任何方法可以创建可点击的节点列表?
当我使用以下代码时:
click
我收到错误:
1)无法检查101_CategoryFlowCept中可以访问的主类别(tests \ acceptance \ _101_CategoryFlowCept.php)
步骤我点击"准备好穿" 失败链接或按钮或CSS或XPath元素与“准备好穿'没找到。
场景步骤:
答案 0 :(得分:1)
您可以获取类属性并使用它们进行单击。
$linkClasses = $I->grabMultiple("//nav[@class='nav-container']/ul/li/a", 'class');
foreach ($linkClasses as $linkClass) {
$I->click(['class' => $linkClass]);
}
答案 1 :(得分:0)
在建议Naktibalda之后,我创建了以下代码,它对我有用:
$mainNavLinks = $I->grabMultiple("//nav[@class='nav-container']/ul/li/a", 'href');
foreach ($mainNavLinks as $link) {
$I->amOnUrl($link);
}