!15 合并最终修改的内容

Merge pull request !15 from 彭宇琦/release/autest_ver2.0.0
This commit is contained in:
彭宇琦 2021-02-04 07:46:02 +08:00 committed by Gitee
commit d38b1fbd59
2 changed files with 30 additions and 31 deletions

View File

@ -2,6 +2,15 @@
## 简介
autest为Auxiliary Test的英文缩写意为辅助测试其中包括日常测试工作中能用到的工具包括测试用例编写工具简化Web UI自动化测试工具以及测试报告生成工具和日常工作中使用的小工具等。开发这个项目的目的在于使用简单的代码来简化我们测试日常中较为繁杂的操作使测试的效率得到一定的提升。
目前工具已打包到maven中央仓库可按以下代码添加依赖
```xml
<dependency>
<groupId>com.gitee.pyqone</groupId>
<artifactId>autest</artifactId>
<version>2.0.0</version>
</dependency>
```
### autest设计初衷
autest比起说是一个工具不如说是我在工作中的一个总结在我看来测试工作就是一个机械式的工作既然是机械式的工作就应该用机械来代替抱着这个想法于是我就启动了这个项目。工具第一版实际上是我自己为简化Web UI自动化脚本而做的一个对selenium代码简单的封装但随着工作经验的累积我在工作中越发地发现测试工作中很多的地方都是重复的工作但这个重复的工作又不得不去做并且做这件重复的事情花的时间还不是一般的长比如编写测试用例、编写测试报告于是我便下定决心要把这些工具整合到我的代码中。
@ -158,7 +167,7 @@ public void addCase() {
在自动化脚本编写的实践过程中我发现selenium有以下的问题
1. WebDriver类构造比较麻烦特别是指向浏览器驱动的代码不容易记住每次编写脚本时都需要去复制之前的代码
2. 浏览器配置不方便,需要记住浏览器配置相关的代码,该代码没有智能提示
3. 元素定位方式无法专门维护selenium提供了一种维护元素定位方式的代码也是现在流行一时的PO模式但该模式我并未对其深究因为我仍发现该模式在调用时仍不方便
3. 元素定位方式无法专门维护selenium提供了一种维护元素定位方式的代码也是现在流行一时的PO模式但该模式我并未对其深究因为我仍发现该模式在调用时仍不方便,后面我会提到
4. 遇到存在iframe标签的元素时需要不断地切换窗体在切换频繁时容易出错
5. 进行元素操作时会因为各种各样的问题而报错,由于元素操作是独立的,所以需要为每一个元素操作都做一次判断,导致代码冗余
6. 等待机制使用便捷,同样需要进行封装
@ -358,8 +367,7 @@ public void oprateElement() {
${rs(CH,2, 3)} | 13000000000 | ${time()}
${rs(CH,2, 3)} | 13000000001 | ${time(-1d)}
${rs(CH,2, 3)} | 13000000002 | ${time(-2d)}
其中使用“${}”括起来的内容表示使用公式,该公式可自定义。
其中使用“${}”括起来的内容表示使用公式该公式可自定义具体可以参考Wiki中对数据驱动公式的解释。
#### 3.2 构造数据并使用
定义数据驱动文件后便可结合TestNG框架在@DataProvider中对数据驱动进行构造
@ -532,6 +540,7 @@ http.url("http://127.0.0.1:9000/find/findpreson")
.putHead(HeadType.CONTENT_TYPE_JSON)
.encoding("UTF-8");
```
具体用法可参考Wiki对接口工具的介绍。
### 5 数据库工具
同接口一样我对数据的操作也涉猎不深目前数据库工具只对jdbc执行SQL这一块进行了封装简化了执行SQL的代码以及连接数据库的代码。
@ -598,11 +607,12 @@ public void action() {
["3", "000003", "100003", "王五"]
["4", "000004", "100004", "赵六"]
```
在代码中使用到了表数据类TableData该类可用于存储同数据类型的表数据。
在代码中使用到了表数据类TableData该类可用于存储同数据类型的表数据具体用法可在Wiki中进行查找
### 6 其他工具
除以上介绍到的主要工具外,在项目中还定义了一些小工具,这些工具可用于造数据,简化复杂的操作等,故将这一部分的代码也进行了封装,使其与上面介绍的大工具联系更紧密。
除以上介绍到的主要工具外,在项目中还定义了一些小工具,这些工具比较简单,但也经常使用,故将这一部分的代码也进行了封装,使其与上面介绍的大工具联系更紧密。
这里对这些工具进行简单的介绍具体的用法可参考Wiki的介绍。
* 日期加减工具Time可根据日期单位对设定的时间进行增减操作并按照指定的格式进行输出。
* 随机字符串工具RandomString用于根据指定的字符串池随机从字符串池中抽取字符串拼接指定长度的随机字符串并返回的工具
* 常用随机内容返回工具PresetString用于返回常用的需要随机返回的词语。包括随机姓名、随机手机号码和随机身份证号等。

41
pom.xml
View File

@ -5,7 +5,7 @@
<groupId>com.gitee.pyqone</groupId>
<artifactId>autest</artifactId>
<version>2.0.0-RELEASE</version>
<version>2.0.0</version>
<packaging>jar</packaging>
<url>https://gitee.com/pyqone/autest</url>
@ -246,33 +246,22 @@
<artifactId>maven-deploy-plugin</artifactId>
<version>2.7</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>oss-pyq-release</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<distributionManagement>
<snapshotRepository>
<id>oss-pyq-release</id>