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

angularjs - 从量角器测试修改角度变量

我正在编写 e2e 测试。我正在运行 AngularJS 应用程序,作为 Javascript 测试运行程序,我正在使用 grunt。在我的 html 中,我有代表通知警报的 div 标签。此标签在没有通知时隐藏,根据通知类型以绿色或红色弹出。我想测试当有一些通知时它是否会显示,以及颜色是否会根据通知类型而改变。为了测试我需要更新在范围上公开的模型值。这是我的html代码:

如何从我的 e2e 测试中设置 model.notifications?

更新:我使用评估函数在 html 元素上设置值,并且有我当前的 e2e 测试:

但是现在我的测试失败并出现以下错误: NoSuchElementError: No element found using locator: By.id("notificationAlert")

0 投票
2 回答
4752 浏览

angularjs - 告诉量角器在执行期望之前等待页面

当我单击导出按钮时,它会对我们的端点进行 REST 调用,然后几秒钟后,我收到响应,然后我还呈现表格。不幸的是,我读到每个调用都是异步的,这意味着即使表尚未呈现,我的期望也会被执行。我写的期望检查字符串是否在桌子上,但它失败了,因为它还不在那里。对此的正确方法是什么?

控制台上的错误是

我注意到该表尚未渲染,这就是它失败的原因。

0 投票
1 回答
975 浏览

angularjs - 量角器 e2e 测试以查找文本

我正在为我的 Angular 应用程序使用量角器进行 e2e 测试。这是我的代码

我的问题是,如果我点击“添加新记录”,它会在表格中添加一条新记录。在这里,我想测试新创建记录的名称和“添加标签”按钮。我试过下面的代码

这是工作。但是如果我再添加一条记录,我们每次都必须更改代码。所以我想动态地找到新创建的记录和“添加标签”按钮的文本。

0 投票
1 回答
796 浏览

angularjs - 量角器定位器链接无法找到元素文本

我试图找到位于另一个元素下的元素,而量角器似乎无法获得正确的值。

这是一个详细的描述。

我有以下 HTML:

然后我使用以下量角器代码来查找一行:

然后我尝试链接定位器以找到某个单元格:

然后我做一个期望:

这就是我得到的:

即使我清楚地将“1”作为舞台的计数。我知道这是因为:

  1. 我亲眼所见:)
  2. 我在预期之前停止在调试模式,并检查 HTML 以查看该跨度的文本确实是“1”。
  3. 然后我试试这个:

我在期望之前放置了 HTML 的打印输出:

我看到了预期的 HTML:

在那之后,我手动尝试这个:

我在打印输出中得到“”...

然后我尝试使用不同的方法来定位元素 - 使用 by.repeater 而不是 by.css。得到了同样的结果。

这里会发生什么?显然,HTML 包含正确的标记。为什么量角器无法正确提取它?

作为记录,我使用的是量角器版本 1.4.0,跑步者是 mocha 1.18.2,而不是 Jasmine。

非常感谢,丹尼尔

0 投票
0 回答
421 浏览

gruntjs - Protractor implicit waiting not working when using grunt-protractor-runner

I am writing e2e Tests for some JS application at the moment. Since I am not a JS developer I was investigating on this theme for a while and ended up with the following setup:

  • Jasmine2 as testing framework
  • grunt as "build-tool"
  • protractor as test runner
  • jenkins as CI server (already in use for plenty java projects)

Although the application under tests is not written in angular I decided to go for protractor, following a nice guide on howto make protractor run nicely even without angular.

Writing some simple tests and running them locally worked like a charm. In order to implicitly wait for some elements to show up in den DOM I used the following code in my conf.js:

All my tests were running as expected and so I decided to go to the next step, i.e. installation in the CI server.

The development team of the aplication I want to tests was already using grunt to build their application so I decided to just hook myself into that. The goal of my new grunt task is to:

  • assemble the application
  • start a local webserver running the application
  • run my protractor test
  • write some test reports

Finally I accomplished all of the above steps, but I am dealing with a problem now I cannot solve and did not find any help googling it. In order to run the protractor test from grunt I installed the grunt-protractor-runner.

The tests are running, BUT the implicit wait is not working, causing some tests to fail. When I added some explicit waits (browser.sleep(...)) everything is ok again but that is not what I want.

Is there any chance to get implicitly waiting to work when using the grunt-protractor-runner?

UPDATE: The problem does not have anything to do with the grunt-protractor-runner. When using a different webserver I start up during my taks its working again. To be more precisley: Using the plugin "grunt-contrib-connect" the tests is working using the plugin "grunt-php" the test fails. So I am looking for another php server for grunt now. I will be updating this question.

UPDATE 2: While looking for some alternatives I considered and finally decided to mock the PHP part of the app.

0 投票
1 回答
1547 浏览

testing - ProtractorJS 测试新的 LI 元素是否已附加到 UL

让量角器填写一个字段,单击保存按钮,然后将信息附加到 UL(li为每个保存创建一个新的)。

我想测试li元素数量是否增加或是否li推送了新元素。

在这方面有很多麻烦,谢谢。

0 投票
0 回答
855 浏览

javascript - 如何报告量角器超时的角度待处理请求?

我最近一直在进行一些量角器测试,有时我的一些测试会随机失败,并出现以下错误:

$http查看量角器文档时,通常会在有待处理的请求或我正在使用 $timeout 进行某些操作时发生此错误。我尝试为我的测试设置更长的超时时间(分钟),但没有帮助。我最近的想法是报告哪些请求正在等待,所以我做了以下 Jasmine Reporter:

然而结果总是一个空的[]。你们之前有没有遇到过这个问题,如果有,你们是怎么解决的?另外,我能做些什么来改善这位记者吗?

0 投票
1 回答
2278 浏览

angularjs - 使用量角器运行 e2e 测试用例时显示光标移动

我对使用量角器进行 e2e 测试完全陌生。我的问题是,当我运行我的测试用例时如何显示/显示光标移动。我在谷歌搜索,我没有得到任何结果。帮我。

0 投票
1 回答
673 浏览

javascript - 如何在 e2e 测试中遍历行列

我正在尝试测试我的表格的内容,我需要遍历所有行和列才能完成此操作。我目前的代码是:

我正在访问单元格的内容,但测试仍然失败,因为计数器在 rows[i].all(....) 内递增。我的行长度是预期的两个,并且期望通过了,但我仍然很困惑为什么计数器在 rows[i].all(...) 内也增加。我得到的错误是:

失败:无法读取未定义的属性“应用程序”

这是因为它试图访问索引为 2 的应用程序,而数组中没有该元素。

0 投票
0 回答
246 浏览

angularjs - 如何在角度 e2e 测试中从 URL 中提取 Id

我正在使用量角器为我的角度应用程序编写 e2e 测试用例。这是我的代码

如何从 URL(/patientDashboard/encounters/1) 中提取 ID?因为我在具有不同 ID 的多个地方使用相同的 URL。