问题标签 [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.
jasmine - 自定义匹配器未在星盘/量角器 + 茉莉花测试中断言
我正在使用Protractor和Astrolabe编写一些页面对象驱动的测试。
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 中定义自己的匹配器?
javascript - 用于测试 angularjs 的量角器
Protractor 是构建在 WebDriverJS 之上的 Angular 应用程序的端到端测试框架。
我是 Web 测试领域的新手,我试图弄清楚使用量角器而不是直接使用 WebDriverJs 有什么好处。量角器的附加值是多少?
json - 角量角器 e2e 测试
我正在使用 Protractor 为我的 Angular 应用程序编写端到端测试。我可以模拟 httpBackend 进行单元测试,但我想实际调用服务器并获取 JSON 响应并再次编写测试返回的数据。
我已经阅读了很多关于 stackoverflow 的内容,但无法理解这是如何完成的。
我使用 $http 吗?如何将它注入我的 Jasmine 测试中?如何将响应 JSON 返回到我的 Jasmine 测试中?
任何帮助或资源链接以及有关执行此操作的说明都会有所帮助。
同样,我不想模拟服务器,我想访问服务器并取回 JSON。
谢谢!
javascript - Node.js 脚本因代理问题而失败
我正在尝试在我的 Mac 中安装量角器。安装是通过命令行完成的,但其中一个脚本由于连接问题而失败。主要问题是我在公司代理服务器后面。
我在控制台中设置了代理服务器,并且 npm 也配置了正确的代理设置。
失败的脚本在这里
它包含以下内容
我们如何修改此脚本以解决连接问题?
javascript - 角度测试:量角器无法获取输入值
我是 Protractor 的新手。尽管缺少文档,但我想我理解了基本原理,但我找不到解决这个问题的方法。
鉴于此代码:
我可以看到输入获取了它正在插入的文本,并且模型使用相同的值更新,但是测试失败'导致 description.getText() 返回''(空字符串)。
是否有不同的方法来捕获输入中的值?
提前致谢。
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}]
任何人都可以帮我解决这个问题或阐明我在这里可能做错了什么。
angularjs - 量角器在特定位置双击
我正在开发一个系统(使用AngularJS),该系统具有通过双击网页上的某个位置来调用的功能,然后我得到鼠标的坐标并做我想做的事。
我正在尝试使用量角器进行 e2e 测试,但找不到任何有关如何模拟双击并取回位置的信息。
有人对此有任何想法吗?
谢谢!
javascript - 使用 $resource 时量角器超时等待与页面同步
我正在用一个小型 AngularJS 应用程序测试 Protractor。
这是测试:
控制器:
草稿服务:
使用 Protractor 运行此测试会导致以下错误:
但是,如果在控制器中我更改此行:
对此:
测试按预期失败,但更重要的是:它不会超时。
启用 query() 后,无论是在浏览器中手动运行应用程序,还是查看 Protractor 打开的浏览器窗口时,API 返回的数据都会由中继器正确显示。
为什么 Protractor 在服务与 API 通信时无法与页面同步?
AngularJS 是 v1.2.0-rc3。量角器是 v0.12.0。
node.js - AngularJS 量角器和 Socket.IO
使用现有的 Angular 应用程序设置 E2E 测试时,由于我在应用程序中使用 socket.io,因此无法启动。Protractor 找不到通常由节点模块提供的 socket.io 文件,因为它不是我个人代码的一部分。
我收到错误消息:
在角度方面:
我相信这是因为它通常由节点模块提供服务:
与上面显示的我的 socket.io 工厂相比
有没有办法在不将 socket.io.js 文件复制到客户端代码库的情况下解决这个问题?
angularjs - 量角器 - 测试角度服务时未定义注入
我正在量角器中编写一个非常简单的测试规范来了解框架的要点。在我尝试测试服务之前一切正常。通常我会打电话inject
来获取依赖关系,但现在我得到了inject is not defined
错误。这是我的测试规范的代码: