修改javadoc
This commit is contained in:
parent
f855430bc8
commit
c28c4e069f
|
@ -150,7 +150,6 @@ public class Time {
|
|||
* 注意,传入已格式化的时间时,其不会改变当前存储的时间
|
||||
*
|
||||
* @param pattern 指定的格式或已格式化的时间
|
||||
* @return 格式化后的时间
|
||||
*/
|
||||
public void setTimeFormat(String pattern) {
|
||||
if (pattern.matches(REGEX_DATE)) {
|
||||
|
|
|
@ -133,7 +133,7 @@ public abstract class AbstractWriteExcel<T extends AbstractWriteExcel<T>> {
|
|||
* 只存在一个sheet标签时,则直接获取其对应sheet下所有column标签的id属性;若存在
|
||||
* 多个sheet标签时,则读取第一个sheet标签,如需切换sheet标签,则可调用{@link #switchSheet(String)} 方法。
|
||||
*
|
||||
* @param configFile 测试文件模板xml配置文件类对象
|
||||
* @param configDocument 测试文件模板xml配置文件{@link Document}类对象
|
||||
* @param tempFile 测试用例文件类对象
|
||||
* @throws IncorrectFileException 文件格式或路径不正确时抛出的异常
|
||||
*/
|
||||
|
@ -166,17 +166,6 @@ public abstract class AbstractWriteExcel<T extends AbstractWriteExcel<T>> {
|
|||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public T switchSheet(String sheetName) {
|
||||
// 每次切换sheet时,要重新获取一次sheet下的字段id。
|
||||
// 切换sheet后需要清空预设字段中的内容
|
||||
// 重新获取id,包括清空fieldMap
|
||||
// getColumnId(sheetName);
|
||||
// 清空常值map
|
||||
// constValueMap.clear();
|
||||
// 清空标记map
|
||||
// fieldMarkMap.clear();
|
||||
// 清空预设字段枚举值
|
||||
// Arrays.stream(FieldType.values()).forEach(e -> e.setValue(""));
|
||||
|
||||
// 将相应的sheet标签的name属性存储至sheetName中
|
||||
this.nowSheetName = sheetName;
|
||||
if (!writeSheetNameList.contains(sheetName)) {
|
||||
|
@ -1520,14 +1509,13 @@ public abstract class AbstractWriteExcel<T extends AbstractWriteExcel<T>> {
|
|||
|
||||
/**
|
||||
* 用于构造Field
|
||||
*
|
||||
* @param id 字段id
|
||||
* @param align 单元格对齐方式
|
||||
* @param index 字段在单元格中的位置
|
||||
* @param rowText 换行段落数
|
||||
* @param datas 字段是否存在数据有效性
|
||||
* @param id 字段在配置文件中的id
|
||||
* @param name 字段在配置文件中的name
|
||||
* @param align 字段在配置文件中的水平对齐方式
|
||||
* @param index 字段在单元格中的位置
|
||||
* @param rowText 换行段落数
|
||||
* @param datas 字段是否存在数据有效性
|
||||
* @param numberSign 字段是否需要编号
|
||||
* @param link 超链接内容
|
||||
*/
|
||||
public Field(String id, String name, String align, int index, String rowText, ArrayList<String> datas, boolean numberSign) {
|
||||
this.id = id;
|
||||
|
@ -1550,7 +1538,6 @@ public abstract class AbstractWriteExcel<T extends AbstractWriteExcel<T>> {
|
|||
* 根据字段单元格的对齐方式,来创建XSSFCellStyle对象,如样式
|
||||
* 属性值不是center、right和left中的一项,则设置样式为左对齐(left)
|
||||
*
|
||||
* @param xw XSSFWorkbook对象
|
||||
* @return XSSFCellStyle对象
|
||||
*/
|
||||
public XSSFCellStyle getCellStyle() {
|
||||
|
@ -1587,7 +1574,7 @@ public abstract class AbstractWriteExcel<T extends AbstractWriteExcel<T>> {
|
|||
* <li>当转换的数值大于0小于数据有效性集合内容的最大数值时,则获取对应的数据</li>
|
||||
* </ol>
|
||||
* <b>注意:</b>数据有效性的为与优先级接轨,故下标将从1开始,即传入1时表示获取第1个元素,而不是第2个
|
||||
* @param indexText 下标字符串
|
||||
* @param index 下标
|
||||
* @return 数据有效性中对应的数据,无法转换则返回传入的字符串
|
||||
*/
|
||||
public String getDataValidation(int index) {
|
||||
|
|
|
@ -47,7 +47,7 @@ public class WriteExcel extends AbstractWriteExcel<WriteExcel> {
|
|||
* 只存在一个sheet标签时,则直接获取其对应sheet下所有column标签的id属性;若存在
|
||||
* 多个sheet标签时,则读取第一个sheet标签,如需切换sheet标签,则可调用{@link #switchSheet(String)} 方法。
|
||||
*
|
||||
* @param configFile 测试文件模板xml配置文件类对象
|
||||
* @param configDocument 测试文件模板xml配置文件{@link Document}类对象
|
||||
* @param caseFile 测试用例文件类对象
|
||||
* @throws IncorrectFileException 文件格式或路径不正确时抛出的异常
|
||||
*/
|
||||
|
|
|
@ -85,7 +85,7 @@ public class EasyHttp implements Cloneable {
|
|||
|
||||
/**
|
||||
* 指定接口请求url,当未指定协议时,将默认以http为请求协议
|
||||
* @param host 请求url
|
||||
* @param url 请求url
|
||||
* @return 类本身
|
||||
*/
|
||||
public EasyHttp url(String url) {
|
||||
|
@ -158,7 +158,7 @@ public class EasyHttp implements Cloneable {
|
|||
|
||||
/**
|
||||
* 用于设置接口路径
|
||||
* @param host 接口路径
|
||||
* @param address 接口路径
|
||||
* @return 类本身
|
||||
*/
|
||||
public EasyHttp address(String address) {
|
||||
|
|
|
@ -174,8 +174,8 @@ public class EasyResponse {
|
|||
}
|
||||
|
||||
/**
|
||||
* 用于以{@link Document}类的形式返回响应数据,若响应数据不是html或xml格式时,则返回null
|
||||
* @return {@link Document}类形式的响应数据
|
||||
* 用于以{@link org.dom4j.Document}类的形式返回响应数据,若响应数据不是html或xml格式时,则返回null
|
||||
* @return {@link org.dom4j.Document}类形式的响应数据
|
||||
*/
|
||||
public org.dom4j.Document getXmlDocument() {
|
||||
return responseXmlDom;
|
||||
|
|
|
@ -56,7 +56,7 @@ public class RandomString {
|
|||
/**
|
||||
* 通过自定义的字符串对字符串池进行初始化
|
||||
*
|
||||
* @param modes
|
||||
* @param mode
|
||||
* 需要加入字符串池中的模型(为StringMode枚举对象)
|
||||
*/
|
||||
public RandomString(String mode) {
|
||||
|
@ -150,7 +150,7 @@ public class RandomString {
|
|||
*
|
||||
* @param isRepeat
|
||||
* 字符串池中的元素是否可重复
|
||||
* @param mode
|
||||
* @param modes
|
||||
* 需要加入到字符串池中的模型
|
||||
*
|
||||
* @return 返回类本身,以便于链式操作
|
||||
|
@ -312,15 +312,16 @@ public class RandomString {
|
|||
|
||||
/**
|
||||
* 该类用于在随机字符串生成范围中删除由用户指定位置(字符串的位置是从0开始)的字符串<br/>
|
||||
* 例如:<br/>
|
||||
*      StringSeed.append("0123456789");<br/>
|
||||
*      remove(2);<br/>
|
||||
*      System.out.println(StringSeed.toString());<br/>
|
||||
* 例如:
|
||||
* <pre><code>
|
||||
* StringSeed.append("0123456789");
|
||||
* remove(2);
|
||||
* System.out.println(StringSeed.toString());
|
||||
* </code></pre>
|
||||
* 输出结果为:<br/>
|
||||
* 013456789
|
||||
*
|
||||
* @param pos
|
||||
* 表示用户指定位置
|
||||
* @param pos 表示用户指定位置
|
||||
* @return 返回的字符串,若输入的位置不正确,则返回null
|
||||
* @see #remove(String)
|
||||
* @see #remove(int, int)
|
||||
|
|
|
@ -4,6 +4,15 @@ import java.util.ArrayList;
|
|||
import java.util.Arrays;
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* <p><b>文件名:</b>RandomWord.java</p>
|
||||
* <p><b>用途:</b>提供对指定的一组词语,随机进行返回的方法</p>
|
||||
* <p><b>编码时间:</b>2020年12月13日 下午4:30:59</p>
|
||||
* <p><b>修改时间:</b>2020年12月13日 下午4:30:59</p>
|
||||
* @author 彭宇琦
|
||||
* @version Ver1.0
|
||||
* @since JDK 1.8
|
||||
*/
|
||||
public class RandomWord {
|
||||
/**
|
||||
* 用于存储需要随机返回的词语
|
||||
|
@ -29,7 +38,7 @@ public class RandomWord {
|
|||
|
||||
/**
|
||||
* 用于向无需条件亦可直接返回的词语组中添加词语
|
||||
* @param wordLst 词语集合
|
||||
* @param wordList 词语集合
|
||||
*/
|
||||
public void addRetuenWord(ArrayList<String> wordList) {
|
||||
returnWordList.addAll(wordList);
|
||||
|
@ -45,7 +54,7 @@ public class RandomWord {
|
|||
|
||||
/**
|
||||
* 用于向符合条件后返回的词语组中添加词语
|
||||
* @param wordLst 词语集合
|
||||
* @param wordList 词语集合
|
||||
*/
|
||||
public void addConditionWord(ArrayList<String> wordList) {
|
||||
conditionWordList.addAll(wordList);
|
||||
|
|
|
@ -59,7 +59,7 @@ public abstract class AbstractBrower {
|
|||
/**
|
||||
* 指定驱动文件所在路径
|
||||
*
|
||||
* @param driberFile 驱动文件对象
|
||||
* @param driverFile 驱动文件对象
|
||||
*/
|
||||
public AbstractBrower(File driverFile) {
|
||||
this.driverFile = driverFile;
|
||||
|
@ -71,7 +71,7 @@ public abstract class AbstractBrower {
|
|||
/**
|
||||
* 指定驱动文件路径并添加一个待测站点
|
||||
*
|
||||
* @param driberFile 驱动文件对象
|
||||
* @param driverFile 驱动文件对象
|
||||
* @param url 待测站点
|
||||
* @param pageName 待测站点名称,用于切换页面
|
||||
*/
|
||||
|
|
|
@ -18,16 +18,17 @@ import pres.auxiliary.work.selenium.page.Page;
|
|||
* <p>启动浏览器需要调用{@link #getDriver()}方法启动浏览器,若在构造方法中定义了{@link Page}类,则
|
||||
* 启动浏览器时会自动对页面进行加载,若未定义,则只打开浏览器,如:</p>
|
||||
* <p>
|
||||
* 若调用方法:<br>
|
||||
* ChromeBrower brower = new {@link #ChromeBrower(File)}<br>
|
||||
* brower.{@link #getDriver()}<br>
|
||||
* 后将只全屏打开浏览器,不会加载页面
|
||||
* </p>
|
||||
* <p>
|
||||
* 若调用方法:<br>
|
||||
* ChromeBrower brower = new {@link #ChromeBrower(File, Page)}<br>
|
||||
* 或ChromeBrower brower = new {@link #ChromeBrower(File, String, String)}<br>
|
||||
* brower.{@link #getDriver()}<br>
|
||||
* 若调用方法:
|
||||
* <pre><code>
|
||||
* ChromeBrower brower = new {@link #ChromeBrower(File)}
|
||||
* brower.{@link #getDriver()}
|
||||
* </code></pre>
|
||||
* 后将只全屏打开浏览器,不会加载页面;若调用方法:
|
||||
* <pre><code>
|
||||
* ChromeBrower brower = new {@link #ChromeBrower(File, Page)}
|
||||
* //或ChromeBrower brower = new {@link #ChromeBrower(File, String, String)}
|
||||
* brower.{@link #getDriver()}
|
||||
* </code></pre>
|
||||
* 后将全屏打开浏览器,并加载相应的页面
|
||||
* </p>
|
||||
* <p>对于个性化配置,在调用{@link #getDriver()}方法前调用{@link #addConfig(ChromeOptionType)}
|
||||
|
@ -78,7 +79,7 @@ public class ChromeBrower extends AbstractBrower {
|
|||
/**
|
||||
* 指定驱动文件路径并添加一个待测站点
|
||||
*
|
||||
* @param driberFile 驱动文件对象
|
||||
* @param driverFile 驱动文件对象
|
||||
* @param url 待测站点
|
||||
* @param pageName 待测站点名称,用于切换页面
|
||||
*/
|
||||
|
@ -89,7 +90,7 @@ public class ChromeBrower extends AbstractBrower {
|
|||
/**
|
||||
* 指定驱动文件所在路径
|
||||
*
|
||||
* @param driberFile 驱动文件对象
|
||||
* @param driverFile 驱动文件对象
|
||||
*/
|
||||
public ChromeBrower(File driverFile) {
|
||||
super(driverFile);
|
||||
|
|
|
@ -8,6 +8,32 @@ import org.openqa.selenium.firefox.FirefoxOptions;
|
|||
|
||||
import pres.auxiliary.work.selenium.page.Page;
|
||||
|
||||
/**
|
||||
* <p><b>文件名:</b>FirefoxBrower.java</p>
|
||||
* <p><b>用途:</b>用于启动火狐浏览器,并加载相应的待测页面</p>
|
||||
* <p>启动浏览器需要调用{@link #getDriver()}方法启动浏览器,若在构造方法中定义了{@link Page}类,则
|
||||
* 启动浏览器时会自动对页面进行加载,若未定义,则只打开浏览器,如:</p>
|
||||
* <p>
|
||||
* 若调用方法:
|
||||
* <pre><code>
|
||||
* FirefoxBrower brower = new {@link #FirefoxBrower(File)}
|
||||
* brower.{@link #getDriver()}
|
||||
* </code></pre>
|
||||
* 后将只全屏打开浏览器,不会加载页面;若调用方法:
|
||||
* <pre><code>
|
||||
* FirefoxBrower brower = new {@link #FirefoxBrower(File, Page)}
|
||||
* //或FirefoxBrower brower = new {@link #FirefoxBrower(File, String, String)}
|
||||
* brower.{@link #getDriver()}
|
||||
* </code></pre>
|
||||
*
|
||||
* 后将全屏打开浏览器,并加载相应的页面
|
||||
* </p>
|
||||
* <p><b>编码时间:</b>2020年12月13日 下午4:33:25</p>
|
||||
* <p><b>修改时间:</b>2020年12月13日 下午4:33:25</p>
|
||||
* @author 彭宇琦
|
||||
* @version Ver1.0
|
||||
* @since JDK 1.8
|
||||
*/
|
||||
public class FirefoxBrower extends AbstractBrower {
|
||||
/**
|
||||
* 用于存储与火狐浏览器相关的配置
|
||||
|
@ -27,7 +53,7 @@ public class FirefoxBrower extends AbstractBrower {
|
|||
/**
|
||||
* 指定驱动文件路径并添加一个待测站点
|
||||
*
|
||||
* @param driberFile 驱动文件对象
|
||||
* @param driverFile 驱动文件对象
|
||||
* @param url 待测站点
|
||||
* @param pageName 待测站点名称,用于切换页面
|
||||
*/
|
||||
|
@ -38,7 +64,7 @@ public class FirefoxBrower extends AbstractBrower {
|
|||
/**
|
||||
* 指定驱动文件所在路径
|
||||
*
|
||||
* @param driberFile 驱动文件对象
|
||||
* @param driverFile 驱动文件对象
|
||||
*/
|
||||
public FirefoxBrower(File driverFile) {
|
||||
super(driverFile);
|
||||
|
|
|
@ -13,16 +13,17 @@ import pres.auxiliary.work.selenium.page.Page;
|
|||
* <p>启动浏览器需要调用{@link #getDriver()}方法启动浏览器,若在构造方法中定义了{@link Page}类,则
|
||||
* 启动浏览器时会自动对页面进行加载,若未定义,则只打开浏览器,如:</p>
|
||||
* <p>
|
||||
* 若调用方法:<br>
|
||||
* IeBrower brower = new {@link #IeBrower(File)}<br>
|
||||
* brower.{@link #getDriver()}<br>
|
||||
* 后将只全屏打开浏览器,不会加载页面
|
||||
* </p>
|
||||
* <p>
|
||||
* 若调用方法:<br>
|
||||
* IeBrower brower = new {@link #IeBrower(File, Page)}<br>
|
||||
* 或IeBrower brower = new {@link #IeBrower(File, String, String)}<br>
|
||||
* brower.{@link #getDriver()}<br>
|
||||
* 若调用方法:
|
||||
* <pre><code>
|
||||
* IeBrower brower = new {@link #IeBrower(File)}
|
||||
* brower.{@link #getDriver()}
|
||||
* </code></pre>
|
||||
* 后将只全屏打开浏览器,不会加载页面;若调用方法:
|
||||
* <pre><code>
|
||||
* IeBrower brower = new {@link #IeBrower(File, Page)}
|
||||
* //或IeBrower brower = new {@link #IeBrower(File, String, String)}
|
||||
* brower.{@link #getDriver()}
|
||||
* </code></pre>
|
||||
* 后将全屏打开浏览器,并加载相应的页面
|
||||
* </p>
|
||||
* <p><b>编码时间:</b>2020年11月8日 下午3:52:31</p>
|
||||
|
@ -50,7 +51,7 @@ public class IeBrower extends AbstractBrower {
|
|||
/**
|
||||
* 指定驱动文件路径并添加一个待测站点
|
||||
*
|
||||
* @param driberFile 驱动文件对象
|
||||
* @param driverFile 驱动文件对象
|
||||
* @param url 待测站点
|
||||
* @param pageName 待测站点名称,用于切换页面
|
||||
*/
|
||||
|
@ -61,7 +62,7 @@ public class IeBrower extends AbstractBrower {
|
|||
/**
|
||||
* 指定驱动文件所在路径
|
||||
*
|
||||
* @param driberFile 驱动文件对象
|
||||
* @param driverFile 驱动文件对象
|
||||
*/
|
||||
public IeBrower(File driverFile) {
|
||||
super(driverFile);
|
||||
|
|
|
@ -22,9 +22,9 @@ import pres.auxiliary.tool.date.Time;
|
|||
* </p>
|
||||
* <p>
|
||||
* 在类中可按照以下方法定义:
|
||||
* <pre>{@code
|
||||
* <pre><code>
|
||||
* dataDriver.addFunction("test", text -> "HelloWorld");
|
||||
*dataDriver.addFunction("select(\\d+)", text -> {
|
||||
* dataDriver.addFunction("select(\\d+)", text -> {
|
||||
* switch(Integer.value(text)) {
|
||||
* case 1:
|
||||
* return "function1"
|
||||
|
@ -33,8 +33,8 @@ import pres.auxiliary.tool.date.Time;
|
|||
* return "function2"
|
||||
* break;
|
||||
* }
|
||||
*});
|
||||
* </pre>
|
||||
* });
|
||||
* </code></pre>
|
||||
* 从数据驱动中读取到的数据有${test}、${select(1)},则按照字符串的形式输出后分别得到“HelloWorld”、“function1”。
|
||||
* </p>
|
||||
* <p>
|
||||
|
@ -107,7 +107,6 @@ public class TestNGDataDriver {
|
|||
* 用于添加自定义的公式,支持传入正则表达式,当数据驱动中的数据满足传入的正则时,则会
|
||||
* 将其按照在公式中定义的处理方式对数据进行处理,生成对应的数据。注意,公式的返回值和
|
||||
* 传参均为{@link String}类型
|
||||
* @param regex 正则表达式
|
||||
* @param function 数据处理方法
|
||||
*/
|
||||
public void addFunction(DataDriverFunction function) {
|
||||
|
@ -465,7 +464,7 @@ public class TestNGDataDriver {
|
|||
|
||||
/**
|
||||
* 用于根据列名称,以{@link Object}的形式对数据进行返回
|
||||
* @param listName 列表名称
|
||||
* @param index 列表下标
|
||||
* @return {@link Object}类型的数据
|
||||
*/
|
||||
public Object getObject(int index) {
|
||||
|
|
|
@ -68,7 +68,6 @@ public abstract class AbstractBy {
|
|||
/**
|
||||
* 通过元素信息类对象({@link ElementData})构造对象
|
||||
* @param brower {@link AbstractBrower}类对象
|
||||
* @param elementData {@link ElementData}类对象
|
||||
*/
|
||||
public AbstractBy(AbstractBrower brower) {
|
||||
this.brower = brower;
|
||||
|
@ -107,8 +106,8 @@ public abstract class AbstractBy {
|
|||
}
|
||||
|
||||
/**
|
||||
* 用于设置指向存储元素定位方式的xml文件对象,并根据传参,判断窗体是否需要回到顶层
|
||||
* @param xmlFile 存储元素定位方式的xml文件对象
|
||||
* 用于设置元素定位方式文件读取类对象,并根据传参,判断窗体是否需要回到顶层
|
||||
* @param read 元素定位方式文件读取类对象
|
||||
* @param isBreakRootFrame 是否需要将窗体切回到顶层
|
||||
*/
|
||||
public void setReadMode(AbstractLocation read, boolean isBreakRootFrame) {
|
||||
|
@ -165,7 +164,7 @@ public abstract class AbstractBy {
|
|||
/**
|
||||
* 该方法用于根据iframe_id来切换窗体
|
||||
*
|
||||
* @param name 窗体的名称
|
||||
* @param iframeElementData 窗体的信息
|
||||
*/
|
||||
public void switchFrame(ElementData iframeElementData) {
|
||||
brower.getDriver().switchTo().frame(recognitionElement(iframeElementData).get(0));
|
||||
|
|
|
@ -52,7 +52,7 @@ public class ElementData {
|
|||
/**
|
||||
* 根据元素名称,在配置文件中查找元素,将元素的信息进行存储
|
||||
* @param name 元素名称
|
||||
* @param AbstractLocation 配置文件类对象
|
||||
* @param read 配置文件类对象
|
||||
*/
|
||||
public ElementData(String name, ReadLocation read) {
|
||||
//存储元素名称
|
||||
|
|
|
@ -86,7 +86,7 @@ public class SelectBy extends MultiBy<SelectBy> {
|
|||
* 元素或查找的元素不存在时,调用该方法仅设置属性值。设置的属性名称不区分大小写
|
||||
* </p>
|
||||
*
|
||||
* @param arributeName 属性名称
|
||||
* @param attributeName 属性名称
|
||||
*/
|
||||
public void setReadArributeName(String attributeName) {
|
||||
this.attributeName = attributeName;
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
package pres.auxiliary.work.selenium.event;
|
||||
|
||||
import pres.auxiliary.work.selenium.element.Element;
|
||||
|
||||
/**
|
||||
* <p><b>文件名:</b>EventAction.java</p>
|
||||
* <p><b>用途:</b>
|
||||
* 用于执行事件增强的方法,方法中可通过{@link EventInformation}类对象,回调事件的操作的步骤
|
||||
* 以及传入到事件中的{@link Element_Old}类对象
|
||||
* 以及传入到事件中的{@link Element}类对象
|
||||
* </p>
|
||||
* <p><b>编码时间:</b>2020年7月10日下午3:40:13</p>
|
||||
* <p><b>修改时间:</b>2020年7月10日下午3:40:13</p>
|
||||
|
@ -14,7 +16,7 @@ package pres.auxiliary.work.selenium.event;
|
|||
*/
|
||||
public interface EventAction {
|
||||
/**
|
||||
* 事件增强的方法,可通过形参回调事件的操作步骤以及传入到事件中的{@link Element_Old}类对象
|
||||
* 事件增强的方法,可通过形参回调事件的操作步骤以及传入到事件中的{@link Element}类对象
|
||||
* @param name {@link EventInformation}类对象
|
||||
*/
|
||||
void action(EventInformation elemenetInformation);
|
||||
|
|
|
@ -61,8 +61,8 @@ public class EventInformation {
|
|||
}
|
||||
|
||||
/**
|
||||
* 用于返回传入到方法中{@link Element_Old}类对象集合
|
||||
* @return {@link Element_Old}类对象集合
|
||||
* 用于返回传入到方法中{@link Element}类对象集合
|
||||
* @return {@link Element}类对象集合
|
||||
*/
|
||||
public ArrayList<Element> getElement() {
|
||||
return elementList;
|
||||
|
|
|
@ -34,8 +34,8 @@ import pres.auxiliary.work.selenium.element.Element;
|
|||
* 假设存在元素xpah:元素1“//*[text()='登录']”、元素2“//*[@name='account']”、元素3“//*[@name='password']”,
|
||||
* 在点击元素1前,需要先在元素2和元素3中分别输入“admin”、“123456”,并且在此前定义了{@link ChromeBrower}浏览器对象,变量名为
|
||||
* chrome,此时,可以将代码写作<br>
|
||||
* <pre>
|
||||
* EventProxy<ClickEvent> clickEventProxy = new EventProxy(new ClickEvent(chrome.getDriver()));
|
||||
* <code><pre>
|
||||
* EventProxy <ClickEvent> clickEventProxy = new EventProxy(new ClickEvent(chrome.getDriver()));
|
||||
*
|
||||
* clickProxy.addAcion(ActionType.ELEMENT_BEFORE, ".*登录.*", (info) -> {
|
||||
* TextEvent text = inputProxy.getProxyInstance();
|
||||
|
@ -43,7 +43,7 @@ import pres.auxiliary.work.selenium.element.Element;
|
|||
* text.input(by.getElement("//*[@name='password']"), "1111111");
|
||||
* });
|
||||
* clickEventProxy.getProxyInstance().click(new CommnBy(chrome).getElement("//*[text()='登录']"));
|
||||
* </pre>
|
||||
* </pre></code>
|
||||
* </p>
|
||||
* <p><b>编码时间:</b>2020年7月12日 下午1:35:22</p>
|
||||
* <p><b>修改时间:</b>2020年10月20日下午7:54:15</p>
|
||||
|
|
|
@ -9,7 +9,6 @@ import java.util.concurrent.atomic.AtomicInteger;
|
|||
import java.util.function.BooleanSupplier;
|
||||
|
||||
import org.openqa.selenium.Keys;
|
||||
import org.openqa.selenium.WebElement;
|
||||
|
||||
import pres.auxiliary.work.selenium.brower.AbstractBrower;
|
||||
import pres.auxiliary.work.selenium.element.DataListBy;
|
||||
|
@ -154,7 +153,7 @@ public final class DataTableEvent extends AbstractEvent {
|
|||
* 用于添加列表控件的枚举,在调用部分列表操作方法时会使用在此处添加的映射
|
||||
*
|
||||
* @param dataTableKeywordType 列表可映射的控件枚举{@link DataTableKeywordType}
|
||||
* @param by 控件相应的元素对象{@link Element}
|
||||
* @param elemenet 控件相应的元素对象{@link Element}
|
||||
*/
|
||||
public void putControl(DataTableKeywordType dataTableKeywordType, Element elemenet) {
|
||||
controlMap.put(dataTableKeywordType, elemenet);
|
||||
|
@ -270,9 +269,7 @@ public final class DataTableEvent extends AbstractEvent {
|
|||
* 用于对列表进行点击跳页按钮后的跳页操作。若当前存储过元素列表,则对元素列表进行断言,
|
||||
* 即取存储的列表的第一行元素,若操作前后,该行元素不变,则判定为跳页失败
|
||||
*
|
||||
* @param pageTextbox 跳页文本框元素
|
||||
* @param jumpPageButton 跳页按钮
|
||||
* @param pageCountText 页码文本
|
||||
* @param pageCount 页码数
|
||||
*/
|
||||
public boolean jumpPage(String pageCount) {
|
||||
if (!controlMap.containsKey(DataTableKeywordType.PAGE_INPUT_TEXTBOX)) {
|
||||
|
@ -313,15 +310,13 @@ public final class DataTableEvent extends AbstractEvent {
|
|||
* 通过条件,点击{@link DataTableKeywordType#SEARCH_BUTTON}映射的按钮,对列表进行搜索。方法中需要接收一个
|
||||
* 返回值为boolean类型的操作,若操作的返回值为false时,则不会点击按钮,可参考以下写法:
|
||||
*
|
||||
* <pre>
|
||||
* <code>
|
||||
* <code><pre>
|
||||
* DataTableEvent test = new DataTableEvent(brower);
|
||||
* test.searchList(() -> {
|
||||
* test.searchList(() -> {
|
||||
* te.input(cb.getElement("账号搜索文本框"), "13000000000");
|
||||
* return true;
|
||||
* });
|
||||
* </code>
|
||||
* </pre>
|
||||
* </pre></code>
|
||||
*
|
||||
* @param action 返回值为boolean类型的操作
|
||||
* @return 列表是否有变化
|
||||
|
@ -492,7 +487,7 @@ public final class DataTableEvent extends AbstractEvent {
|
|||
* 断言数据是否有改变,若数据改变,则返回true;反之,返回false
|
||||
*
|
||||
* @param oldTextList 原始数据文本集合
|
||||
* @param oldElement 原始数据第一个元素的{@link WebElement}对象
|
||||
* @param oldListSize 原始数据个数
|
||||
* @return 元素是否存在改变
|
||||
*/
|
||||
protected boolean assertDataChange(ArrayList<String> oldTextList, int oldListSize) {
|
||||
|
|
|
@ -89,7 +89,7 @@ public class JsonLocation extends AbstractLocation {
|
|||
|
||||
/**
|
||||
* 通过json文本对类进行构造
|
||||
* @param json json文本
|
||||
* @param jsonText json文本
|
||||
*/
|
||||
public JsonLocation(String jsonText) {
|
||||
analysisJson(jsonText);
|
||||
|
|
|
@ -32,7 +32,7 @@ public class RecognitionImage {
|
|||
/**
|
||||
* 设置语言包文件夹的路径,注意,此处是只需要存储语言包存放的文件夹。不需要定位到某一个语言包上,但文件夹的最后一层必须以“tessdata”来命名
|
||||
*
|
||||
* @param tessdataPath 语言包存放的文件夹路径
|
||||
* @param tessdataFolder 语言包存放的文件夹路径
|
||||
*/
|
||||
public static void setTessdataPath(File tessdataFolder) {
|
||||
String judge_FileName = "tessdata";
|
||||
|
|
|
@ -40,10 +40,10 @@ public class Screenshot {
|
|||
* 注意,传入的文件路径可为相对路径,也可为绝对路径,若路径不符合windows下文件夹名称的名称规则,
|
||||
* 则抛出IncorrectDirectoryException异常
|
||||
*
|
||||
* @param savePath
|
||||
* 指定的截图保存路径
|
||||
* @param driver
|
||||
* WebDriver对象
|
||||
* @param savePathFolder
|
||||
* 指定的截图保存路径
|
||||
* @throws IncorrectDirectoryException
|
||||
* 传入路径不合法时抛出的异常
|
||||
*/
|
||||
|
@ -111,7 +111,6 @@ public class Screenshot {
|
|||
* WebDriver为空时抛出的异常
|
||||
* @throws UndefinedDirectoryException
|
||||
* 截图保存路径或截图名称为指定时抛出的异常
|
||||
* @see #creatImage()
|
||||
*/
|
||||
public synchronized File creatImage(String imageName) throws WebDriverException, IOException {
|
||||
// 调用无参方法
|
||||
|
|
|
@ -66,7 +66,7 @@ public abstract class AbstractTestCaseWrite<T extends AbstractTestCaseWrite<T>>
|
|||
* 的字段进行关联,通过该方法设置关联字段后,可将生成的测试用例写入到测试用例文件中
|
||||
*
|
||||
* @param field 测试用例文件字段
|
||||
* @param caseLabel 测试用例生成方法的字段
|
||||
* @param labelType 测试用例生成方法的字段
|
||||
* @throws LabelNotFoundException 当在sheet标签中查不到相应的单元格id不存在时抛出的异常
|
||||
*/
|
||||
public void relevanceCase(String field, String labelType) {
|
||||
|
|
|
@ -13,7 +13,7 @@ import org.dom4j.DocumentException;
|
|||
* <p><b>修改时间:</b>2020年4月5日 下午2:22:20</p>
|
||||
* @author 彭宇琦
|
||||
* @version Ver1.0
|
||||
* @since JDK 12
|
||||
* @since JDK 8
|
||||
*/
|
||||
public abstract class CommonTestCaseWrite<T extends CommonTestCaseWrite<T>> extends AbstractTestCaseWrite<CommonTestCaseWrite<T>> {
|
||||
/**
|
||||
|
@ -58,7 +58,7 @@ public abstract class CommonTestCaseWrite<T extends CommonTestCaseWrite<T>> exte
|
|||
|
||||
/**
|
||||
* 用于写入预期信息
|
||||
* @param stpes 预期
|
||||
* @param excepts 预期
|
||||
* @return 类本身
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
|
|
|
@ -14,7 +14,7 @@ import org.dom4j.io.SAXReader;
|
|||
import pres.auxiliary.work.testcase.file.IncorrectFileException;
|
||||
|
||||
/**
|
||||
* <p><b>文件名:</b>AbstractCase.java</p>
|
||||
* <p><b>文件名:</b>Case.java</p>
|
||||
* <p><b>用途:</b>定义测试用例模板类能返回的基本字段,提供其相应的get与set方法,但该方法不允许包外调用</p>
|
||||
* <p><b>编码时间:</b>2020年3月3日下午8:07:23</p>
|
||||
* <p><b>修改时间:</b>2020年3月4日 07:39:23</p>
|
||||
|
@ -93,7 +93,7 @@ public abstract class Case {
|
|||
/**
|
||||
* 用于设置需要替换的词语
|
||||
* @param word 测试用例xml库中需要替换的词语
|
||||
* @param value 被替换的词语
|
||||
* @param text 被替换的词语
|
||||
*/
|
||||
public void setReplaceWord(String word, String text) {
|
||||
//判断该词语是否存在于textMap中,若不存在,则抛出异常
|
||||
|
@ -242,7 +242,7 @@ public abstract class Case {
|
|||
|
||||
/**
|
||||
* 用于添加多行文本
|
||||
* @param label 标签名称
|
||||
* @param labelName 标签名称
|
||||
* @param texts 相应内容
|
||||
*/
|
||||
protected void addFieldText(String labelName, List<String> texts) {
|
||||
|
@ -251,7 +251,7 @@ public abstract class Case {
|
|||
|
||||
/**
|
||||
* 用于添加一行文本
|
||||
* @param label 标签名称
|
||||
* @param labelName 标签名称
|
||||
* @param text 相应内容
|
||||
*/
|
||||
protected void addFieldText(String labelName, String text) {
|
||||
|
|
|
@ -199,7 +199,6 @@ public class DataListCase extends Case {
|
|||
/**
|
||||
* 用于添加通过选择时间的方式对列表进行搜索的测试用例
|
||||
* @param condition 搜索条件(控件)名称
|
||||
* @param isTimeSlot 是否为时间段
|
||||
* @return 类本身
|
||||
*/
|
||||
public Case dateSearchCase(String condition) {
|
||||
|
@ -236,8 +235,8 @@ public class DataListCase extends Case {
|
|||
|
||||
/**
|
||||
* 用于添加通过选择时间段的方式对列表进行搜索的测试用例
|
||||
* @param condition 搜索条件(控件)名称
|
||||
* @param isTimeSlot 是否为时间段
|
||||
* @param startTimeName 开始时间
|
||||
* @param endTimeName 结束时间
|
||||
* @return 类本身
|
||||
*/
|
||||
public Case timeQuantumSearchCase(String startTimeName, String endTimeName) {
|
||||
|
|
|
@ -13,7 +13,7 @@ import java.util.List;
|
|||
* <p><b>修改时间:</b>2020年3月5日上午8:30:12</p>
|
||||
* @author 彭宇琦
|
||||
* @version Ver1.0
|
||||
* @since JDK 12
|
||||
* @since JDK 8
|
||||
*/
|
||||
public class InformationCase extends Case {
|
||||
/**
|
||||
|
@ -373,7 +373,6 @@ public class InformationCase extends Case {
|
|||
* @param decimals 小数位数
|
||||
* @param minNum 最小数字限制
|
||||
* @param maxNum 最大数字限制
|
||||
* @param inputRuleTypes 输入限制({@link InputRuleType}枚举类)
|
||||
* @return 类本身
|
||||
* @throws CaseContentException 当限制参数传入有误时抛出
|
||||
*/
|
||||
|
@ -394,7 +393,6 @@ public class InformationCase extends Case {
|
|||
* @param decimals 小数位数
|
||||
* @param minNum 最小数字限制
|
||||
* @param maxNum 最大数字限制
|
||||
* @param inputRuleTypes 输入限制({@link InputRuleType}枚举类)
|
||||
* @return 类本身
|
||||
* @throws CaseContentException 当限制参数传入有误时抛出
|
||||
*/
|
||||
|
@ -416,7 +414,6 @@ public class InformationCase extends Case {
|
|||
* @param decimals 小数位数
|
||||
* @param minNum 最小数字限制
|
||||
* @param maxNum 最大数字限制
|
||||
* @param inputRuleTypes 输入限制({@link InputRuleType}枚举类)
|
||||
* @return 类本身
|
||||
* @throws CaseContentException 当限制参数传入有误时抛出
|
||||
*/
|
||||
|
@ -1329,7 +1326,6 @@ public class InformationCase extends Case {
|
|||
/**
|
||||
* 用于生成取消保存新增信息相关的测试用例
|
||||
* @param cencelButtonName 取消按钮名称
|
||||
* @param operationName 操作名称,
|
||||
* @return 类本身
|
||||
*/
|
||||
public Case cencelSaveAddDataCase(String cencelButtonName) {
|
||||
|
@ -1369,7 +1365,6 @@ public class InformationCase extends Case {
|
|||
/**
|
||||
* 用于生成取消保存编辑信息相关的测试用例
|
||||
* @param cencelButtonName 取消按钮名称
|
||||
* @param operationName 操作名称,
|
||||
* @return 类本身
|
||||
*/
|
||||
public Case cencelSaveEditDataCase(String cencelButtonName) {
|
||||
|
|
|
@ -135,7 +135,7 @@ public class MapCase extends Case {
|
|||
* 用于生成在地图绘制图案相关的测试用例
|
||||
* @param signName 标记名称
|
||||
* @param isMultiple 是否可以绘制多个
|
||||
* @param graphs 图形类型
|
||||
* @param graphTypes 图形类型
|
||||
* @return 类本身
|
||||
*/
|
||||
public Case mapGraphSignCase(String signName, boolean isMultiple, GraphType...graphTypes) {
|
||||
|
|
Loading…
Reference in New Issue