问题标签 [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.

0 投票
1 回答
445 浏览

javascript - 如何切换 iframes InternJS

我需要切换到具有动态名称和 ID 的 iframe。

我注意到 LeadFoot 有一个switchToFrame()函数,但是当我传递一个从find()返回的元素时,我收到错误“MoveTargetOutOfBounds: POST http.../moveto / {"element":"16"} Offset within元素无法滚动到视图中”。

有没有更好的方法来使用 execute() 和一些 javascript,或者我怎样才能使 switchToFrame() 工作?

0 投票
0 回答
145 浏览

intern - 实习生:访问当前会话功能的首选方法?

我正在编写一个实习生功能测试套件,我想扫描我的环境中的功能,以便跳过与环境无关的测试。例如,我从不想在不支持触摸的浏览器中运行涉及触摸交互的测试。

我的计划是钩入 Leadfoot 的session对象并拿起该capabilities属性,但在 Node Inspector 中进行了一些探索后,我只能通过它this.remote.session,它隐藏在下划线后面。

有没有更好的方法来访问当前会话的功能?

0 投票
1 回答
483 浏览

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中使用范围输入。我添加了加号/减号按钮,它们无法触发应该更新范围输入的值属性的更改事件(并且无法将值输入到文本框中)。

0 投票
1 回答
270 浏览

javascript - 为实习生功能测试设置 cookie

我正在尝试为实习生功能测试设置 cookie,但页面上似乎没有 cookie 数据。这是设置:

访问 index.html 中的 document.cookie 时,没有数据。关于我做错了什么的任何提示?

更新

我还没有解决问题,但发现您需要在 get() 之前调用 setCookie()。我解决这个问题的方法是在 noop URL 上调用 get(),然后调用 setCookie()

0 投票
1 回答
390 浏览

javascript - 一旦leadfoot/Session#executeAsync调用超时,如何继续实习测试

在应用程序中加载了一系列 URL。页面加载后会触发页面就绪事件。但是,在酱实验室上运行时,该事件不会在随机页面上触发并且测试失败。

如果事件没有触发,有什么方法可以继续测试?

0 投票
1 回答
321 浏览

javascript - Intern / Leadfoot 的超时功能之间的区别

Leadfoot 有setTimeout()方法,它以“脚本”、“隐式”或“页面加载”作为参数,但它也有setPageLoadTimeout()setFindTimeout()。setFindTimeout 和隐式有什么区别?setPageLoadTimeout 和页面加载有什么区别?两者都使用过大吗?其中一个比另一个更好吗?

0 投票
1 回答
127 浏览

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的初学者。

非常感谢您的关注。

这是我所拥有的:

0 投票
2 回答
1061 浏览

javascript - 无法运行实习生功能测试。错误:[POST http://localhost:4444/wd/hub/session] 连接 ECONNREFUSED

拥有节点 0.12 和实习生 3。尝试运行基于实习生的功能测试会出现以下错误:

端口 4444 上也没有运行任何东西。

0 投票
1 回答
1114 浏览

javascript - 实习生:在 Promise 上循环。>

为简单起见,假设我有以下 DOM 结构:

我想child在函数 findAllByCssSelector('.child') 返回的所有元素中循环。ico特别是,只有当labeldiv 是 B 时,我才会单击div 子元素。

我会记得,findAllByCssSelector()返回Promise.<Array.<leadfoot/Element>>

通常我应该这样做:

我尝试了这段代码但没有用,因为函数elementArray[i]内部getVisibleText().then()不存在 - 就像我失去了它的引用一样。此外,我还需要如果在循环结束时未找到标签,则应抛出异常。

我怎样才能做到这一点?有人可以帮忙吗?

0 投票
1 回答
237 浏览

javascript - 实习生 JS CSS 选择器使用变量

嘿,伙计们,我的功能测试需要帮助,我希望能够在 findCssSeclector 中使用变量。我使用了一个名为 Persona 的数组,它应该读出放入变量中的国家代码,而不是 intern 函数中的国家代码。但它不起作用,有人有想法吗?

这工作正常:

这不是

感谢帮助。

解决方案

代码示例: