问题标签 [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.
angularjs - 从量角器测试修改角度变量
我正在编写 e2e 测试。我正在运行 AngularJS 应用程序,作为 Javascript 测试运行程序,我正在使用 grunt。在我的 html 中,我有代表通知警报的 div 标签。此标签在没有通知时隐藏,根据通知类型以绿色或红色弹出。我想测试当有一些通知时它是否会显示,以及颜色是否会根据通知类型而改变。为了测试我需要更新在范围上公开的模型值。这是我的html代码:
如何从我的 e2e 测试中设置 model.notifications?
更新:我使用评估函数在 html 元素上设置值,并且有我当前的 e2e 测试:
但是现在我的测试失败并出现以下错误: NoSuchElementError: No element found using locator: By.id("notificationAlert")
angularjs - 告诉量角器在执行期望之前等待页面
当我单击导出按钮时,它会对我们的端点进行 REST 调用,然后几秒钟后,我收到响应,然后我还呈现表格。不幸的是,我读到每个调用都是异步的,这意味着即使表尚未呈现,我的期望也会被执行。我写的期望检查字符串是否在桌子上,但它失败了,因为它还不在那里。对此的正确方法是什么?
控制台上的错误是
我注意到该表尚未渲染,这就是它失败的原因。
angularjs - 量角器 e2e 测试以查找文本
我正在为我的 Angular 应用程序使用量角器进行 e2e 测试。这是我的代码
我的问题是,如果我点击“添加新记录”,它会在表格中添加一条新记录。在这里,我想测试新创建记录的名称和“添加标签”按钮。我试过下面的代码
这是工作。但是如果我再添加一条记录,我们每次都必须更改代码。所以我想动态地找到新创建的记录和“添加标签”按钮的文本。
angularjs - 量角器定位器链接无法找到元素文本
我试图找到位于另一个元素下的元素,而量角器似乎无法获得正确的值。
这是一个详细的描述。
我有以下 HTML:
然后我使用以下量角器代码来查找一行:
然后我尝试链接定位器以找到某个单元格:
然后我做一个期望:
这就是我得到的:
即使我清楚地将“1”作为舞台的计数。我知道这是因为:
- 我亲眼所见:)
- 我在预期之前停止在调试模式,并检查 HTML 以查看该跨度的文本确实是“1”。
- 然后我试试这个:
我在期望之前放置了 HTML 的打印输出:
我看到了预期的 HTML:
在那之后,我手动尝试这个:
我在打印输出中得到“”...
然后我尝试使用不同的方法来定位元素 - 使用 by.repeater 而不是 by.css。得到了同样的结果。
这里会发生什么?显然,HTML 包含正确的标记。为什么量角器无法正确提取它?
作为记录,我使用的是量角器版本 1.4.0,跑步者是 mocha 1.18.2,而不是 Jasmine。
非常感谢,丹尼尔
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.
testing - ProtractorJS 测试新的 LI 元素是否已附加到 UL
让量角器填写一个字段,单击保存按钮,然后将信息附加到 UL(li
为每个保存创建一个新的)。
我想测试li
元素数量是否增加或是否li
推送了新元素。
在这方面有很多麻烦,谢谢。
javascript - 如何报告量角器超时的角度待处理请求?
我最近一直在进行一些量角器测试,有时我的一些测试会随机失败,并出现以下错误:
$http
查看量角器文档时,通常会在有待处理的请求或我正在使用 $timeout 进行某些操作时发生此错误。我尝试为我的测试设置更长的超时时间(分钟),但没有帮助。我最近的想法是报告哪些请求正在等待,所以我做了以下 Jasmine Reporter:
然而结果总是一个空的[]
。你们之前有没有遇到过这个问题,如果有,你们是怎么解决的?另外,我能做些什么来改善这位记者吗?
angularjs - 使用量角器运行 e2e 测试用例时显示光标移动
我对使用量角器进行 e2e 测试完全陌生。我的问题是,当我运行我的测试用例时如何显示/显示光标移动。我在谷歌搜索,我没有得到任何结果。帮我。
javascript - 如何在 e2e 测试中遍历行列
我正在尝试测试我的表格的内容,我需要遍历所有行和列才能完成此操作。我目前的代码是:
我正在访问单元格的内容,但测试仍然失败,因为计数器在 rows[i].all(....) 内递增。我的行长度是预期的两个,并且期望通过了,但我仍然很困惑为什么计数器在 rows[i].all(...) 内也增加。我得到的错误是:
失败:无法读取未定义的属性“应用程序”
这是因为它试图访问索引为 2 的应用程序,而数组中没有该元素。
angularjs - 如何在角度 e2e 测试中从 URL 中提取 Id
我正在使用量角器为我的角度应用程序编写 e2e 测试用例。这是我的代码
如何从 URL(/patientDashboard/encounters/1) 中提取 ID?因为我在具有不同 ID 的多个地方使用相同的 URL。