[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Automate Emacs UI testing?
From: |
joakim |
Subject: |
Re: Automate Emacs UI testing? |
Date: |
Tue, 10 Nov 2015 20:16:47 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) |
John Wiegley <address@hidden> writes:
>>>>>> Óscar Fuentes <address@hidden> writes:
>
>> As Emacs has no strong test suite (automatic testing of UI is hard, so no
>> cure for this on sight) neither has many resources for steady manual testing
>> and bug-fixing, I'm afraid that switching to the cadence model would
>> deteriorate the quality of releases.
>
> Web developers have some pretty awesome tools for driving a UI and observing
> the resulting behavior. I wonder what it would take to have a framework like
> that for Emacs...
I work with test automation periodically.
Web testing is a special case, because there are frameworks that can
work with the browser document object model, to simulate a user, and verify
results. These tools wouldn't work with Emacs.
There is another class of tools that work at the windowing level,
including http://www.sikuli.org/. It works by simulating events, and
then analyzing the on-screen results with OpenCV, which is a computer
vision framework. I have worked with this tool, and it works, but is
tricky to set up. I have been wanting to set up my own tests with Sikuli
and Emacs, because many emacs packages I use randomly fail after
upgrade. If I could verify that everything works in a separate
environment I wouldn't need to upgrade my main emacs.
This is the testing scenario I have worked on.
- Isolate an Emacs build and environment in a Docker container
environment. This works well, but it's a little bit tricky getting the
containerized Emacs to access the host screen. It is a nice strategy,
because you can easily simulate a number of gnu/linux distributions. I
used this strategy for my xwidget branch.
- Make sikuli tests that test things like Helm and Yasnippets. I haven't
done more than verifying that the strategy works. Here is a container
with Sikuli that I havent tested:
https://hub.docker.com/r/kkochubey1/sikuli-chrome-x11vnc/
- Do these tests on each commit in a Jenkins build server that I
have. It could be any build server with the right configuration though.
>
> John
>
--
Joakim Verona
Re: Move to a cadence release model?, Eli Zaretskii, 2015/11/10
- Re: Move to a cadence release model?, Óscar Fuentes, 2015/11/10
- Automate Emacs UI testing? (was: Move to a cadence release model?), John Wiegley, 2015/11/10
- Re: Automate Emacs UI testing?, Ashton Kemerling, 2015/11/10
- Re: Automate Emacs UI testing? (was: Move to a cadence release model?), Eli Zaretskii, 2015/11/10
- Re: Automate Emacs UI testing?,
joakim <=
- Re: Automate Emacs UI testing?, John Wiegley, 2015/11/10
- Re: Automate Emacs UI testing?, Richard Stallman, 2015/11/11
- Re: Automate Emacs UI testing?, joakim, 2015/11/11
- Re: Automate Emacs UI testing?, Richard Stallman, 2015/11/11
- official Emacs Docker image (was: Automate Emacs UI testing?), Ted Zlatanov, 2015/11/11
- Re: official Emacs Docker image, Nic Ferrier, 2015/11/12
- Re: official Emacs Docker image, Ricardo Wurmus, 2015/11/12
- Re: official Emacs Docker image (was: Automate Emacs UI testing?), Richard Stallman, 2015/11/12
- Re: official Emacs Docker image, joakim, 2015/11/12
Re: Automate Emacs UI testing?, Mathieu Lirzin, 2015/11/12