browserstack/browserstack-local-nodejs

Local doesn't stop properly in CI/CD Pipeline.

Closed this issue · 3 comments

Hi,

Our project uses browserstack in combination with testcafe. Locally everything works fine but in our dockerized CI/CD pipeline the build step never ends.

I started investigating testcafe-browser-provider-browserstack but quickly found out that our problem is coming from this repository. After some more research I found out that disabling 1 particular line in this code base fixes our issue.

Since removing 1 line is not a fix, I rather create an issue than a PR :)

Local.js

  this.stop = function (callback) {
    if(!this.pid) return callback();
    // this.opcode = 'stop'; <- Commenting this line fixes our issue
    this.tunnel = childProcess.execFile(this.binaryPath, this.getBinaryArgs(), function(error){
        if(error) callback(new LocalError(error.toString()));
        callback();
    });
  };

Reproduce the issue:

  • Use testcafe
  • Use testcafe-browser-provider-browserstack
    Call testcafe 'browserstack:Chrome@58.0:Windows 8' e2e/tests/*.spec.ts in a Bitbucket pipeline (or any other dockerized CI/CD pipeline I assume).

Any ideas on what is causing this issue?

Hi @Rachnerd, we are working on a solution for this, and till then can you try a workaround mentioned in #25 (comment).

Thanks for your reply @raghuhit.

I've seen that comment before and it unfortunately does not fix our problem as stated a few comments further #25 (comment) (we use Bitbucket pipelines as well). According to the comment the investigation started 1 year ago, so I assume it will not be fixed anytime soon? I'd rather not fork this repo and use the dirty "fix" demonstrated in my initial post..

@Rachnerd , fixed issue in version 1.3.4 of package. Closing issue, if you face the problem again, please reopen.