34
Views
3
Comments
[BDDFramework Client Side] Test execution timeout when starting through API
bddframeworkclientside
Mobile icon
Forge asset by OutSystems
Application Type
Mobile
Service Studio Version
11.54.22 (Build 62709)

I'm calling the BDDFramework api:

https://{env-url}/TestRunner_API/rest/v1/BDDTestRunner/{TestESpace}/{TestSuiteScreen}

but I get timeout error as a response:

{"SuiteSuccess":false,"SuccessfulScenarios":0,"FailedScenarios":0,"SkippedScenarios":0,"FailureReports":[],"ErrorMessage":"Unable to call TestSuite screen '{TestSuiteScreen} ' for eSpace '{TestESpace} '. Exception: waiting for selector 'div[data-block='BDDFramework.FinalResult']' failed: timeout 10000 ms exceeded"}

There is also following error log:

waiting for selector 'div[data-block='BDDFramework.FinalResult']' failed: timeout 10000 ms exceeded

   at ssTestRunner_API.RssExtensionTestRunner_Ext.MssRunTest(HeContext heContext, String inParamChromiumFolder, String inParamTestURL, Int32 inParamExecutionTimeout, Boolean inParamIsBenchmark, IRecord& outParamResult)

   at ssTestRunner_API.CsRESTExpose.Csv1.Csv1ControllerFlows.Flowv1ActionRunTestSuite(HeContext heContext, String inParamTestESpace, String inParamTestSuiteScreen, Int32 inParamTimeout, STTestSuiteResultStructure& outParamResult)

Have I missed something? When opening the test application directly on web browser I can see test case results.

2024-01-17 09-56-28
Mika Nieminen

I think that the failure is where the TestURL is combined (TestRunner_API -module / REST / RunTestSuite). That is starting with:

"HTTP://localhost/" + TestESpace +

I'm just guessing but maybe unsecure connection is prohibited or something like that.. Anyway changing to HTTPS I got a certificate error. As a workaround I changed localhost to my environment URL and it started to work. Some more generic solution is of course needed. 

2022-07-11 14-05-36
Jeroen Barnhoorn

A bit of a late reply, but have you checked whether the test screen has anonymous access enabled? 

Otherwise it might appear to work fine when accessing it through a browser (since you're probably still logged in), but the API won't be able to access it.

2024-01-17 09-56-28
Mika Nieminen

Thanks replying! Unfortunately I did had also that Anonymous checked so it is not solution.

I must admit that I was forgotten this question. In my current project this ClientSide is not used so this has not been a show stopper for me.

If I recall correctly the default folder for chromium installation had to be changed at some point because there was no access right on windows server for the installation. I'm just guessing but perhaps there is similar kind of access violation when the API is used?

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.