TestProject Forum

Strange handling of popups in smart recorder

My crypto projects uses open source chrome extension wallets like MetaMask or Keplr.
I created a test where I import existing Keplr account and then create connection to a specific blockchain with an application under test.
The thing is how smart test recorder opens popups when test is recorded and run with ‘Run’ button.
The test flow is as follows:

  1. Import existing Keplr account
  2. Go to an application page

Then the application recognizes that Keplr wallet is active and automatically tries to connect to some of the blockchains.

When we execute this test from a job, it runs the same way as it was executed manually in a browser. As part of loading the application page, Keplr loads 2 popup windows (accepting first one opens another):

  • requesting connection
  • request adding a blockchain

As you can see on screenshots (1) and (2) popups filled in both application name (testnet.sifchain.finance) and blockchain to connect to (sifchain-testnet-1). That was an expected behavior.

A different behavior is observed when we run the test from smart test recorder with ‘Run’ button. Then in step 2 when the application is being loaded, instead of popups, a series of new tabs is opened. You can see that we don’t have either the application url filled in or connecting blockchain. That results in Approve button disabled. See images (3) and (4).

Worth noting is that these popups/new tabs come from the Keplr extension.
The extensions in a job are loaded with these desired capabilities

{
  "browserName": "chrome",
  "version": 83,
  "goog:chromeOptions": {
    "args": [
      "load-extension=/Users/piotr/Library/Application Support/Google/Chrome.bak/Profile 3/Extensions/dmkamcknogkgcdfhhbddcghachkejeap/0.9.9_0",
      "disable-extensions-except=/Users/piotr/Library/Application Support/Google/Chrome.bak/Profile 3/Extensions/dmkamcknogkgcdfhhbddcghachkejeap/0.9.9_0"
    ]
  }
}

For reference there are also full videos to see entire test runs: iCloud

Hi @pgoose,
Due to your application opening the links to allow integration in new windows instead new tabs. it causes an issue with the recorder.
As discussed please check with your team if it’s possible to open the links in new tabs instead of new windows.