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

angularjs - 如何在量角器中选择单个项目

通常在量角器中,您可以选择奇异元素:

偶尔你会得到这样的东西:

它可能具有多个元素。从定位多个元素的定位器中选择索引的正确方法是什么,并且仍然包含量角器发送密钥的方法?

0 投票
11 回答
91772 浏览

angularjs - 如何使用量角器测试元素是否具有类?

我正在尝试使用 Protractor 对 Angular 应用程序进行 e2e 测试,但还没有弄清楚如何检测元素是否具有特定的类。

在我的例子中,测试点击了提交按钮,现在我想知道 form[name="getoffer"] 是否有类 .ngDirty。可能有什么解决方案?

0 投票
3 回答
1012 浏览

internet-explorer - 在多个版本的 IE 中运行量角器 e2e 测试

是否有在多个版本的 Internet Explorer 中运行量角器 e2e 测试的最佳实践?

0 投票
8 回答
110160 浏览

angularjs - 如何在量角器中的输入上获取文本

在量角器的文档中,我看到以下示例:

这里很清楚的是,您可以使用“by.model”在输入框中设置值,但是如果您想查看输入框并查看其中的内容,则需要使用“by.binding”。

我有一组代码(总而言之)我这样做:

(在我的真实代码中,我保存实体然后在编辑模式下返回它,我正在检查我的值是否实际保存。但它仍然归结为同样的事情,这个示例代码给出了同样的问题)。

这给了我一个错误:

理论上,按照文档中的示例,我可以改为:

但是 by.binding 似乎不喜欢完全限定的模型,我收到一个错误:

如果我这样做,它确实有效(在时尚之后):

这会找到一个元素,但也会警告我有多个与“名称”匹配的元素。不幸的是,它选择的那个不是正确的。

所以,两个问题:

  1. by.model 是否应该能够返回 getText(),或者是否有设计决定它不这样做,我们需要使用 by.binding 来代替?
  2. 我是否应该能够在 by.binding 中使用完全限定的实体,或者是否存在 by.binding 不喜欢完整模型名称的设计决策?如果是这样,我可以使用哪些其他限定符在不同的绑定之间进行选择?

编辑:

我也试过vdrulerz建议的解决方案,我修改代码如下:

console.log 返回一个空白值(不是承诺或对象),并且期望失败给出消息:

我的理解是量角器已经修补了期望来处理承诺,所以我觉得根本问题是 getText 不能在通过模型识别的字段上工作(我可以成功地在标签和其他小部件上获取文本)。

我还可以使用 getAttribute 而不是 getText() 运行以下代码:

第一部分通过 - 预期有效。第二部分也有效,表明 vdrulerz 的语法也是有效的,它会将“true”记录到控制台。我认为 getText 可能存在缺陷?

0 投票
1 回答
26652 浏览

javascript - 量角器 - 单击列表中的链接

给定一个包含任务列表的待办事项应用程序:遛狗、吃午餐、购物。每个任务都有一个“完整”链接。

使用量角器,如何单击第二个任务“吃午餐”的完整链接?最好我想在我的测试中不使用索引来做到这一点。

html结构是这样的...

这似乎是一种常见的情况,所以肯定有一个我忽略的简单解决方案。提前致谢

0 投票
1 回答
1632 浏览

angularjs - AngularJS 和 Karma - 包含或需要文件

一段时间以来,我一直在使用 AngularJS 和 Karma/Jasmine 进行单元测试(几个月,我认为这让我几乎是个老手了)。我一直想要一种在我的 Karma 测试中创建可重用函数的方法,但我已经让自己辞职,因为没有好的方法可以做到这一点。

我最近也开始使用量角器,它提供端到端测试。在量角器中,有一种要求语法可以将一个文件包含到另一个文件中,从而允许我们创建库函数。这非常方便,我想在 Karma/Jasmine 中使用类似的东西。

我还没有在量角器中找到这种能力存在的地方,但它显然在 Karma 中不存在。有没有人发现或实现了类似的功能?

0 投票
3 回答
879 浏览

angularjs - 量角器 - 验证从一项测试到另一项测试的数据

在我们的 Angular 应用程序中,我们已经开始使用量角器工具,但它仍处于早期阶段,对于一个测试我们停留在一个点上,我们没有找到任何方法将数据从一个测试传输到另一个测试,在功能范围内它是给我获取的值,我也可以在命令提示符下打印它。但是,当我希望将此值用于其他测试时,它会为该变量返回 undefined。

伙计们,你们一定都遇到过这种情况,请提及实现此用例的不同可能方式。

等待你的回复 !!

谢谢 !!

0 投票
2 回答
35642 浏览

angularjs - What is the syntax for selecting an element in protractor via element name

Is it possible to get an element by its name like you can with jQuery? I'm trying to do the equivalent of the jQuery selector like in jQuery

how is this done with protractor?

I tried

but it doesn't work

0 投票
0 回答
349 浏览

javascript - 获取量角器来评估元素的isolateScope

我有一个刚刚开始失败的 e2e 测试。它看起来像这样:

如果我在那里扔一个ptor.debugger(),我可以使用开发工具来查看:

然而:

我认为这可能是由于Angular 发生了重大变化,但如果我说我完全理解他们的描述,那我又是在撒谎。

0 投票
3 回答
19888 浏览

angularjs - Protractor: Testing Angular App in an Iframe

I've got an interesting setup here.

I have an Angular App that loads another Angular App inside an iframe. I'm interested in testing the iframed-in Angular app with Protractor.

Protractor is waiting for the first Angular app to load, but when I switch the iframe with

I can see that Protractor is not waiting for the iframed Angular app before making assertions. I have tried adding

After switching to the iframe with no luck. Anybody have any ideas what is going on here?

Thanks!

If it helps, I'm running my tests through the Saucelabs ssh tunnel on Chrome. I can tell that the tunneling is working because I see the resources for the iframed app being requested and downloading.