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

selenium - 带咕噜声的量角器和 Teamcity

我正在尝试使用 Grunt 在 Teamcity 上进行一些量角器测试。

我不确定如何设置跑步者。我试过使用命令行运行器,但没有成功。

我可以用 Grunt 调用量角器,但问题在于“webdriver-manager start”。

我能够启动 Selenium 服务器,但服务器没有终止,所以 build 坐在那里,TC 不知道何时开始量角器测试......

使用 Teamcity 设置量角器测试的最佳方法是什么?让 Selenium 一直在代理上运行是否常见?

提前致谢

0 投票
1 回答
2795 浏览

unit-testing - browser.executeScript 给出错误(Angularjs、量角器、单元测试)

在我的测试中,我有一段由 browser.executeScript 执行的代码,但它有一些我无法修复的错误

这是 browser.executeScript 代码:

我有两个问题:

  1. $scope.row.nr ,它说 $scope 没有定义
  2. 在我的 window.location.href 上,它说对象 [对象位置] 的属性“href”不是一个函数(当我删除 href 时,它只对位置说同样的话)。

有谁知道如何解决这个问题?

0 投票
2 回答
3425 浏览

angularjs - 影响数据库的 Angular e2e 测试

这是我的问题,一步一步来 :)) 我认为这样读起来更好,不像一堵文字墙可怜地试图解释我的特定领域的问题。

1)我们有一个Angular.js带有PHP后端MongoDB存储支持的应用程序。

2)Protractor端到端测试。

3)需要测试改变数据库的页面,即注册场景——我正在测试中完成所有注册步骤,因此数据库获得了新的用户记录。

4)可以预见,测试在运行后会失败,因为数据库有测试用户的记录并且不需要注册 - 用户被重定向到主页。

我正在考虑获得一个mongodbnode.js,并在测试中与数据库交互。
但这似乎并不正确:数据库连接的配置文件php位于后端的文件中,而我正在尝试为我们应用程序的纯前端部分编写测试。

有任何想法吗?

0 投票
2 回答
3916 浏览

protractor - 量角器找不到 cli.js 文件

我刚刚安装了量角器和默认 repo 以及 webdriver。每次我运行量角器时都会出现此错误

不知道如何解决这个问题......任何线索?

0 投票
4 回答
8902 浏览

javascript - AngularJS Protractor E2E 测试中的页面对象

为AngularJS编写Protractor E2E测试处理页面对象模型的正确方法是什么?我觉得我应该将它们写在单独的文件中(如 homepage.js、page2.js 等),然后根据需要以某种方式将它们包含到模块等规范中。但是,我不知道如何注入它们。将不胜感激任何建议。谢谢!

0 投票
2 回答
9840 浏览

javascript - 在量角器中添加 Cookie 以测试 AngularJS

我无法在 Protractor for Angularjs 中进行非常简单的添加和获取 cookie 测试。这是测试块:

该测试失败并说数据为空。如果我打印getCookies()它会打印所有的 cookie 但测试 cookie 不会在那里。真的很感激这方面的一些帮助!谢谢!

0 投票
2 回答
11281 浏览

selenium - 量角器独立硒失败:错误:等待WebDriver服务器超时

我已经使用独立的 selenium 服务器安装了量角器:

如果我在独立服务器已经运行并且配置指向该 selenium 实例的情况下运行量角器,则它可以正常工作。

我想让量角器启动服务器然后运行测试。默认情况下,量角器会找到 chrome 驱动程序和 selenium 服务器 jar,因此我使用的是最小配置:

但是当它启动时,它无法连接到服务器。

我注意到当使用 webdriver-manager start 启动 seleniumn 时,服务器在 localhost 上启动。我似乎无法让量角器做同样的事情。

我的猜测是防火墙阻止了连接。

环境版本信息: - grunt v0.4.1
- 节点 0.10.18 - selenium-server-standalone-2.37.0.jar - selenium-server-standalone-2.38.0.jar - protractor 0.14.0 - windows 7 Pro

0 投票
1 回答
706 浏览

javascript - 量角器报价问题

我有一个关于量角器内引号的问题。

这是我的代码:

这工作得很好,但现在我希望 RegEXP("16.5") 检查 "status": "ok" 是否在字符串内。

我想要的是: RegEXP(" "status": "ok" ") ,但这当然行不通,由于 browser.executeScript 的单引号,我不能使用单引号。

有人知道我怎样才能让它工作吗?

0 投票
2 回答
7402 浏览

javascript - Protractor Jasmine 描述嵌套在 it 块中的块

首先,下面的代码似乎工作。但是,我还没有看到有人这样做,所以我想知道这是否合法,以及我是否错过了不可预见的缺点。

上下文是我正在用 Protractor 编写一个 E2E 测试,它使用 Jasmine 风格的 describe/it 块。我的目标是加载一个页面并运行一堆it测试块,而无需每次都重新加载该页面(因为它很耗时)。

我的构造是:

我意识到另一种方法就是这样做:

但问题是我无法将测试分开,你最终会遇到一个it大块。我想以某种方式避免每次运行 beforeEach 的问题,但仍然能够很好地分离设置测试块。


顺便说一句,我也试过这个:

除非当您有多个这样的规格时,这不起作用。browser.get() 在测试运行之前一个接一个地运行。

0 投票
2 回答
2186 浏览

angularjs - How can I grab all the content/text on a page inside a protractor test?

I want to set a variable based on whether some text is present on the current page or not.

And then run a protractor test that depends on that variable. I can't do $(':contains') because there's $ != jQuery in this context and i can't see a simple way to do it with getText() which returns a promise. Is there a matcher like expect.toContain? and a way to run some code after that matcher is run? Or is there some other strategy i can use.