问题标签 [e2e-testing]

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

javascript - 量角器:写入文本框后尝试读取文本以进行 e2e 测试

在我的 html 文档中,我有以下代码:

这会给我一个文本框,旁边有一个标签,上面写着“名字”。

然后我使用以下代码在文本框中写下我的名字:

此代码将在文本框中写入 Frank,但现在我的目标是尝试从文本框中读取文本,以确保它确实写了我的名字。我在做这件事时遇到了很多麻烦。

我尝试使用以下代码从文本框中读取:

但我得到这个错误:

AssertionError: 预期 { Object (locator_, parentElementFinder_, ...) } 等于 'Frank'

另外,当我尝试做一个:

我收到此错误:

{ locator_: { findElementsOverride: [Function], toString: [Function: toString] }, parentElementFinder_: null, opt_actionResult_: { then: [Function: then], cancel: [Function: cancel], isPending: [Function: isPending] } , opt_index_: undefined, click: [Function], sendKeys: [Function], getTagName: [Function],
getCssValue: [Function], getAttribute: [Function], getText: [Function], getSize: [Function], getLocation: [ Function],
isEnabled: [Function], isSelected: [Function], submit: [Function], clear: [Function], isDisplayed: [Function], getOuterHtml: [Function], getInnerHtml: [Function], toWireValue: [Function] }

尝试使用时出现同样的错误getAttribute('value')。我不确定该错误的确切含义,也不确定我在使用console.log(). 我对使用量角器有点陌生。非常感谢您的任何帮助,并提前感谢您。

编辑:完整的 spec.js

0 投票
1 回答
2595 浏览

angularjs - 量角器在按下隐藏的单选按钮时遇到问题

我在使用量角器按下页面上隐藏的单选按钮时遇到问题。您将在下面找到一个测试,其中流程应按以下方式工作。

  1. 页面也被导航,并确保单选按钮存在。(以下两种验证存在的方法,都有效)

  2. 尝试以各种不同的方式单击按钮。所有被注释掉的方法,以及下面真正的方法都不会出错,但它们也不会“单击”单选按钮。我能够确认这一点,因为底部的 3 个期望查看单击按钮时显示的表单是否实际显示,并且每次都变为错误。

对此的任何帮助将不胜感激,下面我还放置了此代码正在查看的示例 html。任何帮助都会很棒,甚至不确定是否可能。感谢您提前提供任何帮助

单选按钮元素

弹出元素的表单

0 投票
1 回答
171 浏览

selenium - 无法捕获过时的元素引用 - 咖啡脚本

我在使用下面的代码时不断收到,stale element reference exception所以我决定添加一个try/catch块。我仍然收到此错误。我的try/catch块写不正确吗?

0 投票
1 回答
3952 浏览

javascript - 量角器 StaleElementReferenceError:元素不再附加到 DOM

在我的 Angular 应用程序中,当用户打开页面时,我们最初会加载缓存的内容,然后对服务器进行异步调用以轮询实际数据并更新页面。我正在尝试访问已显示的元素,但该元素的指针已更改,因为页面内容已更新,即使该特定元素上没有任何实际更改。

我尝试了不同的解决方案,但仍然无法让它像我想要的那样稳定。我需要像 try/catch 块这样的东西,因为我不想使用 browser.wait。

从描述看起来像

应该处理 $http 调用,但它没有帮助。

这是一个代码示例:

这是我尝试使用 try/catch 的另一个示例,但看起来我做错了什么。我在 try 块中有这个错误:

StaleElementReferenceError:元素不再附加到 DOM

我的帮助功能的代码:

我正在尝试等待可以与之交互的元素。

0 投票
1 回答
1776 浏览

angularjs - 量角器:TypeError:无法调用未定义的方法“单击”

目前有一个问题试图弄清楚为什么以下元素在尝试单击时抛出错误“TypeError:无法调用未定义的方法'click'”。

正在查看的元素如下(有多个元素,这就是为什么我调用“.get(0)”来查看它们中的第一个单选按钮):

0 投票
4 回答
26569 浏览

angularjs - 量角器 E2E 角度“在窗口上找不到角度”

在 angular project 中运行测试后出现一个奇怪的错误 Error: Error while waiting for Protractor to sync with the page: "angular could not be found on the window"。我的量角器配置如下所示:

并测试:

从页面获取信息:

github上有一些类似的问题,但我没有找到适合我的解决方案。谢谢回答。

0 投票
1 回答
16624 浏览

jasmine - AngularJS 测试:Yeoman 应用程序中的量角器、Karma、Jasmine

我使用这个 yeoman 生成器: https ://github.com/Swiip/generator-gulp-angular

它安装了三个测试应用程序:Jasmine、Karma、Protractor 根据这篇文章(我应该使用 Protractor 还是 Karma 进行端到端测试?),我应该使用:Karma 进行小型测试,例如单个控制器。Protactor 如果我想测试整个应用程序并模拟用户浏览我的应用程序。根据这个博客(http://andyshora.com/unit-testing-best-practices-angularjs.html),我会使用 Jasmine 进行单元测试,使用 Karma 进行端到端集成测试。

我猜 Jasmine 是编写测试的语言,其他两个执行代码,对吗?另外,如果我从来没有写过一个更重要的是先学习/关注的测试?

0 投票
0 回答
301 浏览

java - 如何通过注释绑定到 guice 提供程序?

guice在我的项目中使用,我用黄瓜运行 E2E 测试。

我想将 selenium webdriver 绑定到

1) 通常到ChromeWebDriver

2) 对于带有注释的成员@Firefox我想绑定到FirefoxWebDriver

我写了这段代码

FireFox 实例确实已初始化,但是:

1) Chrome 也被初始化。@Firefox仅在应用注释时如何抑制它?

我在这种情况下使用的所有成员都与@Firefox

2) 不止一个firefox被初始化,即使我添加了@scenarioScoped.class. 我怎样才能只做一个初始化?

firefoxe3)只有当我的黄瓜测试成功通过时,我才能关闭这个实例?

0 投票
1 回答
146 浏览

unit-testing - 如何处理 TFS 中的测试报告聚合

我目前正在尝试找出如何处理从交付管道中获得的所有不同测试报告。我有很多来自不同测试用例的报告,例如 E2E(量角器)、单元测试(Karma)等。有什么工具可以用来汇总我的报告吗?我想要一份报告来整合我所有不同的报告并通过构建 ID 对它们进行排序。我可以为此使用 Microsoft 测试管理器吗?任何帮助将不胜感激。

0 投票
1 回答
845 浏览

testing - 量角器 - 测试 Oauth2 时切换到 facebook 登录屏幕

我正在尝试为使用 oauth2 的应用程序编写 e2e 登录测试。单击 facebook 登录时 - 打开另一个窗口(facebook 登录)。我正在尝试在那里输入凭据。我目前正在使用

因为它是一个新窗口。我读过我可以通过在控制台中输入“window.name”来获取窗口的名称。这样做时,我得到了“_e_02MT”,我还尝试了“window.document.title”并得到了“Facebook”,我尝试了不同的组合

等等仍然无法到达那个窗口。我收到错误:

有任何想法吗?

谢谢。