{"repo":"abcnull/webuitest4j","free":true,"listed":false,"github":"https://github.com/abcnull/webuitest4j","clone":"git clone https://github.com/abcnull/webuitest4j.git","description":"该项目是 java 编写的使用 selenium 依赖包的 WebUI 测试项目","language":"Java","stars":31,"topics":["selenium","java","testng","extentreports","maven","pageobject","slf4j","redis","h5","selenium-grid"],"license":null,"category":"scrapers-browser-automation","readme_excerpt":"[TOC] English 博客 注意：此项目在不断的优化和拓展中，因此 readme 没有及时的更新！项目经过实战，此 readme 不是最新的项目样貌，仅仅是初代版的样子！但是此 readme 对于理解框架还是很有帮助的！后面会更新 readme！ 简介 该项目是 java 编写的使用 selenium 依赖包的 WebUI 测试项目 java + selenium + testng + maven + PO + 多线程 + slf4j + log4j + 截图 + extentreports + redis + 多浏览器 + h5 + 优先级设置 + jenkins + grid 平台 框架功能 - PO 思想模式 - 多线程 - slf4j + log4j 日志 - 出错截图 - extentreports 等多种测试报告 - redis 存取值 - 多种浏览器支持测试 - 谷歌 h5 测试支持 - 调整了优先级 - 支持 jenkins job 传参构建 - 支持运行 hub 的浏览器节点 使用介绍 将 github 项目拉取到本之后，可以运行本地 testng.xml，或者运行 pom 文件，mvn test 控制台运行也是可行的，本地最好安装一下 redis 服务，没有也可以正常运行，对测试流程和报告产出没有影响，但控制台会显示 redis 连接有问题。 编写时候在关注页面操作，PO 对象拆分成了数据，元素定位和页面操作三个部分放在三个包中，PO 对象需要继承 BasePage，PO 对象写完之后，直接编写测试用例，测试用例会继承 BaseTest，测试用例调用 PO 的操作方法实现测试流程，将测试用例组织到 testng.xml 中实现，最后可以使用 jenkins 来持续构建 关系结构 - base 包 有 BaseTest 测试基类，BaseDriver 驱动基类，在 BaseTest 中主要使用到了 BaseDriver 来产生驱动，还使用配置文件读取器去取配置文件和使用了 redis 工具类拿到连接。在 BaseDriver 中主要是做各种浏览器的配置 - common 包 含有 BaseBrowser 和 BasePage 两个类，BaseBrowser 主要是对最基本的元素和页面方法进行了，BasePage 主要是对不同页面相似的复杂操作进行封装 - PO 对象 data 包关注页面数据，locator 包关注页面元素定位，page 包关注页面操作 - testcase 包 其中的都是测试用例，测试用例都会继承 BaseTest，并且其中会调用 page 包中的页面类并调用其中的方法进行测试 - testng.xml 测试用例组织 - listener 包 测试中的监听器，实现截图，测试报告等 - util 包 工具类 - 其他 其他 关键代码 - BaseTest 关键代码 - 驱动启动关键代码 - hub 相关代码 - 测试用例代码 注意点 1. 没有装 redis 的话也没关系，项目运行也能正常执行测试用例，虽然控制台显示 redis 连接不到，但是执行测试用例产出报告一套流程是没有丝毫影响的 2. 项目中运行到 BeforeTest 时候会是一个新的线程，一个线程含有一个驱动和一个 redis 连接 3. pom.xml 文件报红是正常的，并不影响 mvn test 的执行，报红是因为其中进行了外部传参，这个项目可以配置到 jenkins 中，jenkins 的 job 中创建几个参数，这些参数就可以传进 po","default_branch":null,"files":null,"tree":[],"storefront":"/r/abcnull","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/abcnull/webuitest4j/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}