问题标签 [intern]

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 回答
237 浏览

selenium-webdriver - 使用远程 Web 驱动程序的实习生功能测试都失败了

背景:

在正确设置我的基础架构以让实习生针对一组 VM 运行功能测试之后。所有机器都存在于同一个网络上。

我正在使用实习生来运行我的功能测试。

*不使用酱实验室,而是使用硒网格 2 - 集线器和节点。

问题:

所有功能测试用例都失败了。

错误:学生姓名字段应包含与输入相同的字符串:预期“”等于“qwerty” AssertionError:学生姓名字段应包含与输入相同的字符串:预期“”等于“qwerty”

观察:

我看到表单字段被填写,但是当我执行断言时 - 像获取文本并将其与预期输入匹配一样简单,我得到错误响应 7。

我在 这里尝试的是功能测试用例的典型样板。

其他说明:
链接到上面提到的状态响应代码

0 投票
1 回答
265 浏览

intern - 用框架进行功能测试的实习生

我正在使用实习生并编写一些功能测试。我正在测试的应用程序使用了很多 Dojo 选项卡和 iframe,我在进行功能测试时遇到了一些麻烦。

我可以使用“frame()”调用来选择 iframe,这对于访问嵌套的 iframe 来说是很好的。但是我如何导航回来?Selenium WebDriver 有一个 defaultContent 可以将您返回到最顶层的框架,但我在 Intern WD 中找不到此实现。

我遇到的问题是我向下导航到嵌套的 iframe 并单击一个按钮,该按钮切换到更高框架中的不同 Dojo 选项卡。我可以看到浏览器正在加载并切换到新选项卡,但实习生仍然停留在同一个嵌套 iframe 上,我无法重新导航。

谢谢

0 投票
1 回答
286 浏览

intern - 实习生开发功能测试的工作流程

我们正在努力将实习生测试完全集成到我们的开发中。我与实习生建立实习生的第一件事是她应该如何开发测试。我们使用 selenium-server.jar 在 Mac 上本地运行,当我们在 node 中使用 runner.js 运行功能测试时,它飞得如此之快,我们无法真正看到什么在起作用。我真的希望能够减慢它的速度(就像我可以使用 selenium firefox 扩展一样)并希望突出它正在选择的内容。最重要的是放慢执行速度,这样我们就可以看到什么是有效的。我也发现调试很困难,很难知道什么正在死去。

你和实习生一起开发功能测试的工作流程是什么,有什么办法可以让整个事情变慢吗?

节点 node_modules/intern/bin/intern-runner config=public/js/dojo/tt/tests/intern-config.js leaveRemoteOpen

我找到了 leaveRemoteOpen 标志。这行得通!

0 投票
1 回答
1408 浏览

phantomjs - 使用 PhantomJS 运行实习生:窗口未定义

我已按照此处描述的所有步骤操作:https ://github.com/theintern/intern/wiki/Using-Intern-with-PhantomJS

我的实习生配置是 ~ 如下:

我用 phantomJS 运行

它在 4444 上监听。

我什至禁用了 Windows 防火墙,但我仍然得到

好像 Intern 在节点上运行,而不是在 Phatom 上。Phantom 的控制台也完全没有声音。

我错过了什么?或者有没有办法调试实习生的行为?谢谢

0 投票
1 回答
1260 浏览

javascript - 通过独立浏览器客户端运行实习生错过了套件中的 this.remote

此测试代码:

在跑步者中完美工作(所有测试都通过,硒日志显示请求很好):

但是当我尝试从独立客户端使用它时,在浏览器中通过

出现两个问题:

  • 默认情况下,只运行单元测试(为什么?)——它们以优异的成绩通过;
  • 显式请求功能测试(通过 suites=tests/functional/index)返回以下错误:

我从错误日志中假设没有加载 WebDriver。因此,Selenium 在运行此功能测试期间没有收到任何请求。在 registerSuite 函数中的“this”对象有这样的内容:

0 投票
1 回答
229 浏览

testing - 使用 theintern.js 进行主干测试

如何在要测试的 .js 中定义?

更好的例子:

这是我的测试文件:

我的测试文件:

这发生在我运行测试时:

请注意,测试文件中的定义应该在 /projectFoler/app/scripts/misc/envConfig.js

我知道 envConfig 从未使用过,因为我删除了此示例中的其他功能。

感谢您的宝贵时间,并对糟糕的解释感到抱歉。

0 投票
2 回答
347 浏览

javascript - 如何在实习生功能测试中使用 dijit/regisrty

我在功能测试中使用任何 dojo 模块时遇到问题,我一直看到window未定义的错误或未定义的错误document

我目前正在尝试使用dijit/registry类似的东西(到目前为止只导入它的模块)..

...并且从节点收到以下错误...

我已经阅读了一个关于dojo/text!以类似方式使用的先前问题,这似乎表明实习生的 geezer 版本可以处理这个问题吗?

没有注册表模块,测试运行良好。

更新

好的,因此基于 C Snover 的响应,您不能利用dijit/registrywebdriver 方法之外的任何东西,execute()因为代码需要在 web 浏览器的上下文中而不是功能测试中。

0 投票
2 回答
1229 浏览

javascript - 如何在实习生 javascript 测试中截取屏幕截图并写入文件?

我正在使用http://theintern.io/进行浏览器功能测试。如何截取屏幕截图并将其保存到文件中?

这是我所拥有的

谢谢!

0 投票
1 回答
285 浏览

intern - 如何在 Intern 中针对 Rails 提供的主干应用程序运行功能测试?

在实习生页面上的所有示例中,静态 html 文件都在为某些前端框架(骨干网、ember 等)提供服务。因此,在功能测试示例中,静态 html 文件的路径被传递给 get 方法。

在我的例子中,rails 应用程序提供托管主干应用程序的 html 页面。有没有办法让实习生在 Rails 提供主干应用程序时使用它?我发现让功能测试运行的唯一方法是将正在运行的 rails 应用程序的 url 传递给 get 方法。(通过 nginx 运行)

虽然这允许功能测试运行,但它不会通过端口 9000 上的侦听器传递。因此,我没有得到覆盖率统计信息。

0 投票
1 回答
679 浏览

intern - Intern.io 单页应用程序功能测试

我有一个使用 Dojo 在页面之间导航的单页应用程序。我正在使用实习生编写一些功能测试,并且我正在尝试清除一些琐碎的问题。具体来说,我很难让实习生处理超时。超时似乎对我没有任何影响。我正在尝试使用“setPageLoadTimeout(30000)”设置初始加载超时,但这似乎被忽略了。我也称“setImplicitWaitTimeout(10000)”,但这似乎没有效果。

我遇到的主要问题是,在我的测试环境中,发送请求以及解析响应并将其注入 DOM 可能需要几秒钟。我能够解决这个问题的唯一方法是例如显式调用“sleep(3000)”,但这可能有点命中注定,有时 DOM 元素在我查询它们时还没有准备好。(如前所述 setImplicitWaitTimeout(10000) 似乎对我没有影响)

使用该应用程序,当 DOM 更新时,我会触发一个事件。我使用 dojo.subscribe 在应用程序中挂钩。是否可以在实习生中使用 dojo.subscribe 来控制我的测试的执行?

这是我的代码示例。我还应该提到我使用 Dijit,所以当响应返回并且正在创建小部件(通过 data-dojo-type 声明)时也会有轻微的延迟......

我正在从实习生 dojo 节点模块导入相关的 Dojo 模块,但我不确定如何使用它。

谢谢