问题标签 [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 投票
0 回答
133 浏览

selenium - 如何避免 UnexpectedAlertOpen - 实习生 Leadfoot

我编写了一个实习功能测试,它从一个单元格复制数据并将其粘贴到另一个单元格。问题是每次运行测试并复制数据时,我都会收到一个带有消息的对话框

Pasting from clipboard is currently turned off by your browser.Local Data will be used 现在由于这个弹出窗口,我的功能测试冻结,其他一切都开始失败。幸运的是,有一种方法可以避免这种情况。.acceptAlert()

尽管这在本地有效,但有时在詹金斯中测试仍然失败。它不稳定。我如何使它稳定。

0 投票
1 回答
62 浏览

javascript - clickMouseButton 之后的事件

在我的一项测试中,我将鼠标移动到特定位置,然后clickMouseButton()被调用。此操作是更改显示的数据(对数据进行分页)。但是,单击后,当我尝试获取表格列中的文本以验证数据是否更改时,数据更改回最初显示的内容我的测试失败了。我的测试代码是:

后面的代码JE.Buttons.Scrolling()是:

在我看来,Leadfoot 中的定位器在首次加载时确实与页面上的内容绑定。是这样吗,我应该如何去做我需要发生的事情?我对此没有其他解释,但希望你能做到。

0 投票
1 回答
421 浏览

javascript - Leadfoot moveMouseTo 在元素存在时需要 X/Y 偏移

在 Leadfoot Command#moveMouseTo 的文档中,它声明每个参数都是可选的(https://theintern.github.io/leadfoot/Command.html#moveMouseTo)。当我传入一个元素而不传入 X 或 Y 偏移量时,我收到一个关于要求存在偏移量的命令的错误。

这是有问题的代码:

contextMenu.Options.Actions.element 定义为:

根据文档,这应该将鼠标移动到传递元素的中心。显然,这不会发生。我做错了什么吗?这是否没有正确记录,或者这是 Leadfoot 中的错误?

编辑测试代码的正确格式是:

0 投票
1 回答
989 浏览

intern - 实习生报告和错误处理

几天前,我开始阅读有关 Web 应用程序自动化测试的内容,经过大量试验和错误(和教程),终于设法在本地和 BrowserStack 上运行了几个实习生功能测试,但有一件事我不能环绕我的头是报告。

例如,我有一个简单的测试,它填写一些登录页面数据,提交表单,并检查一切是否正常。

代码可能如下所示:

运行后intern-runner config=tests/intern.js

测试将通过,我将在控制台窗口中看到类似

好的,如果测试通过,我真的不需要太多信息,一切都很好,但另一方面,如果在测试中我有类似的东西:

我得到的关于失败的唯一信息是:

有没有办法知道页面上的哪个元素没有找到?也许我做错了什么?

谢谢

编辑:

完整的错误摘要:

0 投票
1 回答
132 浏览

intern - 在实习生功能测试中使用变量

我需要使用一个变量,其值是根据 css 样式像素确定的。测试找到左像素的值,然后选择一个特定的单元格。但是当我运行这个测试时,值总是 0 而不是它实际应该是的值。

0 投票
2 回答
930 浏览

javascript - 在 Intern.js Leadfoot 中,如何执行 CTRL 单击

我只是想知道在 Leadfoot 中执行 ctrl + 单击操作的首选方式是什么。在 java 中,我会使用 Actions 类并使用 keyDown,但由于我们已经转移到基于 JS 的框架,所以我完全是一条出水的鱼!

我在 api 中看到有一个 pressKeys 函数,但它似乎没有做我们需要的。我曾考虑过使用 jQuery 来执行此操作,但我真的更愿意将其保留在当前框架中。

非常感谢任何帮助。

彼得

0 投票
0 回答
170 浏览

javascript - 使用实习生 Leadfoot 在 reactjs 输入字段中输入文本

我正在测试一个 reactjs 应用程序,并且 type() 和 pressKeys() 命令无法正常工作。type('string') 未在输入字段中输入文本,而 pressKeys('string') 仅输入 's'。我不确定这是否是 Leadfoot 和一般反应的问题,或者我正在测试的特定反应应用程序。以下是页面中的一些示例代码:

我无法选择第一个输入元素,因为它被隐藏了,我尝试选择所有可用的 div 和第二个输入元素。我目前必须执行以下操作才能输入文本:

有什么建议么?我目前正在使用一个函数,将数据字符串转换为 char 数组,然后一次输入每个 char。

0 投票
1 回答
154 浏览

node.js - 检索到多个元素后的链式操作

为了测试,我们必须使用 intern/leadfoot 填充一个复杂的页面。页面的每个部分都由一个单独的函数处理,该函数接收必要的元素和输入数据。

现在我们遇到了问题,对子函数中这些元素的操作不能再被链接,因为它们是元素而不是命令。

是否有可能再次链接操作?我尝试了很多使用setContext()或使用自定义命令创建新命令,但到目前为止没有成功。

0 投票
1 回答
66 浏览

intern - 每次测试后退出 - 实习生 + Leadfoot

尝试在这里测试一些用户权限,每次测试后我都无法退出...

这只有在我也清除 Cookies 时才有效,但我不需要清除 cookie(手动执行localStorage.clear()和重新加载工作)。我希望return this.remote.clearLocalStorage();就足够了,但在以下测试中,我被重定向到我的仪表板。

0 投票
1 回答
72 浏览

selenium - Leadfoot + sauce:使用 getAttr 映射元素集合仅在移动设备中失败

我的用例对此有所不同,但总的来说,我试图收集一堆元素,然后应用于_.map()每个元素。问题是这一系列.getAttribute()调用可能会导致在本地工作的测试对远程服务器(如 sauce/android)失败。

一个例子:收集<div class='article'><a href='articles/{id}'>页面上的所有内容,然后获取 href。它可能看起来像这样,并且这种方法将一直有效,直到我在移动(android)酱环境上进行测试。然后我得到一个超时。

这可能是与我的 android 环境功能有关的问题吗?堆积这么多请求?我尝试将我的测试从使用 75 篇文章缩减到仅 45 篇,并将超时时间提高到 60 秒,但移动测试仍然失败。本地用chromedriver就可以了,chrome桌面+酱就可以了。

不是我的实际测试,而是我正在谈论的代码的近似值: