open-im-server
open-im-server copied to clipboard
Feature: Integrate Automated UI Testing for OpenIM-web using Go Rod
Checklist
- [X] I've searched for similar issues and couldn't find anything matching
- [X] I've discussed this feature request in the OpenIMSDK Slack and got positive feedback
Is this feature request related to a problem?
✅ Yes
Problem Description
Currently, OpenIM lacks comprehensive automated testing for its web interface, which can lead to uncaught bugs and regressions affecting user experience. Ensuring the reliability and stability of OpenIM-web through systematic testing is crucial for maintaining high-quality standards and user trust.
Solution Description
Introduce an automated testing framework utilizing Go Rod, a powerful library for browser control and testing, to perform UI functionality tests on OpenIM-web. Learning and implementing Go Rod (https://go-rod.github.io/i18n/) will enable us to script and automate tests directly against the UI served at http://127.0.0.1:11001/ after launching the OpenIM service.
Benefits
- Improved Reliability: Automated UI testing will significantly reduce the chances of regressions and bugs slipping into production.
- Faster Release Cycles: With automated testing, new features and fixes can be deployed more rapidly, as manual testing requirements are reduced.
- Increased Coverage: Automated tests can run more frequently and cover more scenarios than manual testing, ensuring more comprehensive test coverage.
- Documentation and Examples: Incorporating Go Rod for testing will serve as a valuable example for future testing endeavors within the project, contributing to a culture of quality.
Potential Drawbacks
- Learning Curve: Contributors may need time to learn Go Rod and adapt to the automated testing approach.
- Initial Setup Time: Setting up a comprehensive suite of automated tests may require significant initial effort.
- Maintenance Overhead: Tests will need to be maintained and updated alongside the evolving UI, potentially adding overhead.
Additional Information
A proposed testing plan and scenarios have been outlined in a Google Docs spreadsheet accessible here. This document serves as a starting point for test case development and can be expanded as testing progresses.
This issue is available for anyone to work on. Make sure to reference this issue in your pull request. :sparkles: Thank you for your contribution! :sparkles:
Join slack 🤖 to connect and communicate with our developers.
If you wish to accept this assignment, please leave a comment in the comments section: /accept
.🎯
@cubxxw ,你好,我对openim项目很感兴趣,同时我认为编写测试是一个很好的了解项目的方式,所以能将它assign给我吗,我会在闲暇时间完成它。
Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑🤝🧑👫🧑🏿🤝🧑🏻👩🏾🤝👨🏿👬🏿
@cubxxw, Hello, I am very interested in the openim project, and I think writing tests is a good way to understand the project, so can you assign it to me, I will complete it in my spare time.
I'm glad you can accept this PR. If you have any questions, please feel free to send them to our community. You can go to slack or openim web @cyb0225
- https://web-enterprise.rentsoft.cn/
我使用手机加入slack,显示error,是否能再发个slack的邀请链接
Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑🤝🧑👫🧑🏿🤝🧑🏻👩🏾🤝👨🏿👬🏿
I use my mobile phone to join slack, but an error appears. Can I send another slack invitation link?
https://join.slack.com/t/openimsdk/shared_invite/zt-2gld55idc-0bL7GODaUAJZa~ivCNaNEQ @cyb0225