问题标签 [leadfoot]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何切换 iframes InternJS
我需要切换到具有动态名称和 ID 的 iframe。
我注意到 LeadFoot 有一个switchToFrame()函数,但是当我传递一个从find()返回的元素时,我收到错误“MoveTargetOutOfBounds: POST http.../moveto / {"element":"16"} Offset within元素无法滚动到视图中”。
有没有更好的方法来使用 execute() 和一些 javascript,或者我怎样才能使 switchToFrame() 工作?
intern - 实习生:访问当前会话功能的首选方法?
我正在编写一个实习生功能测试套件,我想扫描我的环境中的功能,以便跳过与环境无关的测试。例如,我从不想在不支持触摸的浏览器中运行涉及触摸交互的测试。
我的计划是钩入 Leadfoot 的session
对象并拿起该capabilities
属性,但在 Node Inspector 中进行了一些探索后,我只能通过它this.remote.session
,它隐藏在下划线后面。
有没有更好的方法来访问当前会话的功能?
selenium-webdriver - 实习生测试返回的范围输入值不正确
我有一个测试来检查 HTML5 范围输入的值。
当我检查它的初始值时该值是正确的,但是如果我更改该值然后检查,它还没有被更新。我发现开发人员工具中的值也没有更新。我尝试使用
在更改值和调用之间
但这似乎不是问题所在。
在此JSfiddle中,使用浏览器的开发人员工具检查 range 元素将显示标题更改,但值不会更改(即使文本框中的值已正确更改)。所以这可能是webdriver的问题,但我想知道是否有人遇到过这个问题。
这与测试未能获得更新值有关吗?我可以使用另一种方法来读取值(属性)吗?
编辑:似乎浏览器的 onchange/oninput 事件没有正确触发(类似的问题:WebDriver: Change event not fire and Why does the jquery change event not trigger when I set the value of a select using val()?),和webdriver 也可能无法做到。我是否必须添加 Jquery 作为我的测试的定义,即使我只需要使用trigger()
?还是有其他解决方案?
Edit2:我添加了一个更好的例子来说明我如何在这个新的JSfiddle中使用范围输入。我添加了加号/减号按钮,它们无法触发应该更新范围输入的值属性的更改事件(并且无法将值输入到文本框中)。
javascript - 为实习生功能测试设置 cookie
我正在尝试为实习生功能测试设置 cookie,但页面上似乎没有 cookie 数据。这是设置:
访问 index.html 中的 document.cookie 时,没有数据。关于我做错了什么的任何提示?
更新:
我还没有解决问题,但发现您需要在 get() 之前调用 setCookie()。我解决这个问题的方法是在 noop URL 上调用 get(),然后调用 setCookie()
javascript - 一旦leadfoot/Session#executeAsync调用超时,如何继续实习测试
在应用程序中加载了一系列 URL。页面加载后会触发页面就绪事件。但是,在酱实验室上运行时,该事件不会在随机页面上触发并且测试失败。
如果事件没有触发,有什么方法可以继续测试?
javascript - Intern / Leadfoot 的超时功能之间的区别
Leadfoot 有setTimeout()方法,它以“脚本”、“隐式”或“页面加载”作为参数,但它也有setPageLoadTimeout()和setFindTimeout()。setFindTimeout 和隐式有什么区别?setPageLoadTimeout 和页面加载有什么区别?两者都使用过大吗?其中一个比另一个更好吗?
javascript - 使用实习生框架进行功能测试的屏幕截图功能不起作用
我正在使用实习生框架进行功能测试并在本地运行浏览器(Firefox 版本 39)。有没有办法捕获屏幕截图 png 文件?我尝试了以下示例How to take a screenshot with local browser (FF) and write to file in intern javascript但我收到此错误
" node_modules/intern/node_modules/dojo/dojo.js:757 throw new Error('Failed to load module ' + module.mid + ' from ' + url + ".
我是这个实习生js框架和leadfood的初学者。
非常感谢您的关注。
这是我所拥有的:
javascript - 无法运行实习生功能测试。错误:[POST http://localhost:4444/wd/hub/session] 连接 ECONNREFUSED
拥有节点 0.12 和实习生 3。尝试运行基于实习生的功能测试会出现以下错误:
端口 4444 上也没有运行任何东西。
javascript - 实习生:在 Promise 上循环。>
为简单起见,假设我有以下 DOM 结构:
我想child
在函数 findAllByCssSelector('.child') 返回的所有元素中循环。ico
特别是,只有当label
div 是 B 时,我才会单击div 子元素。
我会记得,findAllByCssSelector()
返回Promise.<Array.<leadfoot/Element>>
。
通常我应该这样做:
我尝试了这段代码但没有用,因为函数elementArray[i]
内部getVisibleText().then()
不存在 - 就像我失去了它的引用一样。此外,我还需要如果在循环结束时未找到标签,则应抛出异常。
我怎样才能做到这一点?有人可以帮忙吗?
javascript - 实习生 JS CSS 选择器使用变量
嘿,伙计们,我的功能测试需要帮助,我希望能够在 findCssSeclector 中使用变量。我使用了一个名为 Persona 的数组,它应该读出放入变量中的国家代码,而不是 intern 函数中的国家代码。但它不起作用,有人有想法吗?
这工作正常:
这不是
感谢帮助。
解决方案
代码示例: