我正在使用Visual Studio 2010在C#中编写Selenium 2 Webdriver自动化测试。 我已经搜索了使用变量作为选择器的示例的高低,并且发现似乎没有任何效果。我发现一个用作选择器的变量的例子有一个带有$前缀的变量,并用{}括起来。 我想要做的一个例子如下:
string surveyName = "Selenium test survey";
Driver.FindElement(By.CssSelector("tr[svd='${surveyName}']"))
我收到错误:
OpenQA.Selenium.WebDriverException : Unexpected error. Unable to find element using css: tr[svd='${surveyName}']
如果我'硬编码'这样的选择器:
Driver.FindElement(By.CssSelector("tr[svd='Selenium test survey']"))
找到元素。
svd是tr元素的属性。我试图通过此属性的值选择表中的行。每个测试的文本都不同,因此必须是变量。
我尝试过多种不同的方式表达变量,但没有运气使这项工作成功。任何帮助将不胜感激。
感谢。
答案 0 :(得分:4)
string surveyName = "Selenium test survey";
Driver.FindElement(By.CssSelector(String.Format("tr[svd='{0}']", surveyName))
会做你想要的。这是c#所以当它需要一个字符串时,你可以做各种事情来获得该字符串