Using the Protractor tool to close a window popup

this.compareProductTitles = async function(title) {
    await browser.getAllWindowHandles().then(function (handles) {
        handles.forEach(function (handle) {
            console.log(handle.toString());
            browser.switchTo.window(handle);
            if (browser.getTitle() == title) {
                return true;
            }
        });
    });

Trying to use Protractor with Chrome browser to close a window popup based on its title. Currently, the code only checks the first handle in the list and stops there.

Looking for assistance to address this issue. At the moment, it only compares the title of the first handle.

Failures: 1) Compare products Compare product should display correctly Message: Expected 'MOBILE' to equal 'COMPARE PRODUCTS'. Stack: Error: Failed expectation at UserContext. (E:\Protractor workspace\POM_PROTRACTOR\Testcases\TC_04_CompareProducts.spec.js:17:47) at C:\Users\tailet\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\index.js:112:25

Answer №1

If you're looking to close a pop up, try using this approach:

dismissPopup: () => {
  return new Promise((resolve, reject) => {
    closePopup();
    resolve("Task completed successfully");
  });
};

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

The attribute 'NameNews' is not recognized in the specified type when running ng build --prod

Definition export interface INewsModule{ IDNews:number; IDCategoery:number; NameNews:string; TopicNews:string; DateNews?:Date; ImageCaption:string; ImageName:string ; } Implementation import { Component, OnInit, Input, I ...

The CSS selector functions as expected when used in a web browser, however, it

While conducting test automation using Selenium, I typically rely on css selectors to find elements. However, I recently came across a peculiar issue. I observed that in certain cases, the css selector works perfectly when tested in the browser console. Fo ...

What is the best way to ensure that my background image remains fully covering the screen even while scrolling or resizing

Struggling with implementing parallax scrolling through multiple images. Encountering two main issues: 1) Tiling occurs with repeated images or incomplete display, and 2) Inconsistent resizing on different screen sizes, particularly mobile phones. Any s ...

Add to MongoDB only if the entry does not already exist; otherwise, move on

Can I perform a conditional insert in MongoDB? //Pseudo code Bulk Insert Item : If Key exists Skip, don't throw error If key does not exist Add item If I do single inserts, it might return an error or insert into the collection. But is thi ...

The MomentJS difference calculation is incorporating an additional hour

I am currently working on a project that involves time calculations. const currentCETTime = moment.tz('2020-03-18 15:58:38', 'Europe/Madrid'); const limitCETTime = moment.tz('2020-03-18 18:00:00', 'Europe/Madrid') ...

Designing a flawless CSS pattern for the online world

Currently, I am working on creating a seamless CSS pattern for the web. Even though this may seem impractical and nonsensical, I find joy in experimenting with it. View my progress here After successfully designing my first tile, my next challenge is to ...

Aligning a lowercase "i" element within a container

Is there a more effective way to center the "i" element within this div without using specific pixel margins that adjust based on hover? Below is my code snippet: HTML: <div class="nav-collapse"> <i class="fa fa-bars fa-2x" id="bars"></ ...

Discover the most concise string within the array

Is there a way to determine the shortest string in a JavaScript array regardless of the number of elements it contains? I attempted using var min = Math.min(arr[0].length,arr[1].length,arr[2].length); to find the shortest string among 3 elements in an ar ...

The function attached to the `click` event of `#cart-continue` is not invoking

I'm currently working on implementing a navigation to a specific anchor tag when the user clicks the continue button on the cart page. This project involves a mobile application built with Cordova, and the function call is done using jQuery. Here is ...

Divergence in Angular cookies values observed when accessed from various URLs

Currently, I am utilizing Angular cookies to store information. This is how I include information. oItems represents the JavaScript array of objects. Angular Version 1.4.7 $cookies.putObject("oItems", oItems, [{path: '/', expires: exp, domain ...

What is the best way to enable my search function to filter out specific items from a table?

Currently, I have created a table populated with data fetched from a JSON file. Now, my focus is on implementing a search functionality that filters out items based on user input and displays only those table rows matching the search criteria. The code sni ...

"Vanishing act: The mysterious disappearance of an empty JSON

After defining a JSON object and posting it to the backend (Node.js), there appears to be an issue. var imj = {}; imj.images = []; $.post("/image/uploadImages", imj, function(feedback){ ..... Unfortunately, when the backend received the data, the "images ...

Updating the active color for Material UI Input elements

I'm having trouble changing the color of an active input field. I want to customize it with my theme's primary color, but I can't figure out how to do it. I've tried adjusting the color attribute in various components like FormControl, ...

How can I add an element to the DOM in React before the render() method is executed?

Currently, I am working with React in conjunction with Rails and incorporating a charting library known as AnyChart. However, the AnyChart code in my render method automatically searches for a <div id="container"></div> element to connect the c ...

Ways to conceal the picture

Check out the JSfiddle link here for the full code. I'm having trouble with my slider as the last picture keeps collapsing underneath and is not hidden as it should be. I suspect this issue is causing the slider to malfunction. HTML <div class=" ...

How can I access a child div in the parent element that I am

<script type="text/javascript"> $(".inventory-notes").bind("click", function() { if($(this).text().length > 0) { alert($(this).text()); alert($(this).closest(".inventory-notes").children().text()); } }); </script> ex ...

Strange error message: Attempting to set properties of null (changing 'innerHTML')

I have been working on a project where I am creating a website that retrieves data from a specified URL, displays it on the front end, and performs certain functionalities with that data (although this part is not yet implemented). However, I have encounte ...

Storing data with Laravel 5.3 using Storage::put and XMLHttpRequest

Attempting to send a file using DRAG & DROP with XMLHttpRequest. $images = $_FILES['images']; When I use foreach: foreach($images["name"] as $file => $name) and move_uploaded_file($images["tmp_name"][$file], $images_dir . $name it works ...

Looking to dynamically add content to a webpage without needing to refresh the page? Utilizing AJAX can help achieve that

On my website, users have the ability to create posts which are then saved in a database. I would like these posts to be retrieved with a query and displayed on the webpage without having to refresh the page. I understand that I need to implement Ajax for ...

Retrieving the image coordinates using jQuery or JavaScript

I need to find a way to retrieve the coordinates of an image within a div element, rather than the screen coordinates, when a user right-clicks on it. Can anyone advise me on how to achieve this? <div id="Boma" style="width: 1000px; height: 600px; po ...