一套训练时长两年半的成熟的自动化测试框架,改个包名就可当公司的使用。旨在实现移动端、Web端和API端的自动化测试。该框架的目标是提高测试效率,提高测试的可靠性和可重复性,同时也促使测试过程的规模化和标准化。
- 移动端测试:基于SelenideAppium,支持Android和iOS设备,实现UI和功能的自动化测试,==使用PO生成工具大幅提高代码质量,只需输入元素和特定的传参即可生成PO。==
- Web端测试:使用Selenide、WebDriverManager和Selenoid进行测试。==在并发高的情况下,可通过Ggr提高并发数。支持各种主流浏览器,并在Docker环境下运行。==
- API端测试:使用RestAssured和JsonPath库进行RESTful API和GraphQL API的测试,包括返回状态验证,响应数据验证和性能测试。==可利用工具类自动将curl生成测试方法以及PO和测试类==
AutoFrameWork的架构采用模块化设计,主要包括移动端测试模块,Web端测试模块和API端测试模块。这些模块基于第三方库Selenide, SelenideAppium, RestAssured, JsonPath, TestNG, WebDriverManager, Selenoid, Ggr(可以配置多个selenoid)和Log4j进行操作。
- 移动端测试模块:利用SelenideAppium进行Android和iOS设备的UI和功能测试。
- Web端测试模块:使用Selenide、WebDriverManager和Selenoid进行Web端的自动化测试,且在高并发的情况下,利用Ggr提升并发数。
- API端测试模块:使用RestAssured和JsonPath进行API测试,包括返回状态验证,响应数据验证和性能测试。
这些模块使用Page Object(页面对象)模式进行设计,使得代码结构更加清晰,易于阅读和维护。Page Object模式将每一个页面视为一个对象,每个对象内部封装了该页面的元素和操作,这使得测试脚本更简洁,易于理解。
除了这些主要的测试模块,AutoFrameWork还包含了一些重要的辅助组件:
- 配置管理组件:处理所有的配置信息,例如测试环境的设置,测试场景的选择等。
- 结果报告组件:负责生成测试报告,包括Allure和TestNG的美化报告,并可以将报告通过邮件发送。
- 错误处理和日志组件:使用Log4j进行日志记录和错误处理,失败的测试用例会自动重试。
这些模块和组件共同构成了AutoFrameWork的代码架构,提供了强大而灵活的自动化测试功能。在未来的版本中,我们计划增加更多的模块和组件,以支持更多的测试场景和语言,增强AutoFrameWork的扩展性和可用性。
通过配置文件来设置测试环境和测试场景,测试脚本主要使用Java编写。所有的页面元素和操作都被封装在Page Object中,使得测试脚本更简洁,易于理解。失败的测试用例会自动重试,并记录失败信息。支持通过Jenkins执行定时任务和自动化测试。
主要优点是全面性和易用性,覆盖了大部分的测试需求。代码结构清晰,易于阅读和维护,同时,通过使用Page Object模式,使得测试脚本更简洁,易于理解。然而,目前只支持Java语言编写测试脚本,可能无法满足所有用户的需求。我们计划在未来的版本中增加更多的语言支持。
- 写移动端的测试代码
- 写api的测试代码
- 优化FrameWrokConfig的代码
- API将curl的代码转成idea插件
- 手机端将元素操作转成idea插件
- 动态调试工具放进去,以及使用方法
- [ ]