Tips for choosing the desired test to execute with Nightwatch Programmatic API

Currently, I am in the process of developing a web application that enables me to execute Nightwatch tests through a visual interface. At this point, I have successfully been able to run all my tests using a post request from my web app utilizing the Nightwatch Programmatic API. My query pertains to whether it is possible for me to specify the folder containing the tests I wish to execute through a post request. Below is the relevant portion of my code, Thank you.

router.post('/exec', function (req, res) {

Nightwatch.cli(function (argv) {
    argv.config = 'nightwatch.conf.js';
    argv.source= 'folder of tests i want to run';
    const runner = Nightwatch.CliRunner(argv);

    runner
        .setup()
        .startWebDriver()
        .then(() => {
            return runner.runTests()
        })
        .then(() => {
            return runner.stopWebDriver()
        })
        .catch(err => console.error(err));
   });
})

Answer №1

It is common knowledge that the config file is typically exported as an object. If you are able to access and save the file contents in a variable, you could attempt to modify the src_folders property.

const data = require('../nightwatch.conf');
console.log(data.src_folders)

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

What can you do to prevent a div from taking up the entire page if its height is not specified?

Currently, I am experiencing an issue with my layout. I have a hidden div with a fixed position that becomes visible when a button on the page is clicked. Inside this div, there is a table of buttons for the user to choose from. The problem arises when I ...

Looking for a simple method to display a popover using conditional if/else statements?

On my website, I am utilizing JavaScript to determine the user's Facebook status. This includes checking if the user is already logged in and has allowed our app, if they are logged in but haven't authorized our application, or if they are not lo ...

The function document.getElementById(...) is failing to retrieve the text data from the table as expected

Greetings fellow HTML and JavaScript novice! I've got a table with input cells in the bottom row: <table class="convtbl" id="table1"> <tr> <td>Distance 1 (in miles)</td> <td>Time ...

Encountering a syntax error while utilizing jQuery AJAX

Recently, I've started learning jQuery and came across an AJAX example that intrigued me. The task at hand is to pass a PHP variable to another PHP page without refreshing the entire webpage. After some tinkering, I managed to come up with the code sn ...

Redux: utilizing yield within an unrecognized function

Hey there! I am brand new to Reudx-Saga and have been experimenting with it for the past few days. I feel pretty comfortable with generators, actions, redux-stores, sagas, and other concepts. Overall, I have a good amount of experience with JavaScript. C ...

Decoding the file's encoding: A beginner's guide

I need help determining the encoding of a file in order to only upload CSV files with utf-8 format. If there are any non utf-8 characters, I want to display an error message. Currently, I am utilizing Papa Parser for parsing. Is there a way to detect the ...

What steps are involved in setting up a search results page for example.com/s/keyword?

app.js app.get('/results',showResult) var express = require('express') var n = req.query.query; mysql_crawl.query('SELECT prod_name, full_price FROM `xxx` WHERE MATCH(data_index) AGAINST("'+n+'")', function(error, p ...

Is it possible to automate the process of clicking the "next" or "previous" button on a webpage after a video has finished playing?

Is it possible to automate clicking the "next" or "previous" button on a specific website? The buttons are not labeled as such but instead show the cartoon name and episode number. For example, increasing episode numbers indicate the "next" episode while d ...

Is it possible to update my services list based on which checkboxes I choose to uncheck at the top?

i am currently tackling a small project, and I have limited experience with javascript and json. Can someone assist me in resolving the final step? I am on the verge of completing it, but encountering some issues. My goal is to filter the results based on ...

NextJS encountered a JavaScript heap out of memory issue

While developing my NextJs project, it suddenly encountered an unknown issue that resulted in the following error message being logged: <--- Last few GCs ---> [8728:000001A567CE5290] 8719226 ms: Mark-sweep (reduce) 1827.7 (1944.2) -> 1827.7 (189 ...

Using .addEventListener() within a function does not successfully generate the intended event listener

For a while, my program ran smoothly with the line canvas.addEventListener("click", funcName, false);. However, I recently realized that at times I needed to replace this event listener with another one: canvas.addEventListener("click" ...

What is the recommended Vue js lifecycle method for initializing the materialize dropdown menu?

https://i.stack.imgur.com/cjGvh.png Upon examining the materialize documentation, it is evident that implementing this on a basic HTML file is straightforward: simply paste the HTML code into the body and add the JavaScript initializer within a script tag ...

Using C# Selenium WebDriver to efficiently locate hyperlinks based on several specific strings, all while incorporating a reference within the string

I am trying to click a link using two different strings. However, the code I have tried does not seem to be working. Can anyone provide any guidance? var xPathString = String.Format("//a[contains(text(), 'Enforcement') and contains(text(), ...

Binding textarea data in Angular is a powerful feature that allows

I am looking to display the content from a textarea on the page in real time, but I am struggling to get the line breaks to show up. Here is my current code snippet: app.component.html <div class="ui center aligned grid">{{Form.value.address}}< ...

The message from the renderer was delayed due to timing out

While attempting to retrieve the status of transactions from a web portal, I encountered an issue using the following Chrome settings in my Java application: Error: Timed out receiving message from renderer after 60 seconds. This resulted in all pendin ...

a dedicated TypeScript interface for a particular JSON schema

I am pondering, how can I generate a TypeScript interface for JSON data like this: "Cities": { "NY": ["New York", [8000, 134]], "LA": ["Los Angeles", [4000, 97]], } I'm uncertain about how to handle these nested arrays and u ...

What is the best way to show JavaScript output with span style?

I have added a translation feature that allows users to switch paragraphs to French when clicked. Each paragraph now has the first word wrapped in a span with a CSS class that enlarges and colors the text. However, I am facing an issue where when switchi ...

I am looking to obtain a value through a JavaScript function that sums values upon clicking. The result is satisfactory, but I am seeking a way to limit the value

I only need 2 decimal values, not large ones. Can someone please help me achieve this? <script> $(function() { $("#isum, #num1, #num2, #num3, #rec1, #rec2, #rec3, #difnum1, #difnum2, #difnum3").on("keydown ke ...

Guide on implementing tail.select in a VueJS project

As a newcomer to VueJS, I am facing issues with using the tail.select plugin in my VueJS project. Even though I have imported the plugin in my main.js file using import 'tail.select' When I try to call tail.select(".select") in the mounted hook ...

Sharing images

Sample Code: <form enctype="multipart/form-data"> <input id="upFile" class="upFile" type="file" size="0" name="file" accept="image/gif,image/jpeg,image/png"> <input type="submit" id="upFileBtn" class="upFile"> </form> A ...