使用 gulp 运行 Protractor 和 selenium 时出现问题

2024-02-08

我是量角器的新手,也是 gulp 任务的新手。我有 gulp 文件,如下所示:

    'use strict';
var global = {
    app_files: {
        spec: './e2e/**/*_spec.js'
    },
    folders: {
        specs: './specs'
    }
};
var gulp = require('gulp');
var jshint = require('gulp-jshint');
var stylish = require('jshint-stylish');
var beautify = require('gulp-jsbeautifier');
var protractor = require('gulp-protractor').protractor;
// Download and update the selenium driver
var webdriver_update = require('gulp-protractor').webdriver_update;
var webdriver_standalone = require('gulp-protractor').webdriver_standalone;
// Downloads the selenium webdriver
gulp.task('webdriver_update', webdriver_update);
// Runs the selenium webdriver
gulp.task('webdriver_standalone', webdriver_standalone);
// Lint spec files
gulp.task('lint', function() {
    return gulp.src(global.app_files.specs).pipe(jshint()).pipe(jshint.reporter(stylish)).pipe(jshint.reporter('fail'));
});
// Beautify spec files
gulp.task('beautify', function() {
    return gulp.src(global.app_files.specs).pipe(beautify({
        config: '.jsbeautifyrc'
    })).pipe(gulp.dest(global.folders.specs));
});
gulp.task('e2e:local', ['lint', 'webdriver_update'], function() {
    gulp.src([global.app_files.specs], {
        read: false
    }).pipe(protractor({
        configFile: 'protractor.conf.js'
    })).on('error', function(e) {
        throw e;
    });
});
gulp.task('e2e', ['e2e:local']);

但是当我使用 - gulpe2e:local 在量角器中运行时,出现以下错误:

MacBook-Pro:spec sab$ protractor protractor.conf.js -gulpe2e:local
Using the selenium server at http://127.0.0.1:4444/wd/hub
[launcher] Running 1 instances of WebDriver

/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:174
      callback(new Error(message));
               ^
Error: ECONNREFUSED connect ECONNREFUSED 127.0.0.1:4444
    at ClientRequest.<anonymous> (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:174:16)
    at emitOne (events.js:77:13)
    at ClientRequest.emit (events.js:169:7)
    at Socket.socketErrorListener (_http_client.js:265:9)
    at emitOne (events.js:77:13)
    at Socket.emit (events.js:169:7)
    at emitErrorNT (net.js:1256:8)
    at nextTickCallbackWith2Args (node.js:455:9)
    at process._tickCallback (node.js:369:17)
From: Task: WebDriver.createSession()
    at Function.webdriver.WebDriver.acquireSession_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:157:22)
    at Function.webdriver.WebDriver.createSession (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:131:30)
    at [object Object].Builder.build (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/builder.js:445:22)
    at [object Object].DriverProvider.getNewDriver (/usr/local/lib/node_modules/protractor/lib/driverProviders/driverProvider.js:38:7)
    at [object Object].Runner.createBrowser (/usr/local/lib/node_modules/protractor/lib/runner.js:186:37)
    at /usr/local/lib/node_modules/protractor/lib/runner.js:276:21
    at _fulfilled (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:797:54)
    at self.promiseDispatch.done (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:826:30)
    at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:759:13)
    at /usr/local/lib/node_modules/protractor/node_modules/q/q.js:525:49
[launcher] Process exited with error code 1

任何帮助将不胜感激。

Thanks

Sabbu


该错误表明 Protractor 正在尝试连接到 Webdriver,但 TCP 连接被拒绝。这可能是因为网络驱动程序未运行。

您的 gulp 文件定义了启动 webdriver 的任务:

// Runs the selenium webdriver
gulp.task('webdriver_standalone', webdriver_standalone);

运行它:

gulp webdriver_standalone

让它运行,然后运行 ​​gulp 任务来开始测试。

或者,您可以让量角器为您启动和停止网络驱动程序。来自文档 https://github.com/mllrsohn/gulp-protractor:

您有 2 个选项来启动 selenium 服务器。

第一个是让 Protractor 自动处理它,包括在测试完成后停止它。为此,只需指向量角器配置文件中的 selenium jar(您需要相应地更新版本号)而不是地址:

// The file path to the selenium server jar ()
seleniumServerJar: './node_modules/protractor/selenium/selenium-server-standalone-2.45.0.jar',
// seleniumAddress: 'http://localhost:4444/wd/hub',
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 gulp 运行 Protractor 和 selenium 时出现问题 的相关文章

随机推荐

  • 什么时候使用静态变量?

    我目前正在 C 中做一个需要大量渲染的项目 并且在几乎所有类中 都有一个用于缩放渲染的整数类型常量值 我知道我可以在一个地方将这个常量定义为普通变量 然后将其传递 但 这看起来确实很麻烦 什么时候可以在 C 中使用静态变量 解决我的问题的最
  • iOS 推送通知中的多行标题

    我正在为一个具有 iOS 和 Android 版本的应用程序集成 FCM 目前 对于 iOS 我想以多行形式发送标题 我该怎么做呢 我正在尝试使用 Firebase 控制台进行测试 但似乎没有什么对我有用 我尝试过这些 n br n r n
  • Python-请求如何在发布之前调用js函数来计算一些值?

    我使用请求 2 2 1 来登录网址http tx3 netease com logging php action login 但是这个url的登录逻辑与Django的csrf token机制不同 即 当你获取这个url时 有两个导入值for
  • jQuery Spinner:非数值

    我正在使用 jQuery Spinner 设置了最小值 0 和最大值 500 如何防止用户在输入框中直接输入非数字值 或0 500范围之外的值 当用户使用微调器按钮时 最小值和最大值起作用 但在输入表单中键入内容时则不起作用 You can
  • 如何使用 Spring Boot 通过电子邮件发送文件而不先将其存储在存储中? [复制]

    这个问题在这里已经有答案了 我正在开发一个 Spring Boot 应用程序 在我的项目中 我正在创建一个 xlsx 文件 然后我必须使用 Spring Boot 通过电子邮件发送 我可以使用 apache poi 创建该文件 但稍后通过邮
  • 忽略 CalledProcessError

    我正在使用subprocess模块和check output 在我的Python脚本中创建一个虚拟shell 它对于返回零退出状态的命令运行良好 但是对于不返回零退出状态的命令 它会返回异常 而不打印在普通shell的输出中显示的错误 例如
  • Javascript 函数的工作方式类似于 ActionScript 的 Normalize(1)

    我需要一个返回 xy 点标准化数字的公式 类似于 actionscript 的 normalize 函数 var normal x pt1 x pt2 x y pt1 y pt2 y normal Normalize 1 this I do
  • 带有构建和源子目录的 Makefile

    我正在尝试申请this https stackoverflow com questions 4036191 sources from subdirectories in makefile and this https stackoverfl
  • 从也是渲染目标的纹理中采样

    我知道这在技术上不受支持 据我所知 这是未定义的行为 但是从也被写入的纹理中采样真的是一件非常可怕的事情吗 我问这个问题是因为我需要从深度纹理中读取数据 我也需要写入该深度纹理 如果我不能这样做 这意味着我将不得不复制深度纹理 如果这没什么
  • DataGridView 数据绑定

    我举一个简单的例子来解释我想要的 我定义了一个名为Student 它有两个性质 Name and Subjects public class Student public string Name public List
  • 无法使用 kafkajs 连接到种子代理

    我正在尝试使用kafkajs为了创建一个卡夫卡消费者 但是 连接到 kafka 时出现错误 BrokerPool Failed to connect to seed broker trying another broker from the
  • Django Rest Framework 在创建记录后设置一个只读字段

    我在用着Django 2 x and Django REST Framework 我有一个模型contact作为外键 class AmountGiven models Model id models UUIDField primary ke
  • YouTube API v3 TotalResults 字段在不应该返回的情况下返回了 1 000 000

    1 我正在使用 YouTube API v3 当我发送此请求时 https www googleapis com youtube v3 search part id type video key MY KEY maxResults 50 p
  • NSArray 中的 NSString

    我正在尝试从 Array 创建一个字符串 但是 如何生成它是有条件的 如下所述 NSArray array NSArray arrayWithObjects Hello World nil array componentsJoinedByS
  • 仿蓝牙人机界面设备

    我想知道应用程序是否有可能通过 Android 设备的蓝牙模拟人机接口设备 在我的上下文中 这将是一个模拟鼠标的应用程序 应该被计算机识别为蓝牙鼠标 理想情况下 这应该可以在 java 中实现 我知道这个问题过去已经被问过好几次了 但我想知
  • 如何在 Maven 之上通过 Netbeans 创建/使用类库?

    这似乎是一个愚蠢的问题 但我有点依赖 Netbeans 7 1 向导 似乎没有选择可以做到这一点 我的网络应用程序是用 Maven 构建的 我想将它的一些包分解成一个独立构建和维护的类库 特别是 JPA 部分 但这不重要 然后我想从原始 W
  • 开发一个Android应用程序以支持英语和阿拉伯语“布局对齐”

    我正在开发一个 Android 应用程序来支持 En Ar 但我面临一个问题 如果用户从 En 更改为 Ar 用户界面的对齐方式必须从 从左到右 变为 从右到左 例子 文本视图 编辑文本 这是在恩 但在 Ar 中应该是 编辑文本 文本视图
  • 在嵌入式c中通过RS232处理ASCII命令

    我的微控制器有一个 RS232 接口 带有一组预定义的命令 有数百个命令 例如PRESSURE 50可设定压力为50 LIMIT 60可以将限制设置为 60 目前 这是使用一系列嵌套的 switch 语句来处理的 但这似乎是一个不优雅的解决
  • Android Room 数据库忽略问题“尝试了以下构造函数,但它们无法匹配”

    我的实体类 Entity tableName student data class Student var name String var age Int var gpa Double var isSingle Boolean Primar
  • 使用 gulp 运行 Protractor 和 selenium 时出现问题

    我是量角器的新手 也是 gulp 任务的新手 我有 gulp 文件 如下所示 use strict var global app files spec e2e spec js folders specs specs var gulp req