Posts

Showing posts from July, 2018

GSoC work report - Week 11

This week, I first completed the patch - https://gerrit.libreoffice.org/#/c/57857/
This adds a new function to call UNO commands with parameters in the UI tests.

Then, I completed the patch - https://gerrit.libreoffice.org/#/c/57368/
This involved adding logging for the opening of sidebar/deck in the LO apps, changing the log for object selection and UNO commands to make them interpretable, and removing the function logObjectSelection to merge it in the logEvent function.

Now, I am working on improving the log interpreter - https://gerrit.libreoffice.org/#/c/58340/
This fixes a crash on certain inputs and adds support for interpreting UNO command parameters, along with some other minor changes.

GSoC work report - Week 10

I first worked on adding logs for more events. The selection of symbols from "element_selector" in the math app now gets logged. Also, the selection of objects now gets logged in the writer, calc and impress. The patch is here - https://gerrit.libreoffice.org/#/c/57368/
I also worked on changing from multiple functions for logging to one generic function logEvent in the same patch.

Additionally, I also did some work for adding support of sending parameters in executeCommand function of the UI testing framework. The progress can be seen here - https://gerrit.libreoffice.org/#/c/57857/

GSoC work report - Week 9

At first, I worked on the keylogging issue. Key presses are now logged according to DSL inside the dialogs too (in ComboBoxes and SpinFields). The patch is here - https://gerrit.libreoffice.org/#/c/57233/

Then I worked on logging more events (https://gerrit.libreoffice.org/#/c/57368/). These are the events which this patch logs -
WriterGoto PageSet ZoomCalcLaunch AutofilterSelect Cell/Range/TableImpressSet Zoom In addition to this, I realized that we might also need to log the arguments sent with a UNO command, in addition to the UNO command itself. The patch has also done some work in that direction.

GSoC work report - Week 8

This week, I first worked on improving the log interpreter. It can now open existing files (in addition to starting with blank documents).

I then moved the logAction function from ImplCallEventListenersAndHandler to CallEventListeners. Events from down in the class hierarchy which directly called CallEventListeners from vcl::Window (or ImplCallEventListenersAndHandler from Control) will now get interrupted by the new function, register a log statement, and then go to the class Window. This also allowed to log SpinFieldUp and SpinFieldDown.

According to the feedback from Raal, I worked on resolving the ID conflicts of UI elements in the same dialog. The patch can be seen here.

For week 9, I will keep working on improving UI testing, including the key input inside dialogs as suggested by Markus.

GSoC work report - Week 7

During the 7th week, I sent 3 patches.

1) Gerrit change #56776

This change adds more features to the log interpreter. UNO commands, closing dialogs through buttons, sending UNO commands to open dialogs via keycode is now supported.

2) Gerrit change #56777

This change makes command-line argument parsing of interpreter more standard.

3) Gerrit change #56789

This change adds support for starting any of the 6 apps of LibreOffice through the create_doc_in_start_center() function.

Let's also have a look at a log file and the generated test file. 

Log File -


ButtonUIObject Action:CLICK Id:writer_all Parent: CommandSent Name:.uno:FontDialog ModalDialogExecuted Id:CharacterPropertiesDialog RadioButtonUIObject Action:CLICK Id:90deg Parent:CharacterPropertiesDialog ListBoxUIObject Action:SELECT Id:linestylelb Parent:CharacterPropertiesDialog {"POS": "6"} ButtonUIObject Action:CLICK Id:ok Parent:CharacterPropertiesDialog DialogClosed

Test File -

1 2 3 4 5 6 7 8 9 10 11 12 1…