【发布时间】:2017-01-29 06:15:00
【问题描述】:
我正在为 ASPX 页面编写 Selenium 文本案例。我想点击这个 ASP.NET asp:LinkButton 元素:
<asp:LinkButton runat="server" OnClick="Test_Click" Text="Just try to click me" ID="testtest123"></asp:LinkButton>
在.NET生成的HTML页面中是这样的:
<a id="testtest123" href="javascript:__doPostBack('testtest123','')">Just try to click me</a>
虽然 Selenium 可以毫无问题地找到元素,但 Click() 什么也不做。我没有发现任何元素丢失异常或超时,测试用例就像点击正确触发一样继续运行。
这是单击元素的简单行;
Browser.Driver.FindElement(By.Id("testtest123")).Click();
此代码适用于其他 ASP 元素,例如按钮和文本框。我使用 C# 使用 64 位 webdriver 和 IE 11 编写测试用例。
我在这里研究了解决方案:ASP.Net LinkButton Prevent Postback Not Working - JavaScript,但它们似乎不适用于我的情况:
任何帮助将不胜感激!
编辑:我在这个网站上发布了另一个关于这个问题的帖子: https://code.google.com/p/selenium/issues/detail?id=7846&can=8&colspec=ID%20Stars%20Type%20Status%20Priority%20Milestone%20Owner%20Summary
【问题讨论】:
-
您是否尝试过 32 位 Firefox 驱动程序以排除 Selenium 错误?
-
那么点击
LinkButton之后你的测试用例做了什么? -
它试图点击上面链接按钮显示的另一个按钮。
-
问题是,Selenium 本身并没有点击链接按钮。我已经隔离了测试用例的那部分,很明显按钮没有被正确点击。当 Selenium 特别针对 asp:linkbutton 触发 Click() 方法时出现问题。
-
我尝试了一种解决方法,直接调用生成的 javascript 回发函数,但我只是得到一个 javascript 错误。
标签: c# asp.net .net selenium selenium-webdriver