我得到陈旧的引用异常(元素不再有 有效),我正在使用c# - Webdriver进行自动化。EventFiringWebDriver监听器的陈旧引用异常
我使用Selenium进行自动化框架。在此我已使用Selenium Event的EventFiringWebDriver类 。它侦听InterenetExplorerWebdriver(Like Click()或SendKeys())的每个 事件。在 EventFiringWebDriver类的事件,如 (ElementClicked,ElementValueChanged)我已经实现了逻辑, 将WebElementEventArgs对象的属性记录到基于XML的日志 文件。所以在执行结束时,我可以看到以XSLT格式执行每个测试用例的 的详细信息并跟踪功能 错误。
代码: -
public class SeleniumEventListener : EventFiringWebDriver
{
public SeleniumEventListener(IWebDriver webDriver):base(webDriver)
{
ElementClicked += new EventHandler<WebElementEventArgs>SeleniumEventListener_ElementClicked);
//more events handled here..
}
void SeleniumEventListener_ElementValueChanged(object sender,WebElementEventArgs e)
{
LogPassedStep(e)
}
private LogPassedStep(e)
{
string title = e.Element.value;
string status = "clicked"
//XML based logging here.
}
}
在我的应用程序,我使用自动化的硒。我有一些文本 框和按钮,EventFiringWebDriver类XMLLogging工作 正确的文本框通过了测试用例执行但是 为按钮或链接的一些时间它给“元素没有 更长的有效”陈旧的引用异常在一些按钮是 类型的展开收起导致DOM改变,而在我的应用程序 我有刷新在该 陈旧引用异常来经常定期间隔)任务页面
的webdriver的正确点击作品整个执行过程中,但EventFiringWebDriver无法识别该对象,并且Stale参考 例外来
请帮助我..还是请大家建议我得到那个 网页对象(如按钮,链接)的细节,使我能够实现 日志记录功能的方式(我使用C#-webdriver)/
这种做法会增加不必要的code.Because每一个我处理的执行过程中,我将不得不增加额外的code.In事件元素EventListener类的我只需要编写一次XML日志记录逻辑。 – 2012-01-12 08:18:35
我打算使用EventDriver类是以XML格式获取详细的执行报告..所以我们有任何其他选项来做到这一点.. – 2012-01-12 08:22:27