我需要使用 selenium webdriver 访问文本框和按钮 ID。由于它被放置在 contentplaceholder 中,webdriver 无法找到控件的 id。请建议我如何找到内容占位符内的控件。我想我需要为此提供路径。你的想法会更有帮助。
这是我的 aspx 代码:
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<table>
<tr>
<td> <asp:Label ID="lblName" runat="server" Text="Name :" ></asp:Label> </td>
<td> <asp:TextBox ID="txtName" runat="server"
ToolTip="Enter your registered user name"></asp:TextBox> </td>
</tr>
<tr>
<td> <asp:Label ID="lblPwd" runat="server" Text="Password :" ></asp:Label> </td>
<td> <asp:TextBox ID="txtPwd" runat="server"
ToolTip="Enter your registered password"></asp:TextBox> </td>
</tr>
<tr>
<td>
<asp:Button ID="btnLogin" runat="server" Text="Login" onclick="btnLogin_Click"
ToolTip="Click to Login"/> </td>
<td> <asp:Label ID="lblWarning" runat="server" Text=" "></asp:Label> </td>
</tr>
</table>
</asp:Content>
我的测试项目代码是:
[TestMethod()]
public void TestMethod1()
{
//try
//{
driver.Navigate().GoToUrl("http://localhost:50294/Login.aspx");
driver.FindElement(By.Id("txtname")).SendKeys("sachin");
driver.FindElement(By.Id("btnLogin")).Click();
Label lbl = page.FindControl("lblWarning") as Label;
Assert.AreEqual(lbl, "Inserted successfully");
}
catch (Exception er)
{
Assert.Fail(er.Message);
}
}
提前致谢。