Existence of testing framework for Word Add-in

Aman Sharma 1 Reputation point
2021-05-10T06:33:30.54+00:00

I wanted to know if there exists any formal testing framework for testing Word Add-ins. Microsoft internally would use one to test APIs like insertText, insertContentControl, etc. I was wondering if there exists an open-source variant.

If it does not, I would like to propose and idea for the project and I am willing to work on it if it is accepted.

Goal: The project would allow users to write tests their Word-Addin functionalities.

A basic outline of the framework would function is as follows:

  1. For every test, an MS Word instance would be spawned (similar to what Selenium does but for a browser.). This instance could be just a document in MS Word and we don't need to display other features such as the toolbars and ribbons in MS Word. One may call it a "headless" MS Word.
  2. Next, we can call a function inside the test which contains APIs listed here. These APIs will interact with the spawned instance above. For each API call, the OOXML of the document will be altered and can be used to perform assertions.
  3. Finally, the test can expect a certain OOXML change and we will have to create a functionality inside our testing framework which would look for that "certain OOXML" and pass the test if found.

However, for the first step, I would need to understand how feasible it is to spawn such an instance at my end because MS Word is not an open-source software so I don't know if I can implement that on my own. Regardless, if you find my project idea interesting, do let me know. I can create a more detailed proposal with code snippets which would further outline the user stories and functionalities.

Office Development
Office Development
Office: A suite of Microsoft productivity software that supports common business tasks, including word processing, email, presentations, and data management and analysis.Development: The process of researching, productizing, and refining new or existing technologies.
1,970 questions
No comments
{count} votes