catchpoint/WebPageTest.api-nodejs

--key or -k parameters are ignored if run from command line

rzhornyk opened this issue · 4 comments

I try to run the command

webpagetest test ~/test.wpt --key ${KEY} --location ec2-us-east-1 --runs 1 --label 1.77 Preprod --connectivity Native --first --mobile --device iPhone14ProMax

And it finished with error

node:_http_outgoing:624
    throw new ERR_HTTP_INVALID_HEADER_VALUE(value, name);
    ^

TypeError [ERR_HTTP_INVALID_HEADER_VALUE]: Invalid value "undefined" for header "X-WPT-API-KEY"
    at ClientRequest.setHeader (node:_http_outgoing:651:3)
    at new ClientRequest (node:_http_client:291:14)
    at request (node:https:358:10)
    at Object.get (node:https:392:15)
    at WebPageTest.get (/home/oleksandr/.nvm/versions/node/v18.17.1/lib/node_modules/webpagetest/lib/webpagetest.js:105:6)
    at WebPageTest.api (/home/oleksandr/.nvm/versions/node/v18.17.1/lib/node_modules/webpagetest/lib/webpagetest.js:201:9)
    at WebPageTest.runTest (/home/oleksandr/.nvm/versions/node/v18.17.1/lib/node_modules/webpagetest/lib/webpagetest.js:535:14)
    at execCommand (/home/oleksandr/.nvm/versions/node/v18.17.1/lib/node_modules/webpagetest/bin/webpagetest:290:16)
    at Object.<anonymous> (/home/oleksandr/.nvm/versions/node/v18.17.1/lib/node_modules/webpagetest/bin/webpagetest:302:3)
    at Module._compile (node:internal/modules/cjs/loader:1256:14) {
  code: 'ERR_HTTP_INVALID_HEADER_VALUE'
}

After investigation I see that key is expected as second parameter to WebPageTest constructor, but it is not passed here

var wpt = new WebPageTest(program.server || defaultServer);

Could you fix by next code

var wpt = new WebPageTest(program.server || defaultServer, options.key);

@rzhornyk i'm working on it.

@rzhornyk please update to latest version and let me know. Thanks

It seems like it's working now, thanks @claud-io

Thanks @OleksandrTimoshenko closing this issue.