问题标签 [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 回答
57 浏览

javascript - 非角网站 - 检查结果排序

请您指教,如何验证非角度网站搜索结果是否按排序顺序显示?

我试图在一个数组中捕获所有列出的项目,然后验证它们是否按排序顺序。但是无法将测试结果推送到数组中。请您查看以下代码片段并就此提出建议。

以下是测试结果输出。

1)测试网站-资金机会列表-检查资金列表是否按排序顺序显示消息:预期0为10。堆栈跟踪:错误:预期0为10。

2) 测试网站 - 资金机会列表 - 检查资金列表是否按排序顺序显示 消息:预期 [ ] 等于“你好”。Stacktrace:错误:预期 [] 等于“你好”。3) 测试网站 - 资助机会列表 - 检查资助列表是否按排序顺序显示 消息:预计 '15 for 2015' 匹配 'junk'。4) 测试网站 - 资助机会列表 - 检查资助列表按排序顺序显示 消息:预期“3Rs Prize”与“junk”匹配。5) 测试网站 - 资助机会列表 - 检查资助列表是否按排序顺序显示 消息:预期“3Rs 研究资助计划 - 项目资助”与“垃圾”匹配。

0 投票
3 回答
4636 浏览

javascript - nightwatch.js 互联网浏览器

我正在使用 nightwatch 来测试我的 javascript 应用程序。我需要能够在本地机器上运行跨浏览器测试。Chrome 和 Firefox 都可以,但是在 IE 上运行测试时出现错误:

IEDriverServer 和 selenium 一样是 2.45.0 版本。我在 64b Windows 8.1 上使用 x64 版本。而且我已经完成了 IE11 的注册表操作。

测试文件:

nightwatch.json:

运行命令:

它在这一行失败:

提前感谢所有帮助。

0 投票
3 回答
17070 浏览

selenium - Nightwatch 测试:将浏览器设置为固定大小

有什么方法可以确保浏览器不会从初始窗口大小发生变化。在测试期间单击了几件事会导致窗口最大化,但我希望它始终保持相同的大小。

0 投票
1 回答
186 浏览

python - Protractor 在使用 browser.wait 时没有正常运行,消息:“在 XXXms 后等待超时”

我使用量角器很长时间,在 Mac OS X (Mavericks) 中安装 django 和更新 python,之后:

无法正常工作并显示上述消息:

我该如何解决这个问题?

0 投票
5 回答
15995 浏览

javascript - Jasmine 规范超时。重置 WebDriver 控制流 - 重定向到新页面时

我是 e2e 测试的初学者并且遇到了问题。当我登录时 - 我从 login.php 重定向到 index.php 页面。但我的测试失败并出现以下错误:

我的代码:

所以问题是我如何等待我的页面重新加载并检查 url?

UPD

我发出 Ajax POST 请求,如果登录/密码正确,我会重定向到 /index.php

更新 2

我用 browser.wait (browser.driver.wait) 尝试了几种结构,但没有任何成功:

所有这些都不起作用:(但是当我不使用浏览器元素时-它起作用了。例如:

所以我想这是重定向后使用浏览器元素时的问题。

有什么想法吗?

0 投票
1 回答
1058 浏览

ionic-framework - 使用量角器等待离子加载对话框

有类似的问题(链接如下),但没有一个能解决这个问题。我正在为 Ionic Project 编写量角器测试。当离子加载对话框出现和消失时,我需要执行测试。

我已经创建了一个包含应用程序的基本骨架和需要进行的测试的存储库。解决这个问题,你就解决了问题(我在下面描述了问题):https ://github.com/TmanTman/StackoverflowQ 。只需在 conf.js 中为您的系统调整 Chrome 的路径即可。

为了模拟异步 Ionic Loading 对话框,我只需将其添加到空白 Ionic 项目中的控制器中:

我需要让量角器等待对话框出现,做一些测试,等待对话框消失,然后再做一些测试。我在测试文件中的最新尝试是:

我试图避免使用同步睡眠功能,因为我的代码是高度异步的。我尝试了无数种变化,但我无法让它发挥作用。我用于信息的链接包括:

0 投票
1 回答
296 浏览

requirejs - Protractor 规范中的 RequireJS 模块。可能吗?

重要信息:我使用的是编译为 ES5 的 TypeScript。

我的最终目标是拥有模块化规范,可以即时加载帮助程序并简化 PageObject 模式的使用。类似于(我将在问题末尾发布我的 protractor.conf.js 文件):

现在Error: ReferenceError: define is not defined当我运行它时我得到了。如果我删除 HomePage 导入和使用该对象的任何内容,则测试通过,因此很明显加载 AMD 模块是让 Protractor 遇到困难的原因,但我不知道如何告诉它在它之前加载 RequireJS开始测试。


我尝试过的事情

一些答案(我认为这里有一个)提到使用 r.js 来让 Node 加载 RequireJS 模块。但是,这并没有那么好用,因为在我的模块中添加 require 方法会导致 TypeScript 编译器将其放入 generatedefine()中,因此无法达到目的。

我也找不到如何告诉 Protractor 在启动之前加载脚本,所以我考虑添加 RequireJS 作为规范,认为它会加载我的测试所需的方法,主要是define()andrequire()函数,但这也不起作用.


我的protractor.conf.js文件:

0 投票
1 回答
1961 浏览

angularjs - 我应该使用 id 来定位元素吗?

从 Angular 和 Protractor 开始。

编写一些沉重的 css 选择器会在您更改某些内容时立即中断,这感觉是错误的。使用 ID 将使测试更容易。

我还没有使用任何 id 属性进行样式设置。使用 id 进行测试有什么我没有考虑过的缺点吗?

0 投票
2 回答
746 浏览

protractor - 只有在之前的测试没有失败的情况下才运行测试

TL:博士;我有一个清单。您可以:添加、删除、编辑和搜索/过滤项目。

我只想在第一次测试成功的情况下运行我的测试。it('shall delete a new item', ..)

有没有办法我可以做到这一点?

0 投票
1 回答
900 浏览

angularjs - 测试引导模态元素 NoSuchElementError - Protractor

我试图检查在线引导模式

./usr/local/lib/node_modules/protractor/bin/elementexplorer.js https://angular-ui.github.io/bootstrap/

我如何与模态框中的按钮进行交互?一些忠告?