如何在我的功能测试中通过 URL 找到 link?
How can I find a link by URL in my functional test?
在 Symfony testing documentation 中,它显示了如何 select 包含特定文本的 link:
$crawler->selectLink('Click here');
但是我正在寻找的 link 不会总是有相同的文本。它会根据记录的状态说出一些不同的事情之一,所以我需要通过 URL 找到它。我想我可以弄清楚如何使用 xpath 过滤器来做到这一点。这是我应该做的,还是有更好的方法?
您将针对已知状态进行测试 - 这样该状态将告知按钮上应显示什么文本。
如果不是 - 您还可以通过 CSS ID 或足够的其他信息来搜索以唯一标识按钮,例如 ID 指定范围内的按钮名称 class ,具有 CSS 路径或 XPath。
Full CSS Path to the `<code>` block in your question
#question > table > tbody > tr:nth-child(1) > td.postcell > div > div.post-text > pre > code
Xpath
//*[@id="question"]/table/tbody/tr[1]/td[2]/div/div[1]/pre/code
一个特定的 ID 或要查找的文本会容易得多,而且不太可能被破坏!
在 Symfony testing documentation 中,它显示了如何 select 包含特定文本的 link:
$crawler->selectLink('Click here');
但是我正在寻找的 link 不会总是有相同的文本。它会根据记录的状态说出一些不同的事情之一,所以我需要通过 URL 找到它。我想我可以弄清楚如何使用 xpath 过滤器来做到这一点。这是我应该做的,还是有更好的方法?
您将针对已知状态进行测试 - 这样该状态将告知按钮上应显示什么文本。
如果不是 - 您还可以通过 CSS ID 或足够的其他信息来搜索以唯一标识按钮,例如 ID 指定范围内的按钮名称 class ,具有 CSS 路径或 XPath。
Full CSS Path to the `<code>` block in your question
#question > table > tbody > tr:nth-child(1) > td.postcell > div > div.post-text > pre > code
Xpath
//*[@id="question"]/table/tbody/tr[1]/td[2]/div/div[1]/pre/code
一个特定的 ID 或要查找的文本会容易得多,而且不太可能被破坏!