问题标签 [protractor]

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

jasmine - 自定义匹配器未在星盘/量角器 + 茉莉花测试中断言

我正在使用ProtractorAstrolabe编写一些页面对象驱动的测试。

Jasmine 被用于实现describe/it样式规范。

添加自定义匹配器无法使用this.addMatchers( TypeError: Object #<Object> has no method 'toContainLowered'),因此我使用本指南来实现它们。

它似乎正在工作,直到我仔细查看测试运行的输出:

这是我的代码:

如果我取消注释最后一行并删除toContainLowered匹配器,我会得到正确的输出:

我在调试这个基于 Promise 的代码时遇到了非常困难的时间,并且任何努力都console.log(this.actual.toLowerCase().indexOf(expected) > -1);将打印出来false,这令人困惑。

我什至尝试用 just 替换整个函数定义return false;。仍然没有做任何事情。最后,我尝试不向匹配器传递任何参数,它应该抛出一个无效参数错误或其他东西。

使用 Protractor/Astrolabe 测试时,如何在 Jasmine 中定义自己的匹配器?

0 投票
3 回答
4716 浏览

javascript - 用于测试 angularjs 的量角器

Protractor 是构建在 WebDriverJS 之上的 Angular 应用程序的端到端测试框架。

我是 Web 测试领域的新手,我试图弄清楚使用量角器而不是直接使用 WebDriverJs 有什么好处。量角器的附加值是多少?

0 投票
4 回答
6228 浏览

json - 角量角器 e2e 测试

我正在使用 Protractor 为我的 Angular 应用程序编写端到端测试。我可以模拟 httpBackend 进行单元测试,但我想实际调用服务器并获取 JSON 响应并再次编写测试返回的数据。
我已经阅读了很多关于 stackoverflow 的内容,但无法理解这是如何完成的。

我使用 $http 吗?如何将它注入我的 Jasmine 测试中?如何将响应 JSON 返回到我的 Jasmine 测试中?

任何帮助或资源链接以及有关执行此操作的说明都会有所帮助。

同样,我不想模拟服务器,我想访问服务器并取回 JSON。

谢谢!

0 投票
1 回答
797 浏览

javascript - Node.js 脚本因代理问题而失败

我正在尝试在我的 Mac 中安装量角器。安装是通过命令行完成的,但其中一个脚本由于连接问题而失败。主要问题是我在公司代理服务器后面。

我在控制台中设置了代理服务器,并且 npm 也配置了正确的代理设置。

失败的脚本在这里

它包含以下内容

我们如何修改此脚本以解决连接问题?

0 投票
1 回答
17295 浏览

javascript - 角度测试:量角器无法获取输入值

我是 Protractor 的新手。尽管缺少文档,但我想我理解了基本原理,但我找不到解决这个问题的方法。

鉴于此代码:

我可以看到输入获取了它正在插入的文本,并且模型使用相同的值更新,但是测试失败'导致 description.getText() 返回''(空字符串)。

是否有不同的方法来捕获输入中的值?

提前致谢。

0 投票
33 回答
168496 浏览

javascript - 如何在下拉 protractorjs e2e 测试中选择选项

我正在尝试从使用量角器的角度 e2e 测试的下拉列表中选择一个选项。

这是选择选项的代码片段:

我努力了:

这给了我以下错误:

指定了无效或非法字符串构建信息:版本:'2.35.0',修订:'c916b9d',时间:'2013-08-12 15:42:01' 系统信息:os.name:'Mac OS X' , os.arch: 'x86_64', os.version: '10.9', java.version: '1.6.0_65' 驱动信息: driver.version: 未知

我也试过:

这给了我以下错误:

ElementNotVisibleError:元素当前不可见,因此可能无法与命令持续时间或超时:9 毫秒构建信息:版本:'2.35.0',修订:'c916b9d',时间:'2013-08-12 15:42: 01'系统信息:os.name:'Mac OS X',os.arch:'x86_64',os.version:'10.9',java.version:'1.6.0_65'会话ID:bdeb8088-d8ad-0f49-aad9 -82201c45c63f 驱动程序信息:org.openqa.selenium.firefox.FirefoxDriver Capabilities [{platform=MAC, acceptSslCerts=true, javascriptEnabled=true, browserName=firefox, rotatable=false, locationContextEnabled=true, version=24.0, cssSelectorsEnabled=true, databaseEnabled =true,handlesAlerts=true,browserConnectionEnabled=true,nativeEvents=false,webStorageEnabled=true,applicationCacheEnabled=false,takeScreenshot=true}]

任何人都可以帮我解决这个问题或阐明我在这里可能做错了什么。

0 投票
3 回答
8216 浏览

angularjs - 量角器在特定位置双击

我正在开发一个系统(使用AngularJS),该系统具有通过双击网页上的某个位置来调用的功能,然后我得到鼠标的坐标并做我想做的事。

我正在尝试使用量角器进行 e2e 测试,但找不到任何有关如何模拟双击并取回位置的信息。

有人对此有任何想法吗?

谢谢!

0 投票
4 回答
19945 浏览

javascript - 使用 $resource 时量角器超时等待与页面同步

我正在用一个小型 AngularJS 应用程序测试 Protractor。

这是测试:

控制器:

草稿服务:

使用 Protractor 运行此测试会导致以下错误:

但是,如果在控制器中我更改此行:

对此:

测试按预期失败,但更重要的是:它不会超时。

启用 query() 后,无论是在浏览器中手动运行应用程序,还是查看 Protractor 打开的浏览器窗口时,API 返回的数据都会由中继器正确显示。

为什么 Protractor 在服务与 API 通信时无法与页面同步?

AngularJS 是 v1.2.0-rc3。量角器是 v0.12.0。

0 投票
1 回答
664 浏览

node.js - AngularJS 量角器和 Socket.IO

使用现有的 Angular 应用程序设置 E2E 测试时,由于我在应用程序中使用 socket.io,因此无法启动。Protractor 找不到通常由节点模块提供的 socket.io 文件,因为它不是我个人代码的一部分。

我收到错误消息:

在角度方面:

我相信这是因为它通常由节点模块提供服务:

与上面显示的我的 socket.io 工厂相比

有没有办法在不将 socket.io.js 文件复制到客户端代码库的情况下解决这个问题?

0 投票
2 回答
6189 浏览

angularjs - 量角器 - 测试角度服务时未定义注入

我正在量角器中编写一个非常简单的测试规范来了解框架的要点。在我尝试测试服务之前一切正常。通常我会打电话inject来获取依赖关系,但现在我得到了inject is not defined错误。这是我的测试规范的代码: