使用Selenium / C#
我有一个自动测试用例,用户登录(jonpark2),一旦用户这样做,他们的用户名存储在span类的文本中,我需要选择这个元素,然后验证它上面的断言。
我在下面尝试选择此项:
public static void Userloggedin()
{
var userlogedin = Driver.Instance.FindElement(By.ClassName("username"));
var selectelement = new SelectElement(userlogedin);
selectelement.SelectByText("JonPark2");
}
当我运行时遇到错误OpenQa.Selenium.Support.UI.unexpectedTagNameException:Element should have been select but was div.
下面的html更详细地显示了我要选择的内容:
<div class="content-wrapper">
<div class="float-left">
<div class="float-right">
<section id="login">
<p>
<a title="Manage your account" class="username" href="Account/Manage">
Text - Empty Text Node
<span class="username">
Text - JonPark2
有谁可以指出我哪里出错了?
答案 0 :(得分:0)
您可以通过XPath选择该元素:
var spanElement = Driver.Instance.FindElement(By.XPath("//span[contains(@class, 'username')]"));
然后采取文字:
var textInSpan = spanElement.Text
答案 1 :(得分:0)
您正在尝试选择不属于<select>
的内容。
试试这个:
public static void Userloggedin()
{
return (
"JonPark2" == Driver.Instance.FindElement(By.cssSelector("section#login span.username")).Text;
)
}