# WeComUIPro **Repository Path**: DerrickChen/WeComUIPro ## Basic Information - **Project Name**: WeComUIPro - **Description**: 企业微信UI自动化 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-07-05 - **Last Updated**: 2023-07-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 企业微信UI自动化框架 ## 一、GitHub链接 项目网址链接:https://gitee.com/DerrickChen/WeComUIPro.git ## 二、Web UI 框架结构图 封装的底层框架用到Java+Maven+Selenium+Junit5+Log4j+Allure,支持多种浏览器的测试,包括谷歌、火狐、IE、Safari等。同时框架可根据配置文件【包括业务和用例】自动解析、生成并执行测试用例,且用例实现参数化。在框架封装基础之上,仅关注业务开发。
- main - java - basedriver - **ChromeDriverHandler**:封装启动谷歌浏览器的类 - **EdgeDriverHandler**:封装Edge浏览器的类 - **FirefoxDriverHandler**:封装火狐浏览器的类 - **InternetExplorerDriverHandler**:封装启动IE浏览器的类 - **OperaDriverHandler**:封装Safari浏览器的类 - basepage - **BaseBrowser**:封装浏览器中界面上最基本操作 - **BasePage**:封装基本页面操作方法 - basepo - **POBaseData**:封装解析测试用例Yaml数据,封装对象 - **POBasePage**:封装解析测试用例执行的具体操作步骤,并执行用例 - **POStore**:封装保存所有的po, poName: POBasePage实例 - basetest - **BaseTestCaseExcutor**:封装解析测试用例整体操作步骤,包括断言 - constant - **TestConstant**:封装测试项目常量类 - exception - **BrowserNameException**:封装异常类 - util - **PropertiesReader**:封装读取配置文件操作方法 - resources - **config.properties**:项目基础配置信息 - **log4j2.xml**:log4j2的配置文件、控制台输出和文件滚动输出 - test - java - testcase - **WeComContactChromeTest**:项目业务模块 - resources - data - **WeComContactChromeTestData.yaml**:项目业务模块用例参数化数据 - model - **WeComContactChromeTestPage.yaml**:项目业务模块配置 - **pom.xml**:Maven配置文件 ## 三、企业微信项目开发示例【支持谷歌、火狐、Edge浏览器兼容性测试,支持多环境配置执行】 1、项目需求描述 针对企业微信通讯录模块完成部门和部门成员增删改查UI测试 2、具体实现 (1)设计通讯录模块PO测试类,实现通讯录模块初始化、加载模块配置文件进行用例自动解析、生成并参数化形式执行、最后统一断言 例如:实现谷歌、火狐、Edge浏览器兼容性代码测试 【src/test/java/com/wechat/pageobject/testcase/WeComContactChromeTest.java】 【src/test/java/com/wechat/pageobject/testcase/WeComContactFireFoxTest.java】 【src/test/java/com/wechat/pageobject/testcase/WeComContactOperaTest.java】 (2)设计通讯录模块配置,完成用例步骤设计 【src/test/resources/model/WeComContactChromeTest.yaml】 【src/test/resources/model/WeComContactFireFoxTest.yaml】 【src/test/resources/model/WeComContactOperaTest.yaml】 (3)设计通讯录模块用例参数化配置 【src/test/resources/data/WeComContactChromeTestData.yaml】 【src/test/resources/data/WeComContactFireFoxTestData.yaml】 【src/test/resources/data/WeComContactOperaTestData.yaml】 (4)执行命令,生成报告【 #mvn clean test -Dtest=WeComContactChromeTest】