1.0.456 • Published 6 years ago

protractor-browser-logs v1.0.456

Weekly downloads
3,995
License
-
Repository
github
Last release
6 years ago

Protractor browser logs assertion library

It allows asserting the browser console logs in each test for warnings and errors. You can set the ignored messages, specify the expectations using strings, regex or custom matchers.

Inspired by https://github.com/angular/protractor-console-plugin/

Installation

npm install protractor-browser-logs --save-dev

Typical library usage

var browserLogs = require('protractor-browser-logs');

describe('Home page:', function () {

  var logs;

  beforeEach(function () {
    logs = browserLogs(browser);
    logs.ignore(logs.DEBUG);
    logs.ignore(logs.INFO);
  });

  afterEach(function () {
    return logs.verify();
  });

  it('should log an error after clicking a button', function () {
    logs.expect(/server request failed/);

    browser.get('...');
    element(by.id('button')).click();
  });

});

API

You can ignore any message whenever it appears.

logs.ignore('text');
logs.ignore(/text/i);
logs.ignore(function (message) {
  return message.message.toLowerCase().indexOf('text') !== -1;
});

// You can combine them all together
logs.ignore('hello', 'world'); // ignores messages containing `hello` and `world`
logs.ignore(/hello/i, function (message) { // ignore all messages containting `hello` but not `world`
  return message.message.indexOf('world') === -1;
});

You can also expect some messages. The order does matter.

logs.expect('one');
logs.expect(/two/i);
logs.expect(function (message) {
  return message.message.toLowerCase().indexOf('three') === 0;
});

You can check the expectations using verify method which returns a promise:

it('this is my test', function () {
  logs.expect('one');
  // ...
  return logs.verify();
});

Using advanced features

var browserLogs = require('protractor-browser-logs');

describe('Home page:', function () {

  var log = browserLogs(browser);

  beforeEach(function () {
    // Use only one instance, but need to reset before each test.
    log.reset();

    // Combine matcher functions
    logs.ignore(logs.or(logs.DEBUG, logs.INFO));

    // Specify custom matcher function
    logs.ignore(function (message) {
      return message.message.indexOf('Oops') !== -1;
    });
  });

  it('should log an error after clicking a button', function () {
    // The sequence of expectations does matter
    logs.expect(/retrying/, logs.WARN); // Expect message having "retrying" text and WARNING level.
    logs.expect(/server request failed/, logs.ERROR);

    browser.get('...');
    element(by.id('button')).click();
  });

  afterEach(function () {
    return logs.verify();
  });

});

Sharing the code inside a protractor configuration file

onPrepare = function () {

  var browserLogs = require('protractor-browser-logs'),
      logs = browserLogs(browser);

  if (global.logs) {
    throw new Error('Oops, name is already reserved!');
  }
  global.logs = logs;

  beforeEach(function () {
    logs.reset();

    // You can put here all expected generic expectations.
    logs.ignore('cast_sender.js');
    logs.ignore('favicon.ico');

    logs.ignore(logs.or(logs.INFO, logs.DEBUG));
  });

  afterEach(function () {
    return logs.verify();
  });
};

Protractor capabilities configuration

By default browser allows recording only WARNING and SEVERE level messages. In order to be able asserting any level, You need to change the loggingPrefs.browser capabilities.

capabilities: {
  loggingPrefs: {
    browser: 'ALL' // "OFF", "SEVERE", "WARNING", "INFO", "CONFIG", "FINE", "FINER", "FINEST", "ALL".
  }
}

More details could be found here: https://github.com/SeleniumHQ/selenium/wiki/DesiredCapabilities#loggingpreferences-json-object

Custom reporters

It's also possible to specify custom reporters, for filtering and printing out the log entries.

function simple(entries) {
  entries.forEach(function (entry) {
    console.log([entry.level.name, entry.message].join(': '));
  });
}

function colored(entries) {
  var colors = { INFO: 35 /* magenta */, WARNING: 33 /* yellow */, SEVERE: 31 /* red */};
  entries.forEach(function (entry) {
    console.log('\u001b[' + (colors[entry.level.name] || 37) + 'm' + [entry.level.name, entry.message].join(': ') + '\u001b[39m');
  });
}

var browserLogs = require('protractor-browser-logs');
browserLogs(browser, {
  reporters: [simple, colored]
});
1.0.456

6 years ago

1.0.455

6 years ago

1.0.454

7 years ago

1.0.453

7 years ago

1.0.452

7 years ago

1.0.451

7 years ago

1.0.450

7 years ago

1.0.449

7 years ago

1.0.448

7 years ago

1.0.447

7 years ago

1.0.446

7 years ago

1.0.445

7 years ago

1.0.444

7 years ago

1.0.443

7 years ago

1.0.442

7 years ago

1.0.441

7 years ago

1.0.440

7 years ago

1.0.439

7 years ago

1.0.438

7 years ago

1.0.437

7 years ago

1.0.436

7 years ago

1.0.435

7 years ago

1.0.434

7 years ago

1.0.433

7 years ago

1.0.432

7 years ago

1.0.431

7 years ago

1.0.430

7 years ago

1.0.429

7 years ago

1.0.428

7 years ago

1.0.427

7 years ago

1.0.426

7 years ago

1.0.425

7 years ago

1.0.424

7 years ago

1.0.423

7 years ago

1.0.422

7 years ago

1.0.421

7 years ago

1.0.420

7 years ago

1.0.419

7 years ago

1.0.418

7 years ago

1.0.417

7 years ago

1.0.416

7 years ago

1.0.415

7 years ago

1.0.414

7 years ago

1.0.413

7 years ago

1.0.412

7 years ago

1.0.411

7 years ago

1.0.410

7 years ago

1.0.409

7 years ago

1.0.408

7 years ago

1.0.407

7 years ago

1.0.406

7 years ago

1.0.405

7 years ago

1.0.404

7 years ago

1.0.403

7 years ago

1.0.402

7 years ago

1.0.401

7 years ago

1.0.400

7 years ago

1.0.399

7 years ago

1.0.398

7 years ago

1.0.397

7 years ago

1.0.396

7 years ago

1.0.395

7 years ago

1.0.394

7 years ago

1.0.393

7 years ago

1.0.392

7 years ago

1.0.391

7 years ago

1.0.390

7 years ago

1.0.389

7 years ago

1.0.388

7 years ago

1.0.387

7 years ago

1.0.386

7 years ago

1.0.385

7 years ago

1.0.384

7 years ago

1.0.383

7 years ago

1.0.382

7 years ago

1.0.381

7 years ago

1.0.380

7 years ago

1.0.379

7 years ago

1.0.378

7 years ago

1.0.377

7 years ago

1.0.376

7 years ago

1.0.375

7 years ago

1.0.374

7 years ago

1.0.373

7 years ago

1.0.372

7 years ago

1.0.371

7 years ago

1.0.370

7 years ago

1.0.369

7 years ago

1.0.368

7 years ago

1.0.367

7 years ago

1.0.366

7 years ago

1.0.365

7 years ago

1.0.364

7 years ago

1.0.363

7 years ago

1.0.362

7 years ago

1.0.361

7 years ago

1.0.360

7 years ago

1.0.359

7 years ago

1.0.358

7 years ago

1.0.357

7 years ago

1.0.356

7 years ago

1.0.355

7 years ago

1.0.354

7 years ago

1.0.353

7 years ago

1.0.352

7 years ago

1.0.351

9 years ago

1.0.350

9 years ago

1.0.349

9 years ago

1.0.348

9 years ago

1.0.347

9 years ago

1.0.346

9 years ago

1.0.345

9 years ago

1.0.344

9 years ago

1.0.343

9 years ago

1.0.342

9 years ago

1.0.341

9 years ago

1.0.340

9 years ago

1.0.339

9 years ago

1.0.338

9 years ago

1.0.337

9 years ago

1.0.336

9 years ago

1.0.335

9 years ago

1.0.334

9 years ago

1.0.333

9 years ago

1.0.332

9 years ago

1.0.331

9 years ago

1.0.330

9 years ago

1.0.329

9 years ago

1.0.328

9 years ago

1.0.327

9 years ago

1.0.326

9 years ago

1.0.325

9 years ago

1.0.324

9 years ago

1.0.323

9 years ago

1.0.322

9 years ago

1.0.321

9 years ago

1.0.320

9 years ago

1.0.319

9 years ago

1.0.318

9 years ago

1.0.317

9 years ago

1.0.316

9 years ago

1.0.315

9 years ago

1.0.314

9 years ago

1.0.313

9 years ago

1.0.312

9 years ago

1.0.311

9 years ago

1.0.310

9 years ago

1.0.309

9 years ago

1.0.308

9 years ago

1.0.307

9 years ago

1.0.306

9 years ago

1.0.305

9 years ago

1.0.304

9 years ago

1.0.303

9 years ago

1.0.302

9 years ago

1.0.301

9 years ago

1.0.300

9 years ago

1.0.299

9 years ago

1.0.298

9 years ago

1.0.297

9 years ago

1.0.296

9 years ago

1.0.295

9 years ago

1.0.294

9 years ago

1.0.293

9 years ago

1.0.292

9 years ago

1.0.291

9 years ago

1.0.290

9 years ago

1.0.289

9 years ago

1.0.288

9 years ago

1.0.287

9 years ago

1.0.286

9 years ago

1.0.285

9 years ago

1.0.284

9 years ago

1.0.283

9 years ago

1.0.282

9 years ago

1.0.281

9 years ago

1.0.280

9 years ago

1.0.279

9 years ago

1.0.278

9 years ago

1.0.277

9 years ago

1.0.276

9 years ago

1.0.275

9 years ago

1.0.274

9 years ago

1.0.273

9 years ago

1.0.272

9 years ago

1.0.271

9 years ago

1.0.270

9 years ago

1.0.269

9 years ago

1.0.268

9 years ago

1.0.267

9 years ago

1.0.266

9 years ago

1.0.265

9 years ago

1.0.264

9 years ago

1.0.263

9 years ago

1.0.262

9 years ago

1.0.261

9 years ago

1.0.260

9 years ago

1.0.259

9 years ago

1.0.258

9 years ago

1.0.257

9 years ago

1.0.256

9 years ago

1.0.255

9 years ago

1.0.254

9 years ago

1.0.253

9 years ago

1.0.252

9 years ago

1.0.251

9 years ago

1.0.250

9 years ago

1.0.249

9 years ago

1.0.248

9 years ago

1.0.247

9 years ago

1.0.246

9 years ago

1.0.245

9 years ago

1.0.244

9 years ago

1.0.243

9 years ago

1.0.242

9 years ago

1.0.241

9 years ago

1.0.240

9 years ago

1.0.239

9 years ago

1.0.238

9 years ago

1.0.237

9 years ago

1.0.236

9 years ago

1.0.235

9 years ago

1.0.234

9 years ago

1.0.233

9 years ago

1.0.232

9 years ago

1.0.231

9 years ago

1.0.230

9 years ago

1.0.229

9 years ago

1.0.228

9 years ago

1.0.227

9 years ago

1.0.226

9 years ago

1.0.225

9 years ago

1.0.224

9 years ago

1.0.223

9 years ago

1.0.222

9 years ago

1.0.221

9 years ago

1.0.220

9 years ago

1.0.219

9 years ago

1.0.218

9 years ago

1.0.217

9 years ago

1.0.216

9 years ago

1.0.215

9 years ago

1.0.214

9 years ago

1.0.213

9 years ago

1.0.212

9 years ago

1.0.211

9 years ago

1.0.210

9 years ago

1.0.209

9 years ago

1.0.208

9 years ago

1.0.207

9 years ago

1.0.206

9 years ago

1.0.205

9 years ago

1.0.204

9 years ago

1.0.203

9 years ago

1.0.202

9 years ago

1.0.201

9 years ago

1.0.200

9 years ago

1.0.199

9 years ago

1.0.198

9 years ago

1.0.197

9 years ago

1.0.196

9 years ago

1.0.195

9 years ago

1.0.194

9 years ago

1.0.193

9 years ago

1.0.192

9 years ago

1.0.191

9 years ago

1.0.190

9 years ago

1.0.189

9 years ago

1.0.188

9 years ago

1.0.187

9 years ago

1.0.186

9 years ago

1.0.185

9 years ago

1.0.184

9 years ago

1.0.183

9 years ago

1.0.182

9 years ago

1.0.181

9 years ago

1.0.180

9 years ago

1.0.179

9 years ago

1.0.178

9 years ago

1.0.177

9 years ago

1.0.176

9 years ago

1.0.175

9 years ago

1.0.174

10 years ago

1.0.173

10 years ago

1.0.172

10 years ago

1.0.171

10 years ago

1.0.170

10 years ago

1.0.169

10 years ago

1.0.168

10 years ago

1.0.167

10 years ago

1.0.166

10 years ago

1.0.165

10 years ago

1.0.164

10 years ago

1.0.163

10 years ago

1.0.162

10 years ago

1.0.161

10 years ago

1.0.160

10 years ago

1.0.159

10 years ago

1.0.158

10 years ago

1.0.157

10 years ago

1.0.156

10 years ago

1.0.155

10 years ago

1.0.154

10 years ago

1.0.153

10 years ago

1.0.152

10 years ago

1.0.151

10 years ago

1.0.150

10 years ago

1.0.149

10 years ago

1.0.148

10 years ago

1.0.147

10 years ago

1.0.146

10 years ago

1.0.145

10 years ago

1.0.144

10 years ago

1.0.143

10 years ago

1.0.142

10 years ago

1.0.141

10 years ago

1.0.140

10 years ago

1.0.139

10 years ago

1.0.138

10 years ago

1.0.137

10 years ago

1.0.136

10 years ago

1.0.135

10 years ago

1.0.134

10 years ago

1.0.133

10 years ago

1.0.132

10 years ago

1.0.131

10 years ago

1.0.130

10 years ago

1.0.129

10 years ago

1.0.128

10 years ago

1.0.127

10 years ago

1.0.126

10 years ago

1.0.125

10 years ago

1.0.124

10 years ago

1.0.123

10 years ago

1.0.122

10 years ago

1.0.121

10 years ago

1.0.120

10 years ago

1.0.119

10 years ago

1.0.118

10 years ago

1.0.117

10 years ago

1.0.116

10 years ago

1.0.115

10 years ago

1.0.114

10 years ago

1.0.113

10 years ago

1.0.112

10 years ago

1.0.111

10 years ago

1.0.110

10 years ago

1.0.109

10 years ago

1.0.108

10 years ago

1.0.107

10 years ago

1.0.106

10 years ago

1.0.105

10 years ago

1.0.104

10 years ago

1.0.103

10 years ago

1.0.102

10 years ago

1.0.101

10 years ago

1.0.100

10 years ago

1.0.99

10 years ago

1.0.98

10 years ago

1.0.97

10 years ago

1.0.96

10 years ago

1.0.95

10 years ago

1.0.94

10 years ago

1.0.93

10 years ago

1.0.92

10 years ago

1.0.91

10 years ago

1.0.90

10 years ago

1.0.89

10 years ago

1.0.88

10 years ago

1.0.87

10 years ago

1.0.86

10 years ago

1.0.85

10 years ago

1.0.84

10 years ago

1.0.83

10 years ago

1.0.82

10 years ago

1.0.81

10 years ago

1.0.80

10 years ago

1.0.79

10 years ago

1.0.78

10 years ago

1.0.77

10 years ago

1.0.76

10 years ago

1.0.75

10 years ago

1.0.74

10 years ago

1.0.73

10 years ago

1.0.72

10 years ago

1.0.71

10 years ago

1.0.70

10 years ago

1.0.69

10 years ago

1.0.68

10 years ago

1.0.67

10 years ago

1.0.66

10 years ago

1.0.65

10 years ago

1.0.64

10 years ago

1.0.63

10 years ago

1.0.62

10 years ago

1.0.61

10 years ago

1.0.60

10 years ago

1.0.59

10 years ago

1.0.58

10 years ago

1.0.57

10 years ago

1.0.56

10 years ago

1.0.55

10 years ago

1.0.54

10 years ago

1.0.53

10 years ago

1.0.52

10 years ago

1.0.51

10 years ago

1.0.50

10 years ago

1.0.49

10 years ago

1.0.48

10 years ago

1.0.47

10 years ago

1.0.46

10 years ago

1.0.45

10 years ago

1.0.44

10 years ago

1.0.43

10 years ago

1.0.42

10 years ago

1.0.41

10 years ago

1.0.40

10 years ago

1.0.39

10 years ago

1.0.38

10 years ago

1.0.37

10 years ago

1.0.36

10 years ago

1.0.35

10 years ago

1.0.34

10 years ago

1.0.33

10 years ago

1.0.32

10 years ago

1.0.31

10 years ago

1.0.30

10 years ago

1.0.29

10 years ago

1.0.28

10 years ago

1.0.27

10 years ago

1.0.26

10 years ago

1.0.25

10 years ago

1.0.24

10 years ago

1.0.23

10 years ago

1.0.22

10 years ago

1.0.21

10 years ago

1.0.20

10 years ago

1.0.19

10 years ago

1.0.18

10 years ago

1.0.17

10 years ago

1.0.16

10 years ago

1.0.15

10 years ago

1.0.14

10 years ago

1.0.13

10 years ago

1.0.12

10 years ago

1.0.11

10 years ago

1.0.10

10 years ago

1.0.9

10 years ago

1.0.8

10 years ago

1.0.7

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago