Having trouble running Selenium through Protractor on Firefox following the Angular 2 update

Following the upgrade from Angular JS 1.4.x to Angular 2, encountering issues running Selenium tests through grunt-protractor-runner on Firefox. Once AngularJS is loaded, an unexpected error pops up:

D:\...\node_modules\grunt-protractor-runner\node_modules\protractor\node_modules\selenium-webdriver\lib\atoms\error.js:108
  var template = new Error(this.message);
                 ^
UnknownError: Permission denied to access property "toString"
Build info: version: '2.48.2', revision: '41bccdd', time: '2015-10-09 19:59:12'
System info: host: 'NAGWS72', ip: '192.168.210.23', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_79'
Driver info: driver.version: unknown
    ... (more error details)

Chrome and Internet Explorer are unaffected.

This problem arises with the following components:

  • Firefox versions 38 and 42
  • grunt-protractor-runner 2.1.0 and 3.0.0 (utilizing selenium-server-standalone-2.48.2.jar)
  • protractor 2.5.1 and 3.0.0

The relevant node modules specified in package.json:

{
  "name": "...",
  "version": "1.0.0",
  "description": "",
  "main": "Gruntfile.js",
  "dependencies": {
    "jasmine-reporters": "^2.0.7",
    "protractor-video-recorder": "^0.1.0"
  },
  "devDependencies": {
    "grunt-protractor-runner": "^3.0.0",
    "jasmine-spec-reporter": "^2.4.0",
    "lodash": "^3.10.1",
    "protractor-console": "^2.0.0"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

No specific code section in the Selenium test can be identified as the source of the error. The issue manifests when AngularJS is being loaded.

Answer №1

In order to pinpoint the issue, I decided to test out the sample Angular 2 Go with Protractor project. Surprisingly, I encountered the same error mentioned in my initial comment when I switched from browserName: 'chrome' to firefox.

This prompted me to open a new problem report on Protractor's GitHub repository.

Answer №2

Check out these related tickets:

After reading the latest comment on the Selenium ticket:

Angular 2 has made alterations to EventTarget.prototype, therefore any issues arising from these changes are their responsibility.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Guide to invoking SOAP WCF web services with the ws.js or wcf.js node packages

I recently installed the soapjs module and attempted to access its services. One of the services I encountered contains complexContent, which can be found at: I am curious if it is possible to retrieve the details of a WCF service's wsdl including m ...

displaying a specific section depending on the radio button chosen

I am dynamically creating radio buttons using ng-repeat in my code snippet below: <input type="radio" ng-repeat="i in items" name="myRadio{{$index}}" value="{{i.val}}" /> Currently, this code generates 2 radio buttons. I would like to display a spe ...

It seems that cogito.adminSetUserPassword function is not supported in AWS Lambda environment

While attempting to use cognito.adminSetUserPassword in AWS Lambda, I encountered an error message stating that cognito.adminSetUserPassword is not a function. Interestingly, the same code works fine when tested on localhost. The current code is written ...

Ensuring a response is sent back only after a loop has completed in NodeJs

Struggling to properly format the logic in order to send back a fully populated array of objects after a GET request to a specific URL. The goal is to take the "connections" array from the user making the request, extract the connection's name and pic ...

Node.js encountering issues with multiple concurrent connections to SQL servers in mssql due to interference between them

I am currently utilizing mssql in my Node.js express application to establish connections with multiple databases on various SQL servers. To illustrate the basic structure of my code, I have created the following example: app.get('/api/example') ...

The package.json file cannot be located by the npx create-strapi-app command

It seems like I'm encountering a minor issue that I couldn't resolve through regular search. According to the strapi documentation, I should be able to create a new app with the following command: askar@iMac strapi % npx create-strapi-app strap ...

Using Sequelize to Include Model Without Specifying Table Name

I am new to Sequelize I am facing an issue with "Nested Eager Loading" I have 2 tables with a one-to-many relationship Comment Table User Table This is the code I am using for the query Comment.findAll({ include: [User] }) The result I got was ...

Displaying Dynamic Content Based on Selected Menu

I am currently delving into Angular and attempting to create a navbar menu that dynamically sets the 'active' class based on the current page. index.html <html lang="en" data-ng-app="Afe" class="no-js"> <head> <!-- cod ...

Inquiry regarding the return value of 'async-lock' in nodejs

I am utilizing the async-lock module in my typescript project to handle concurrency. However, I am encountering difficulties with returning the result within lock.acquire(...) {...}. Any guidance on how to resolve this issue would be greatly appreciated. ...

After utilizing Geolocation, the input fields in Ionic/Angular JS are failing to update accurately

Currently, I am in the process of developing a new App using Ionic and Angular JS. Specifically, in one of the app tabs, I am utilizing geolocation to populate four fields (street name, street number, latitude, and longitude). Below is the snippet of my c ...

Can you explain the contrast between passport-google-oauth and passport-google-token for me?

Currently, I am in the process of validating my node application with Google. As I was following different tutorials, I noticed two modules being referenced. I am curious to know what sets these modules apart. passport-google-token Both modules are des ...

Locate the package.json file while executing an npm script during the preinstall phase

Before installing a new npm package, it is essential to read the package.json. The Importance of Reading package.json When using npm for CSS components with individual versioning and possible interdependencies (without JavaScript), conflicts may arise. D ...

Mongoose and NodeJS: A guide to assigning two 'ref' values to the same model term and populating them

UPDATED: I attempted the following: ad:[{ type: mongoose.Types.ObjectId, ref: 'Ad' }], car:[{ type: mongoose.Types.ObjectId, ref: 'Car' }] It is functioning as intended, but I am unable to order by, so I remain stuck.. .populate( ...

Selenium web driver failing to display auto suggestions

Upon loading this website using selenium webdriver in Chrome for Windows, the search bar now displays auto suggestions. Visit Avnet This behavior can be replicated within a selenium session, regardless of manual interaction, as long as the regular chrome ...

Is there a way to create a personalized command loop for Selenium?

I am interested in creating a command loop to navigate through a column of checkboxes using Selenium Webdriver. The goal is to select 10 checkboxes, scroll down, and repeat this process for a specified number of iterations. Currently, I have successfully ...

Sort with AngularJS: orderBy multiple fields, with just one in reverse

Currently, I am faced with the challenge of filtering data based on two variables: score and name (score first, followed by name). This task involves various games, some of which have scores in reverse order (like golf) while others maintain a normal scor ...

Determining if a user is already logged in from a different device using express-session

After a user logs in, I assign the username to their session with the code: req.session.username = "...."; This identifies the session with a username, but now I need to figure out how to detect if this same username is already logged in from another dev ...

Error thrown by loader.js at line 582 of internal/modules/cjs/loader.js

Encountered this error message in the console: Error : Cannot find module. The detailed error is provided below. Any suggestions on how to resolve this? internal/modules/cjs/loader.js:582 throw err; ^ Error: Cannot find module 'C:\Users ...

What is the best way to find the most recent stable release of Node using nvm?

After running the command nvm ls-remote, I noticed that the list ended with versions ranging from v14.17.6 (LTS: Fermium) to v17.9.0. v14.17.6 (LTS: Fermium) v14.18.0 (LTS: Fermium) v14.18.1 (LTS: Fermium) v14.18.2 (LTS: ...

Getting an UnhandledPromiseRejectionWarning while attempting to navigate through Google Maps using Node.js Puppeteer

(node:15348) UnhandledPromiseRejectionWarning: Error: Execution context was destroyed due to a potential navigation issue. const browser = await puppeteer.launch({headless: false}); const page = await browser.newPage(); page.goto("https://www.google. ...