Interacting with AT-SPI2 in CI environment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello everyone,

As part of my effort to improve accessibility test infrastructure and coverage [1], I'll have to work on covering the platform layer.

The chosen approach, after discussing with Florian Effenberger (back in late 2021 I think), is communicating with a LO process through AT-SPI2 on Linux. This is because it's the true outer layer, and that GTK4 does not use ATK anymore, so tests relying on simply checking the ATK implementations in the GTK3 VCL would not be future-proof, and don't seem sensible to invest on nowadays. Using AT-SPI2 directly would also allow testing the Qt VCLs.

This means that to perform tests I'll have to run LO in the CI environment in a way where it can use the gtk3/4 VCL, and have a working AT-SPI2 bus so they can communicate. The tests themselves would then simply use the exposed AT-SPI2 interfaces and control they behave as expected.

We at Hypra already have done similar setups (even with LO itself) using xvfb-run (or xvnc, but that's not very useful in CI) and dbus-launch, and then interacting through AT-SPI2 using Python and the excellent dogtail module [2].

My question here is: what would be acceptable in CIs, and how would it work to add such CI dependencies? I'd rather not rebuild xvfb & al for each CI run, as it seems heavy and not very sensible: it's a fairly standard piece of software and I wouldn't need any specific version of it.

A follow-up question would be whether you have any pointers in how to integrate this kind of things to the build? I didn't start investigating because I'd like to make sure I'm not pursuing the wrong path, but anything that could save me reading a hundred gbuild files would be much appreciated :)

Thanks in advance,
Colomban

[1] https://blog.documentfoundation.org/blog/2021/10/13/tender-to-implement-c-accessibility-tests-202110-01/
[2] https://gitlab.com/dogtail/dogtail



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux