Selenium Webdriver を使用して、テキスト ボックスとボタンの ID にアクセスする必要があります。contentplaceholder 内に配置されているため、webdriver はコントロールの ID を見つけることができません。contentplaceholder 内にあるコントロールを見つける方法を教えてください。私はこれのためのパスを与える必要があると思います。あなたのアイデアがより役に立ちます。
これは私の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);
}
}
前もって感謝します。