我正在使用 C#、SpecFlow 和 Selenium 进行 BDD 测试。我想创建单击按钮的方法。此按钮的名称应取自参数(字符串 p0),如下所示:
[Given(@"I click (.*) button")]
public void GivenIClickButton(string p0)
{
//Find button p0 and Click on it
}
使用 XPath 我只能做到这一点:
driver.FindElement(By.XPath("//a[contains(.,'Get Started Now!')]")).Click();
但我更想做这样的事情:
driver.FindElement(By.Name(p0)).Click();
OR
driver.FindElement(By.XPath("//a[contains(.,p0)]")).Click();
我不知道如何让它工作:(
您想在 XPath 查询中包含参数的字符串内容吗?
这应该有效:
var xPathQuery = String.Format("//a[contains(.,'{0}')]", p0);
driver.FindElement(By.XPath(xPathQuery)).Click();
我是一名优秀的程序员,十分优秀!