robotcodedev / robotcode

RobotFramework support for Visual Studio Code
https://robotcode.io
Apache License 2.0
187 stars 15 forks source link

[BUG] Slow reaction time when running tests #285

Closed DanielPenning closed 1 week ago

DanielPenning commented 3 months ago

Describe the bug Starting a test within RobotCode adds around 3s overhead compared to running the same .robot file from the CLI with robot. For short development loops this overhead is disturbing.

To Reproduce Steps to reproduce the behavior:

  1. Add a new file empty.robot in an otherwise empty directory.
    *** Test Cases ***
    First
    No Operation
  2. Run the suite or test by ckicking on the green icon left to it.

Expected behavior The command should execute the tests with almost the same speed than running the CLI. But:

Desktop (please complete the following information):

d-biehl commented 3 months ago

How is this noticeable? When I press the Run button, a new terminal opens, if one is not already open, and it starts within 1 second. Where are the 3 seconds lost? And how do you measure that? What is the start and what is the end point? Maybe you record a short video clip to show it?

You have to bear in mind that it can't be quite as fast as on the console, as VSCode also has to connect to the test run, a new terminal may be opened, etc.

d-biehl commented 3 months ago

any news about this?

DanielPenning commented 3 months ago

https://github.com/user-attachments/assets/1be263a1-0dfb-488a-b27f-6d4ba767240b

Sorry for the late response. I created a short video. I measured this in a simple way: Manually with a stop watch.

The video shows about 2.5-3s delay - so this is a bit better than originally written above. The video was made with a bit more recent versions (VS Code 1.92.2, RobotCode v0.87.0).

@d-biehl Is this helpful for you to reproduce?

DanielPenning commented 2 months ago

@d-biehl Can I provide anything else that is helpful for you to track down this performance issue?

d-biehl commented 2 months ago

I can't do it any faster because VSCode creates a new terminal session, attaches the test listener and connects to it and so on. If you don't close the terminal after the first start, it should go faster the next time.

Have you ever changed the shell, I use the new powershell pwsh, I have the feeling that it is faster.

You can also try to change the setting robotcode.debug.defaultConsole to internalConsole, then no extra terminal will be opened. However, you can then no longer open the report via ctrl+click, but the setting robotcode.run.openOutputAfterRun helps here.

DanielPenning commented 1 month ago

Thanks for your analysis.

However I noticed something strange: VS Code uses a "Debugging" symbol for the powershell-tab that is opened by Robotcode. When I manually open a pwsh it uses a normal terminal-symbol. Is it expected that the terminal opened by Robotcode has this symbol?

grafik

d-biehl commented 1 week ago

this is done by VSCode, because a debugging session is started and maybe this environment is different (other environment variables, python interpreter or whatever) then a normal terminal session.

Since I can't do anything here, I'm closing this topic. If you have any objections or new information, you can open it again.