问题标签 [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.
selenium-webdriver - 使用远程 Web 驱动程序的实习生功能测试都失败了
背景:
在正确设置我的基础架构以让实习生针对一组 VM 运行功能测试之后。所有机器都存在于同一个网络上。
我正在使用实习生来运行我的功能测试。
*不使用酱实验室,而是使用硒网格 2 - 集线器和节点。
问题:
所有功能测试用例都失败了。
错误:学生姓名字段应包含与输入相同的字符串:预期“”等于“qwerty” AssertionError:学生姓名字段应包含与输入相同的字符串:预期“”等于“qwerty”
观察:
我看到表单字段被填写,但是当我执行断言时 - 像获取文本并将其与预期输入匹配一样简单,我得到错误响应 7。
我在 这里尝试的是功能测试用例的典型样板。
其他说明:
链接到上面提到的状态响应代码
intern - 用框架进行功能测试的实习生
我正在使用实习生并编写一些功能测试。我正在测试的应用程序使用了很多 Dojo 选项卡和 iframe,我在进行功能测试时遇到了一些麻烦。
我可以使用“frame()”调用来选择 iframe,这对于访问嵌套的 iframe 来说是很好的。但是我如何导航回来?Selenium WebDriver 有一个 defaultContent 可以将您返回到最顶层的框架,但我在 Intern WD 中找不到此实现。
我遇到的问题是我向下导航到嵌套的 iframe 并单击一个按钮,该按钮切换到更高框架中的不同 Dojo 选项卡。我可以看到浏览器正在加载并切换到新选项卡,但实习生仍然停留在同一个嵌套 iframe 上,我无法重新导航。
谢谢
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 标志。这行得通!
phantomjs - 使用 PhantomJS 运行实习生:窗口未定义
我已按照此处描述的所有步骤操作:https ://github.com/theintern/intern/wiki/Using-Intern-with-PhantomJS
我的实习生配置是 ~ 如下:
我用 phantomJS 运行
它在 4444 上监听。
我什至禁用了 Windows 防火墙,但我仍然得到
好像 Intern 在节点上运行,而不是在 Phatom 上。Phantom 的控制台也完全没有声音。
我错过了什么?或者有没有办法调试实习生的行为?谢谢
javascript - 通过独立浏览器客户端运行实习生错过了套件中的 this.remote
此测试代码:
在跑步者中完美工作(所有测试都通过,硒日志显示请求很好):
但是当我尝试从独立客户端使用它时,在浏览器中通过
出现两个问题:
- 默认情况下,只运行单元测试(为什么?)——它们以优异的成绩通过;
- 显式请求功能测试(通过 suites=tests/functional/index)返回以下错误:
我从错误日志中假设没有加载 WebDriver。因此,Selenium 在运行此功能测试期间没有收到任何请求。在 registerSuite 函数中的“this”对象有这样的内容:
testing - 使用 theintern.js 进行主干测试
如何在要测试的 .js 中定义?
更好的例子:
这是我的测试文件:
我的测试文件:
这发生在我运行测试时:
请注意,测试文件中的定义应该在 /projectFoler/app/scripts/misc/envConfig.js
我知道 envConfig 从未使用过,因为我删除了此示例中的其他功能。
感谢您的宝贵时间,并对糟糕的解释感到抱歉。
javascript - 如何在实习生功能测试中使用 dijit/regisrty
我在功能测试中使用任何 dojo 模块时遇到问题,我一直看到window
未定义的错误或未定义的错误document
。
我目前正在尝试使用dijit/registry
类似的东西(到目前为止只导入它的模块)..
...并且从节点收到以下错误...
我已经阅读了一个关于dojo/text!
以类似方式使用的先前问题,这似乎表明实习生的 geezer 版本可以处理这个问题吗?
没有注册表模块,测试运行良好。
更新
好的,因此基于 C Snover 的响应,您不能利用dijit/registry
webdriver 方法之外的任何东西,execute()
因为代码需要在 web 浏览器的上下文中而不是功能测试中。
intern - 如何在 Intern 中针对 Rails 提供的主干应用程序运行功能测试?
在实习生页面上的所有示例中,静态 html 文件都在为某些前端框架(骨干网、ember 等)提供服务。因此,在功能测试示例中,静态 html 文件的路径被传递给 get 方法。
在我的例子中,rails 应用程序提供托管主干应用程序的 html 页面。有没有办法让实习生在 Rails 提供主干应用程序时使用它?我发现让功能测试运行的唯一方法是将正在运行的 rails 应用程序的 url 传递给 get 方法。(通过 nginx 运行)
虽然这允许功能测试运行,但它不会通过端口 9000 上的侦听器传递。因此,我没有得到覆盖率统计信息。
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 模块,但我不确定如何使用它。
谢谢