我有一个仅限Internet Explorer的Web应用程序.
我正在探索如何自动化测试.
Selenium看起来是一个很好的工具,但是为了能够激活链接等,我需要告诉它它们在哪里.该应用程序并未构建此类测试,因此id关键元素通常没有属性.
没问题,我想,我可以使用XPath表达式.但是,如果通过检查页面的来源来完成,那么找一个正确的XPath,例如一个按钮,就是一种巨大的痛苦.
使用Firefox/Firebug,我可以选择元素,然后使用"Copy XPath"来获取表达式.
我有IE开发人员工具栏,它令人沮丧地接近.我可以单击以选择感兴趣的元素并显示有关它的各种信息.但我看不出任何方便的方法来确定它的XPath.
那么有没有办法用IE做到这一点?
当我点击一些<button>元素时,我继承了一堆做出意想不到的事情的代码.
该页面有很多Javascript,并且不清楚在按钮或其父元素上设置了什么(如果有的话)事件.我正在尝试找到执行开始的地方,以便我可以调试正在进行的操作.
有没有办法让Firebug(或任何Javascript调试器)在执行任何 javascript代码时中断?也许某种程度上以编程方式在每一行上设置一个断点?或者是否有其他方法可以找出按钮响应的事件(页面用户boh Prototype,jQuery和一些自定义Javascript.我知道.)
使用firebug我只知道如何查看调用的ajax文件.
我有一个jquery鼠标单击事件处理程序绑定到一个链接元素.
有没有可能看到点击一个元素时使用了什么javascript代码,以防你忘了你是否有一个事件处理程序或其他javascript代码耦合到它?
我想从网页中提取信息.
该页面有m个节点,可以通过.evaluate("// div [@ class ='news']",document,....)找到.
对于上述每个节点,其中有3个节点.它们中的每一个都有不同的@class选择器.我想提取这些m 3元组记录.
我尝试按照指示使用.evaluate()函数
https://developer.mozilla.org/en/Introduction_to_using_XPath_in_JavaScript
通过使用此代码
parentNodes = document.evaluate("//div[@class='news']", document, ....).
while (true){
var node = parentNodes.iterateNext();
var child = document.evaluate("//div[@class='title']", node, ....).
...
}
Run Code Online (Sandbox Code Playgroud)
但是,"child"始终分配给文档中的第一个节点,而不是"node"中的第一个节点.
我在firebug控制台中运行它.
有人知道什么是错的吗?
我有一个使用ext-js库构建的系统.系统的一部分列出了流经在线商店的订单.单击某行时,将显示其他订单详细信息.几天前,一旦点击一行,就会出现一条消息"FIXME:created panelID ...".之后,正常运行继续,即错误消息只是烦人的并且在它出现后不会破坏正常执行.
我正在尝试调试JS代码以查看错误消息在什么情况下出现,即为什么它突然开始出现.我正在尝试使用FireBug.有没有人有任何提示我可以用来实现我的目标,建立什么行代码触发警报()?关于此事的任何意见都非常感谢.
所以尝试分析一些代码,我认为最简单的方法(至少在Firefox上)是使用console's time/ timeEnd或profile/ profileEnd,我尝试了两种.
我遇到的问题是我在Firefox崩溃之前可以做的运行次数.现在我不会在这里粘贴代码,因为它是典型的基准测试代码(并且它非常混乱),但显然它的要点是它运行函数(测试用函数表示),记录它们的执行时间为一定数量跑步
现在,例如,5e4它可以运行,但我认为它不足以发现(非常)微优化,但更重要的是,它崩溃了.
那你如何描述你的JavaScript?因为这样,它几乎不可行.
FireBug中有一个错误:我不小心点击了行号所在的位置,它设置了一个断点.所以我再次点击删除它.现在它每次都在那里打破.我已经尝试设置/删除断点,但它不起作用.我甚至尝试点击暂停图标,我在其他地方看到了它,但它没有做任何事情 - 它甚至没有改变.我甚至尝试将它设置为一个始终为假的条件断点,因此它永远不会触发.没有雪茄.我甚至尝试卸载FireBug并重新安装它!
(请注意我使用FireBug 1.7.3和FireFox 3.6.25,并且由于某种原因而无法升级.)
[我发布了一张图片,但直到我有10个代表才能发布!]
如何删除所有断点?我必须卸载/重新安装吗?
在Firebug的脚本部分下调试JavaScript代码时,Firebug不会刷新已更改的JavaScript缓存.它仍然显示并执行我在1到2小时后写的旧JavaScript代码.
Firefox版本是13.0.1.
Firebug 1.9.2.
有人可以建议我如何克服这个问题吗?或者无论如何清除Firebug下的JavaScript缓存?
我将从问题开始:
(注意:stringify对象的表示 - 始终显示正确的值)
以下是详细信息:
我street在textbox(它应该设置StreetText对象中的值)中选择一个
我看着console(宽线)并按最后一行,看着街道文字.
起初没关系.在第二次尝试中,在我选择另一条街道之后,它保持旧价值.
但是,当我按下刷新(在对象上)时,它会显示正确的街道名称.
这里发生了什么?

我的对象是常规对象文字:
var obj =
{
getData: function ()
{
obj.CountryId = $(".ddlCountry").val() || "";
obj.CountryText = $(".ddlCountry :selected").text() || "";
obj.StateId = $(".ddlState:visible").val() || "";
obj.StateText = $(".ddlState:visible :selected").text() || "";
obj.CityId = $(".hfDataIdCity").val() || "";
obj.CityText = $(".hfDataTextCity").val() || "";
obj.StreetId = $(".hfDataIdStreet").val() || "";
obj.StreetText = $(".hfDataTextStreet").val() …Run Code Online (Sandbox Code Playgroud) 将Firefox更新到版本50.0后,我的Firebug会打开默认的开发人员工具.最初的Firebug不再起作用了.
我一直更喜欢Firebug作为我的默认调试工具.我想在Firefox 50中重新使用原始的Firebug.我该怎么做?
firebug ×10
javascript ×7
firefox ×4
debugging ×3
jquery ×2
breakpoints ×1
dom ×1
profiling ×1
selenium ×1
xpath ×1