From b04bc11c60e4279337fbf03caea0930af882a8ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E5=AE=87=E7=90=A6?= <465645774@qq.com> Date: Sat, 5 Dec 2020 19:09:22 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=B1=BB=EF=BC=8C?= =?UTF-8?q?=E5=87=86=E5=A4=87=E8=BF=9B=E8=A1=8C=E7=BC=96=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/pres/auxiliary/tool/sql/AbstractSql.java | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/main/java/pres/auxiliary/tool/sql/AbstractSql.java diff --git a/src/main/java/pres/auxiliary/tool/sql/AbstractSql.java b/src/main/java/pres/auxiliary/tool/sql/AbstractSql.java new file mode 100644 index 0000000..d728df7 --- /dev/null +++ b/src/main/java/pres/auxiliary/tool/sql/AbstractSql.java @@ -0,0 +1,8 @@ +package pres.auxiliary.tool.sql; + +public class AbstractSql { + + public AbstractSql() { + } + +} From 43951987fd4a447599108a57faadfc20293c041b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E5=AE=87=E7=90=A6?= <465645774@qq.com> Date: Mon, 7 Dec 2020 09:42:05 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=97=A0=E6=95=88?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E9=9B=86=EF=BC=8C=E6=B7=BB=E5=8A=A0=E4=B8=8D?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=9A=84=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auxiliary/tool/sql/DatabaseException.java | 37 ++++ .../pres/auxiliary/tool/sql/OracleSql.java | 56 ++++++ .../writecase/TestAddInformation.java | 141 -------------- .../testcase/writecase/TestBrowseList.java | 94 ---------- .../auxiliary/testcase/writecase/TestMap.java | 64 ------- .../testcase/writecase/TestUsername.java | 88 --------- .../testcase/writecase/TestVideo.java | 73 -------- src/test/java/pres/auxiliary/tool/.gitignore | 1 + .../pres/auxiliary/tool/date/TimeTest.java | 26 --- .../work/selenium/element/CommonByTest.java | 99 ---------- .../selenium/element/ElementDataTest.java | 117 ------------ .../work/selenium/element/ElementTest.java | 89 --------- .../work/selenium/element/SelectByTest.java | 91 --------- .../selenium/element/测试用xml文件.xml | 110 ----------- .../work/selenium/event/EventProxyTest.java | 58 ------ .../work/selenium/event/EventWaitTest.java | 84 --------- .../work/selenium/event/JsEventTest.java | 104 ----------- .../work/selenium/event/TextEventTest.java | 102 ----------- .../work/selenium/xml/ReadXmlTest.java | 161 ---------------- .../work/selenium/xml/测试用xml文件.xml | 89 --------- .../auxiliary/work/testcase/file/.gitignore | 1 + .../testcase/file/BasicTestCaseWriteTest.java | 2 + src/test/java/pres/readme/code/MyCase.java | 58 ------ src/test/java/pres/readme/code/MyCase.xml | 50 ----- .../java/pres/readme/code/TestWriteCase.java | 94 ---------- .../java/test/javase/BlackHoleNumber.java | 172 ------------------ src/test/java/test/javase/NewFile.xml | 1 - src/test/java/test/javase/NewFile1.xml | 9 - .../test/javase/PreviousVerisionBugNumber.xml | 25 --- src/test/java/test/javase/RandomPhone.java | 25 --- src/test/java/test/javase/SweepPlan.java | 65 ------- src/test/java/test/javase/Test123.java | 14 -- src/test/java/test/javase/TestAddCase.java | 100 ---------- .../java/test/javase/TestAddCellLink.java | 50 ----- src/test/java/test/javase/TestArrayList.java | 30 --- .../java/test/javase/TestAutoWriteReport.java | 39 ---- src/test/java/test/javase/TestBefore.java | 22 --- src/test/java/test/javase/TestCase.xml | 35 ---- src/test/java/test/javase/TestCase2.java | 91 --------- src/test/java/test/javase/TestCase3.java | 56 ------ src/test/java/test/javase/TestCreateXml.java | 12 -- src/test/java/test/javase/TestCsv.java | 20 -- src/test/java/test/javase/TestDate.java | 58 ------ .../java/test/javase/TestDisposeCaseFile.java | 22 --- src/test/java/test/javase/TestEn.java | 10 - src/test/java/test/javase/TestGetText.java | 13 -- src/test/java/test/javase/TestJSONObject.java | 69 ------- src/test/java/test/javase/TestLambda.java | 18 -- src/test/java/test/javase/TestList.java | 100 ---------- .../java/test/javase/TestMakeDirector.java | 10 - src/test/java/test/javase/TestMap.java | 17 -- .../java/test/javase/TestOpenBrowers.java | 16 -- src/test/java/test/javase/TestPOI.java | 31 ---- src/test/java/test/javase/TestPOIData.java | 72 -------- src/test/java/test/javase/TestPresetStr.java | 18 -- src/test/java/test/javase/TestRandom.java | 42 ----- .../java/test/javase/TestRandomString.java | 153 ---------------- .../java/test/javase/TestReadWordTable.java | 90 --------- src/test/java/test/javase/TestSe.java | 90 --------- src/test/java/test/javase/TestSelenium.java | 50 ----- src/test/java/test/javase/TestUseClass.java | 46 ----- .../java/test/javase/TestWriteCaseUI.java | 7 - .../java/test/javase/TestWriteReport.java | 32 ---- src/test/java/test/javase/testResultFile.java | 11 -- .../java/test/javase/testWriteTestCase.java | 13 -- src/test/java/test/javase/testxml.java | 39 ---- .../test/selenium/brower/TestOpenBrower.java | 38 ---- .../selenium/brower/TestOpenNewHandle.java | 103 ----------- .../selenium/brower/TestSwitchWindow.java | 51 ------ .../java/test/selenium/js/TestJavaScript.java | 54 ------ 70 files changed, 97 insertions(+), 3831 deletions(-) create mode 100644 src/main/java/pres/auxiliary/tool/sql/DatabaseException.java create mode 100644 src/main/java/pres/auxiliary/tool/sql/OracleSql.java delete mode 100644 src/test/java/pres/auxiliary/testcase/writecase/TestAddInformation.java delete mode 100644 src/test/java/pres/auxiliary/testcase/writecase/TestBrowseList.java delete mode 100644 src/test/java/pres/auxiliary/testcase/writecase/TestMap.java delete mode 100644 src/test/java/pres/auxiliary/testcase/writecase/TestUsername.java delete mode 100644 src/test/java/pres/auxiliary/testcase/writecase/TestVideo.java create mode 100644 src/test/java/pres/auxiliary/tool/.gitignore delete mode 100644 src/test/java/pres/auxiliary/work/selenium/element/CommonByTest.java delete mode 100644 src/test/java/pres/auxiliary/work/selenium/element/ElementDataTest.java delete mode 100644 src/test/java/pres/auxiliary/work/selenium/element/ElementTest.java delete mode 100644 src/test/java/pres/auxiliary/work/selenium/element/SelectByTest.java delete mode 100644 src/test/java/pres/auxiliary/work/selenium/element/测试用xml文件.xml delete mode 100644 src/test/java/pres/auxiliary/work/selenium/event/EventProxyTest.java delete mode 100644 src/test/java/pres/auxiliary/work/selenium/event/EventWaitTest.java delete mode 100644 src/test/java/pres/auxiliary/work/selenium/event/JsEventTest.java delete mode 100644 src/test/java/pres/auxiliary/work/selenium/event/TextEventTest.java delete mode 100644 src/test/java/pres/auxiliary/work/selenium/xml/ReadXmlTest.java delete mode 100644 src/test/java/pres/auxiliary/work/selenium/xml/测试用xml文件.xml create mode 100644 src/test/java/pres/auxiliary/work/testcase/file/.gitignore delete mode 100644 src/test/java/pres/readme/code/MyCase.java delete mode 100644 src/test/java/pres/readme/code/MyCase.xml delete mode 100644 src/test/java/pres/readme/code/TestWriteCase.java delete mode 100644 src/test/java/test/javase/BlackHoleNumber.java delete mode 100644 src/test/java/test/javase/NewFile.xml delete mode 100644 src/test/java/test/javase/NewFile1.xml delete mode 100644 src/test/java/test/javase/PreviousVerisionBugNumber.xml delete mode 100644 src/test/java/test/javase/RandomPhone.java delete mode 100644 src/test/java/test/javase/SweepPlan.java delete mode 100644 src/test/java/test/javase/Test123.java delete mode 100644 src/test/java/test/javase/TestAddCase.java delete mode 100644 src/test/java/test/javase/TestAddCellLink.java delete mode 100644 src/test/java/test/javase/TestArrayList.java delete mode 100644 src/test/java/test/javase/TestAutoWriteReport.java delete mode 100644 src/test/java/test/javase/TestBefore.java delete mode 100644 src/test/java/test/javase/TestCase.xml delete mode 100644 src/test/java/test/javase/TestCase2.java delete mode 100644 src/test/java/test/javase/TestCase3.java delete mode 100644 src/test/java/test/javase/TestCreateXml.java delete mode 100644 src/test/java/test/javase/TestCsv.java delete mode 100644 src/test/java/test/javase/TestDate.java delete mode 100644 src/test/java/test/javase/TestDisposeCaseFile.java delete mode 100644 src/test/java/test/javase/TestEn.java delete mode 100644 src/test/java/test/javase/TestGetText.java delete mode 100644 src/test/java/test/javase/TestJSONObject.java delete mode 100644 src/test/java/test/javase/TestLambda.java delete mode 100644 src/test/java/test/javase/TestList.java delete mode 100644 src/test/java/test/javase/TestMakeDirector.java delete mode 100644 src/test/java/test/javase/TestMap.java delete mode 100644 src/test/java/test/javase/TestOpenBrowers.java delete mode 100644 src/test/java/test/javase/TestPOI.java delete mode 100644 src/test/java/test/javase/TestPOIData.java delete mode 100644 src/test/java/test/javase/TestPresetStr.java delete mode 100644 src/test/java/test/javase/TestRandom.java delete mode 100644 src/test/java/test/javase/TestRandomString.java delete mode 100644 src/test/java/test/javase/TestReadWordTable.java delete mode 100644 src/test/java/test/javase/TestSe.java delete mode 100644 src/test/java/test/javase/TestSelenium.java delete mode 100644 src/test/java/test/javase/TestUseClass.java delete mode 100644 src/test/java/test/javase/TestWriteCaseUI.java delete mode 100644 src/test/java/test/javase/TestWriteReport.java delete mode 100644 src/test/java/test/javase/testResultFile.java delete mode 100644 src/test/java/test/javase/testWriteTestCase.java delete mode 100644 src/test/java/test/javase/testxml.java delete mode 100644 src/test/java/test/selenium/brower/TestOpenBrower.java delete mode 100644 src/test/java/test/selenium/brower/TestOpenNewHandle.java delete mode 100644 src/test/java/test/selenium/brower/TestSwitchWindow.java delete mode 100644 src/test/java/test/selenium/js/TestJavaScript.java diff --git a/src/main/java/pres/auxiliary/tool/sql/DatabaseException.java b/src/main/java/pres/auxiliary/tool/sql/DatabaseException.java new file mode 100644 index 0000000..26fbbd7 --- /dev/null +++ b/src/main/java/pres/auxiliary/tool/sql/DatabaseException.java @@ -0,0 +1,37 @@ +package pres.auxiliary.tool.sql; + +/** + *

文件名:DatabaseException.java

+ *

用途: + * 数据库链接有误时抛出的异常 + *

+ *

编码时间:2020年12月7日上午8:28:45

+ *

修改时间:2020年12月7日上午8:28:45

+ * @author 彭宇琦 + * @version Ver1.0 + * @since JDK 1.8 + * + */ +public class DatabaseException extends RuntimeException { + private static final long serialVersionUID = 1L; + + public DatabaseException() { + } + + public DatabaseException(String message) { + super(message); + } + + public DatabaseException(Throwable cause) { + super(cause); + } + + public DatabaseException(String message, Throwable cause) { + super(message, cause); + } + + public DatabaseException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { + super(message, cause, enableSuppression, writableStackTrace); + } + +} diff --git a/src/main/java/pres/auxiliary/tool/sql/OracleSql.java b/src/main/java/pres/auxiliary/tool/sql/OracleSql.java new file mode 100644 index 0000000..801b28d --- /dev/null +++ b/src/main/java/pres/auxiliary/tool/sql/OracleSql.java @@ -0,0 +1,56 @@ +package pres.auxiliary.tool.sql; + +import java.sql.Driver; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.util.Properties; + +import oracle.jdbc.driver.OracleDriver; + +/** + *

文件名:OracleSql.java

+ *

用途: + * 提供对Oracle数据进行基本的操作 + *

+ *

编码时间:2020年12月7日上午8:13:20

+ *

修改时间:2020年12月7日上午8:13:20

+ * @author 彭宇琦 + * @version Ver1.0 + * @since JDK 1.8 + * + */ +public class OracleSql extends AbstractSql { + /** + * 存储需要执行的SQL语句 + */ + StringBuilder sqlText = new StringBuilder(""); + + /** + * 构造方法,用于指定数据库基本信息 + * @param username 用户名 + * @param password 密码 + * @param host 主机(包括端口,默认为1521) + * @param dataBase 数据源 + */ + public OracleSql(String username, String password, String host, String dataBase) { + //定义数据库对象,若驱动不存在时,则抛出异常 + Driver driver = new OracleDriver(); + try { + DriverManager.deregisterDriver(driver); + } catch (SQLException e) { + throw new DatabaseException("ojdbc驱动不存在或驱动有误,无法连接Oracle数据库", e); + } + + // 添加用户名与密码,连接数据库,若数据连接有误,则抛出异常 + Properties pro = new Properties(); + pro.put("user", username); + pro.put("password", password); + String url = "jdbc:oracle:thin:@" + host + ":" + dataBase; + try { + connect = driver.connect(url, pro); + } catch (SQLException e) { + throw new DatabaseException(String.format("Oracle数据库连接异常,连接信息:\n用户名:%s\n密码:%s\n连接url:%s", username, password, url), e); + } + } + +} diff --git a/src/test/java/pres/auxiliary/testcase/writecase/TestAddInformation.java b/src/test/java/pres/auxiliary/testcase/writecase/TestAddInformation.java deleted file mode 100644 index 416ee24..0000000 --- a/src/test/java/pres/auxiliary/testcase/writecase/TestAddInformation.java +++ /dev/null @@ -1,141 +0,0 @@ -package pres.auxiliary.testcase.writecase; - -import java.io.File; -import java.io.IOException; - -import org.testng.annotations.AfterClass; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -import pres.auxiliary.work.old.testcase.change.Tab; -import pres.auxiliary.work.old.testcase.templet.ZentaoTemplet; -import pres.auxiliary.work.old.testcase.writecase.AddInformation; -import pres.auxiliary.work.old.testcase.writecase.FileType; -import pres.auxiliary.work.old.testcase.writecase.InputType; -import pres.auxiliary.work.old.testcase.writecase.PhoneType; -import pres.auxiliary.work.old.testcase.writecase.PresetCase; - -public class TestAddInformation { - static PresetCase pc; - static AddInformation a; - - @BeforeClass - public void createTemplet() throws Exception { - ZentaoTemplet.setCoverFile(true); - ZentaoTemplet.create(); - - pc = new PresetCase(); - a = new AddInformation(); - - a.setButtonName("提交"); - a.setFailExpectation("失败"); - a.setSuccessExpectation("成功"); - a.setInformationName("测试"); - - pc.getAddInformation().setButtonName("提交"); - pc.getAddInformation().setFailExpectation("失败"); - pc.getAddInformation().setSuccessExpectation("成功"); - pc.getAddInformation().setInformationName("测试"); - - pc.setModule("测试"); - a.setModule("测试"); - - } - - @AfterClass - public static void openFolder() throws IOException { - java.awt.Desktop.getDesktop().open(new File(ZentaoTemplet.getSavePath() + "/" + ZentaoTemplet.getFileName() + ".xlsx")); - } - - @Test - public void testAddTextboxCase() throws IOException { - pc.getAddInformation().addTextboxCase("苹果", true, true, new char[] {InputType.CH, InputType.EN}, new int[] {5, 10}, null); - a.addTextboxCase("安卓", false, false, null, null, new int[] {5, 10}); - pc.getAddInformation().addTextboxCase("苹果", true, false, new char[] {InputType.EN}, new int[] {5}, null); - a.addTextboxCase("安卓", false, true, null, null, new int[] {10}); - pc.getAddInformation().addTextboxCase("苹果", true, false, new char[] {InputType.EN}, new int[] {5, pc.getAddInformation().NUM_NAN}, null); - a.addTextboxCase("安卓", false, true, null, null, new int[] {10, pc.getAddInformation().NUM_NAN}); - pc.getAddInformation().addTextboxCase("苹果", true, false, new char[] {InputType.EN}, new int[] {pc.getAddInformation().NUM_NAN, 5}, null); - a.addTextboxCase("安卓", false, true, null, null, new int[] {pc.getAddInformation().NUM_NAN, 10}); - } - - @Test - public void testAddSelectboxCase() throws IOException { - pc.getAddInformation().addSelectboxCase("苹果", true); - a.addSelectboxCase("安卓", false); - } - - @Test - public void testAddRadioButtonCase() throws IOException { - pc.getAddInformation().addRadioButtonCase("苹果", true); - a.addRadioButtonCase("安卓", false); - } - - @Test - public void testAddCheckboxCase() throws IOException { - pc.getAddInformation().addCheckboxCase("苹果", true); - a.addCheckboxCase("安卓", false); - } - - @Test - public void testAddDateCase() throws IOException { - pc.getAddInformation().addDateCase("苹果", true, false); - a.addDateCase("安卓", false, true); - } - - @Test - public void testAddStartDateCase() throws IOException { - pc.getAddInformation().addStartDateCase("苹果", true, false, "结束时间"); - a.addStartDateCase("安卓", false, true, "活动结束时间"); - } - - @Test - public void teseAddEndDateCase() throws IOException { - pc.getAddInformation().addEndDateCase("苹果", true, false, "开始时间"); - a.addEndDateCase("安卓", false, true, "活动开始时间"); - } - - @Test - public void teseAddPhoneCase() throws IOException { - pc.getAddInformation().addPhoneCase("苹果", true, false, PhoneType.FIXED); - a.addPhoneCase("卡车", false, true, PhoneType.MOBLE).setRowColorTab(Tab.BLUE); - } - - @Test - public void teseAddIDCardCase() throws IOException { - pc.getAddInformation().addIDCardCase("飞机证件", true, false).setRowColorTab(Tab.BLUE); - a.addIDCardCase("汽车", false, true).setRowColorTab(Tab.BLUE); - } - - @Test - public void teseAddUploadImageCase() throws IOException { - pc.getAddInformation().addUploadImageCase("苹果", true, true, true, true, true, new char[] {FileType.BMP, FileType.JPG}, new int[] {10}); - a.addUploadImageCase("安卓", true, true, true, true, true, null, null); - - pc.getAddInformation().addUploadImageCase("苹果", true, true, true, true, true, new char[] {FileType.BMP, FileType.JPG}, new int[] {10, 12}); - a.addUploadImageCase("安卓", true, true, true, true, true, null, new int[] {10, a.NUM_NAN}); - } - - @Test - public void teseAddUploadImageCase_2() throws IOException { - pc.getAddInformation().addUploadImageCase("苹果", true, true, true, true, true, new char[] {FileType.BMP, FileType.JPG}, new int[] {10}); - } - - @Test - public void teseAddUploadFileCase() throws IOException { - pc.getAddInformation().addUploadFileCase("苹果", true, true, true, new char[] {FileType.DOC, FileType.XLS}, new int[] {10}); - a.addUploadFileCase("安卓", true, true, true, null, null); - - pc.getAddInformation().addUploadFileCase("苹果", true, true, true, new char[] {FileType.DOCX, FileType.TXT}, new int[] {10, 12}); - a.addUploadFileCase("安卓", true, true, true, null, new int[] {10, a.NUM_NAN}); - } - - @Test - public void teseAdd_Un_WholeInformationCase() throws IOException { - pc.getAddInformation().addUnWholeInformationCase(); - a.addUnWholeInformationCase(); - - pc.getAddInformation().addWholeInformationCase(); - a.addWholeInformationCase(); - } -} diff --git a/src/test/java/pres/auxiliary/testcase/writecase/TestBrowseList.java b/src/test/java/pres/auxiliary/testcase/writecase/TestBrowseList.java deleted file mode 100644 index c189b81..0000000 --- a/src/test/java/pres/auxiliary/testcase/writecase/TestBrowseList.java +++ /dev/null @@ -1,94 +0,0 @@ -package pres.auxiliary.testcase.writecase; - -import java.io.File; -import java.io.IOException; - -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -import pres.auxiliary.work.old.testcase.templet.ZentaoTemplet; -import pres.auxiliary.work.old.testcase.writecase.BrowseList; -import pres.auxiliary.work.old.testcase.writecase.PresetCase; - -public class TestBrowseList { - static PresetCase pc; - static BrowseList b; - - @BeforeClass - public static void createTemplet() { - ZentaoTemplet.setCoverFile(true); - ZentaoTemplet.create(); - - pc = new PresetCase(); - b = new BrowseList(); - - pc.setModule("测试"); - - } - - @AfterClass - public static void openFolder() throws IOException { - java.awt.Desktop.getDesktop().open(new File(ZentaoTemplet.getSavePath() + "/" + ZentaoTemplet.getFileName() + ".xlsx")); - } - - @Test - public void testAddAppBrowseListCase() throws IOException { - pc.getBrowseList().addAppBrowseListCase("苹果"); - b.addAppBrowseListCase("安卓"); - } - - @Test - public void testAddWebBrowseListCase() throws IOException { - pc.getBrowseList().addWebBrowseListCase("苹果"); - b.addWebBrowseListCase("安卓"); - } - - @Test - public void testAddInputSearchCase() throws IOException { - pc.getBrowseList().addInputSearchCase("型号", "苹果"); - b.addInputSearchCase("型号", "安卓"); - } - - @Test - public void testAddSelectSearchCase() throws IOException { - pc.getBrowseList().addSelectSearchCase("型号", "苹果"); - b.addSelectSearchCase("型号", "安卓"); - } - - @Test - public void testAddDateSearchCase() throws IOException { - pc.getBrowseList().addDateSearchCase("开始时间", true, "苹果"); - b.addDateSearchCase("结束时间", false, "安卓"); - } - - @Test - public void testAddListSortCase() throws IOException { - pc.getBrowseList().addListSortCase("生产日期", "苹果"); - b.addListSortCase("生产日期", "安卓"); - } - - @Test - public void testAddExportListCase() throws IOException { - pc.getBrowseList().addExportListCase("苹果", true); - b.addExportListCase("安卓", false); - } - - @Test - public void testAddImportListCase() throws IOException { - pc.getBrowseList().addImportListCase("苹果"); - b.addImportListCase("安卓"); - } - - @Test - public void testAddResetSearchCase() throws IOException { - pc.getBrowseList().addResetSearchCase(); - b.addResetSearchCase(); - } - - @Test - public void testAddSwitchListShowDataCase() throws IOException { - pc.getBrowseList().addSwitchListShowDataCase(); - b.addSwitchListShowDataCase(); - } -} diff --git a/src/test/java/pres/auxiliary/testcase/writecase/TestMap.java b/src/test/java/pres/auxiliary/testcase/writecase/TestMap.java deleted file mode 100644 index 707eec0..0000000 --- a/src/test/java/pres/auxiliary/testcase/writecase/TestMap.java +++ /dev/null @@ -1,64 +0,0 @@ -package pres.auxiliary.testcase.writecase; - -import java.io.File; -import java.io.IOException; - -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -import pres.auxiliary.work.old.testcase.templet.ZentaoTemplet; -import pres.auxiliary.work.old.testcase.writecase.Map; -import pres.auxiliary.work.old.testcase.writecase.PresetCase; - -public class TestMap { - static PresetCase pc; - static Map m; - - @BeforeClass - public static void createTemplet() { - ZentaoTemplet.setCoverFile(true); - ZentaoTemplet.create(); - - pc = new PresetCase(); - m = new Map(); - - pc.setModule("测试"); - - } - - @AfterClass - public static void openFolder() throws IOException { - java.awt.Desktop.getDesktop().open(new File(ZentaoTemplet.getSavePath() + "/" + ZentaoTemplet.getFileName() + ".xlsx")); - } - - @Test - public void testAddRangeFindingCase() throws IOException { - pc.getMap().addRangeFindingCase(); - m.addRangeFindingCase(); - } - - @Test - public void testAddMapPointCase() throws IOException { - pc.getMap().addMapPointCase("小车"); - m.addMapPointCase("卡车"); - } - - @Test - public void testAddMapSearchInformationCase() throws IOException { - pc.getMap().addMapSearchInformationCase("车牌", "小车"); - m.addMapSearchInformationCase("车牌", "卡车"); - } - - @Test - public void testAddCarLocusPlaybackCase() throws IOException { - pc.getMap().addCarLocusPlaybackCase(); - m.addCarLocusPlaybackCase(); - } - - @Test - public void testAddShowLocusCase() throws IOException { - pc.getMap().addShowLocusCase("小车", "打车"); - m.addShowLocusCase("公交"); - } -} diff --git a/src/test/java/pres/auxiliary/testcase/writecase/TestUsername.java b/src/test/java/pres/auxiliary/testcase/writecase/TestUsername.java deleted file mode 100644 index 6d0a0fe..0000000 --- a/src/test/java/pres/auxiliary/testcase/writecase/TestUsername.java +++ /dev/null @@ -1,88 +0,0 @@ -package pres.auxiliary.testcase.writecase; - -import java.io.File; -import java.io.IOException; - -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -import pres.auxiliary.work.old.testcase.templet.ZentaoTemplet; -import pres.auxiliary.work.old.testcase.writecase.PresetCase; -import pres.auxiliary.work.old.testcase.writecase.Username; - -public class TestUsername { - static PresetCase pc; - static Username m; - - @BeforeClass - public static void createTemplet() { - ZentaoTemplet.setCoverFile(true); - ZentaoTemplet.create(); - - pc = new PresetCase(); - m = new Username(); - - pc.setModule("测试"); - - } - - @AfterClass - public static void openFolder() throws IOException { - java.awt.Desktop.getDesktop().open(new File(ZentaoTemplet.getSavePath() + "/" + ZentaoTemplet.getFileName() + ".xlsx")); - } - - @Test - public void testAddRightLoginCase() throws IOException { - pc.getUsername().addRightLoginCase(); - m.addRightLoginCase(); - } - - @Test - public void testAddErrorLoginCase() throws IOException { - pc.getUsername().addErrorLoginCase(); - m.addErrorLoginCase(); - } - - @Test - public void testAddCaptchaCase() throws IOException { - pc.getUsername().addCaptchaCase(); - m.addCaptchaCase(); - } - - @Test - public void testAddLoginAuthorityCase() throws IOException { - pc.getUsername().addLoginAuthorityCase(true); - m.addLoginAuthorityCase(false); - } - - @Test - public void testAddUsernameRegisterCase() throws IOException { - pc.getUsername().addUsernameRegisterCase(true); - m.addUsernameRegisterCase(false); - } - - @Test - public void testAddUsernameForgetCase() throws IOException { - pc.getUsername().addUsernameForgetCase(); - m.addUsernameForgetCase(); - } - - @Test - public void testAddPasswordRegisterOrForgetCase() throws IOException { - pc.getUsername().addPasswordRegisterOrForgetCase("注册"); - m.addPasswordRegisterOrForgetCase("忘记密码"); - } - - @Test - public void testAddCodeRegisterOrForgetCase() throws IOException { - pc.getUsername().addCodeRegisterOrForgetCase("注册", true); - m.addCodeRegisterOrForgetCase("忘记密码", false); - } - - @Test - public void testAddAlterPasswordCase() throws IOException { - pc.getUsername().addAlterPasswordCase(); - m.addAlterPasswordCase(); - } -} diff --git a/src/test/java/pres/auxiliary/testcase/writecase/TestVideo.java b/src/test/java/pres/auxiliary/testcase/writecase/TestVideo.java deleted file mode 100644 index 60b9687..0000000 --- a/src/test/java/pres/auxiliary/testcase/writecase/TestVideo.java +++ /dev/null @@ -1,73 +0,0 @@ -package pres.auxiliary.testcase.writecase; - -import java.io.File; -import java.io.IOException; - -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -import pres.auxiliary.work.old.testcase.templet.ZentaoTemplet; -import pres.auxiliary.work.old.testcase.writecase.PresetCase; -import pres.auxiliary.work.old.testcase.writecase.Video; - -public class TestVideo { - static PresetCase pc; - static Video m; - - @BeforeClass - public static void createTemplet() throws IOException { - ZentaoTemplet.setCoverFile(true); - ZentaoTemplet.create(); - - pc = new PresetCase(); - m = new Video(); - - pc.setModule("测试"); - - pc.getVideo().setVideoType("电影"); - m.setVideoType("电视剧"); - - } - - @AfterClass - public static void openFolder() throws IOException { - java.awt.Desktop.getDesktop().open(new File(ZentaoTemplet.getSavePath() + "/" + ZentaoTemplet.getFileName() + ".xlsx")); - } - - @Test - public void testAddPlayVideoCase() throws IOException { - pc.getVideo().addPlayVideoCase(true); - m.addPlayVideoCase(false); - } - - @Test - public void testAddVideoScreenshotCase() throws IOException { - pc.getVideo().addVideoScreenshotCase(); - m.addVideoScreenshotCase(); - } - - @Test - public void testAddVideoAdvanceCase() throws IOException { - pc.getVideo().addVideoAdvanceCase(true, true); - m.addVideoAdvanceCase(false, false); - } - - @Test - public void testAddVideoSpeedCase() throws IOException { - pc.getVideo().addVideoSpeedCase(true); - m.addVideoSpeedCase(false); - } - - @Test - public void testAddVideoProgressBarCase() throws IOException { - pc.getVideo().addVideoProgressBarCase(); - m.addVideoProgressBarCase(); - } - - @Test - public void testAddFullScreenPlayCase() throws IOException { - pc.getVideo().addFullScreenPlayCase(); - m.addFullScreenPlayCase(); - } -} diff --git a/src/test/java/pres/auxiliary/tool/.gitignore b/src/test/java/pres/auxiliary/tool/.gitignore new file mode 100644 index 0000000..abe5212 --- /dev/null +++ b/src/test/java/pres/auxiliary/tool/.gitignore @@ -0,0 +1 @@ +/sql/ diff --git a/src/test/java/pres/auxiliary/tool/date/TimeTest.java b/src/test/java/pres/auxiliary/tool/date/TimeTest.java index ca37e42..642c3ef 100644 --- a/src/test/java/pres/auxiliary/tool/date/TimeTest.java +++ b/src/test/java/pres/auxiliary/tool/date/TimeTest.java @@ -101,32 +101,6 @@ public class TimeTest { System.out.println("----------------------------"); } - /** - * 测试{@link Time#getFormatTime(String)} - */ - @Test - public void getFormatTimeTest_String() { - time.setNowTime(); - System.out.println(time.getFormatTime("yyyy-MM-dd HH:mm:ss")); - System.out.println("----------------------------"); - time.setTime("2019/12/04 03:03:20"); - System.out.println(time.getFormatTime("yyyy-MM-dd HH:mm:ss")); - System.out.println("----------------------------"); - time.setTime(new Date()); - System.out.println(time.getFormatTime("yyyy-MM-dd HH:mm:ss")); - System.out.println("----------------------------"); - time.setTime(1576037076297L); - System.out.println(time.getFormatTime("yyyy-MM-dd HH:mm:ss")); - System.out.println(time.getFormatTime("2019/12/04 03:03:20")); - System.out.println("----------------------------"); - time.setTime("2019/12/04"); - System.out.println(time.getFormatTime("yyyy-MM-dd HH:mm:ss")); - System.out.println("----------------------------"); - time.setTime("03:03:20"); - System.out.println(time.getFormatTime("yyyy-MM-dd HH:mm:ss")); - System.out.println("----------------------------"); - } - /** * 测试{@link Time#addTime(String)} */ diff --git a/src/test/java/pres/auxiliary/work/selenium/element/CommonByTest.java b/src/test/java/pres/auxiliary/work/selenium/element/CommonByTest.java deleted file mode 100644 index 5aa381e..0000000 --- a/src/test/java/pres/auxiliary/work/selenium/element/CommonByTest.java +++ /dev/null @@ -1,99 +0,0 @@ -package pres.auxiliary.work.selenium.element; - -import java.io.File; - -import org.testng.annotations.AfterClass; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -import pres.auxiliary.work.selenium.brower.ChromeBrower; -import pres.auxiliary.work.selenium.brower.ChromeBrower.ChromeOptionType; - -/** - *

文件名:CommonElementTest.java

- *

用途: - * 对{@link CommonBy}类方法进行单元测试 - *

- *

测试对象:桂建通工资管理的工资单管理模块,获取第一条数据的单位信息

- *

编码时间:2020年4月30日上午7:44:34

- *

修改时间:2020年4月30日上午7:44:34

- * @author - * @version Ver1.0 - * @since JDK 12 - * - */ -public class CommonByTest { - ChromeBrower cb = new ChromeBrower(new File("Resource/BrowersDriver/Chrom/78.0394.70/chromedriver.exe")); - CommonBy ce; - - @BeforeClass - public void initDate() { - cb.addConfig(ChromeOptionType.CONTRAL_OPEN_BROWER, "127.0.0.1:9222"); - ce = new CommonBy(cb); - } - - @AfterClass - public void qiut() { - cb.getDriver().quit(); - } - - /** - * 用于测试非xml文件中的传参进行窗体切换与元素的获取 - */ - @Test - public void getCommonElementTest() { - ce.switchFrame("//iframe[contains(@src, '/Regulatory/admin/index.jsp')]"); - ce.switchFrame("//iframe[contains(@src, '工资单管理')]"); - System.out.println(ce.getElement("//*[@id=\"listBox\"]/li[1]/div[1]/p/span[1]").getWebElement().getText()); - } - - /** - * 用于测试xml文件中的传参进行窗体切换与元素的获取 - */ - @Test - public void getXmlElementTest() { - File xmlFile = new File("src/test/java/pres/auxiliary/work/selenium/element/测试文件.xml"); - ce.setXmlFile(xmlFile, false); - ce.setAutoSwitchIframe(false); - ce.switchFrame("主窗体"); - ce.switchFrame("工资发放详情"); - System.out.println(ce.getElement("单位名称").getWebElement().getText()); - } - - /** - * 用于测试xml文件的自动定位窗体 - */ - @Test - public void autoLocationElementTest() { - File xmlFile = new File("src/test/java/pres/auxiliary/work/selenium/element/测试文件.xml"); - ce.setXmlFile(xmlFile, false); - System.out.println(ce.getElement("单位名称").getWebElement().getText()); - - DataListBy d = new DataListBy(ce); - d.add("单位名称"); - System.out.println(d.getElement("单位名称", 1).getWebElement().getText()); - } - - /** - * 用于测试xml文件的多次切换窗体后自动定位窗体 - */ - @Test - public void exceptAutoLocationElementTest() { - File xmlFile = new File("src/test/java/pres/auxiliary/work/selenium/element/测试文件.xml"); - ce.setXmlFile(xmlFile); - //先切主窗体 - ce.switchFrame("主窗体"); - //在获取元素前,会判断元素所在窗体,由于主窗体是爷爷辈窗体,获取元素前会切换工资发放详情窗体 - System.out.println(ce.getElement("单位名称").getWebElement().getText()); - } - - /** - * 用于测试外链xml - */ - @Test - public void getElementTest() { - File xmlFile = new File("src/test/java/pres/auxiliary/work/selenium/element/测试文件.xml"); - ce.setXmlFile(xmlFile); - System.out.println(ce.getElement("搜索条件", "工资单编号").getWebElement().getAttribute("type")); - } -} diff --git a/src/test/java/pres/auxiliary/work/selenium/element/ElementDataTest.java b/src/test/java/pres/auxiliary/work/selenium/element/ElementDataTest.java deleted file mode 100644 index 585382d..0000000 --- a/src/test/java/pres/auxiliary/work/selenium/element/ElementDataTest.java +++ /dev/null @@ -1,117 +0,0 @@ -package pres.auxiliary.work.selenium.element; - -import java.io.File; - -import org.testng.annotations.BeforeClass; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; - -import pres.auxiliary.work.selenium.location.AbstractLocation; -import pres.auxiliary.work.selenium.location.XmlLocation; - -/** - *

文件名:ElementDataTest.java

- *

用途: - * 对{@link ElementData}类进行单元测试 - *

- *

编码时间:2020年10月12日上午8:47:14

- *

修改时间:2020年10月12日上午8:47:14

- * @author 彭宇琦 - * @version Ver1.0 - * - */ -public class ElementDataTest { - AbstractLocation ar; - ElementData test; - - final File XML_FILE = new File("src/test/java/pres/auxiliary/work/selenium/element/测试用xml文件.xml"); - - @BeforeClass - public void init() { - ar = new XmlLocation(XML_FILE); - } - - @BeforeMethod - public void addElement() { - test = new ElementData("XX控件6", ar); - } - - /** - * 用于测试{@link ElementData#getName()}方法
- * 预期:
- * XX控件6 - */ - @Test - public void getNameTest() { - System.out.println(test.getName()); - } - - /** - * 用于测试{@link ElementData#getByTypeList()}方法
- * 预期:
- * XPATH
- * CSS
- * XPATH - */ - @Test - public void getByTypeListTest() { - test.getByTypeList().forEach(System.out :: println); - } - - /** - * 用于测试{@link ElementData#getValueList()}方法
- * 预期:
- * //XXX控件6[@X='XXXX']
- * http body ${tagName}
- * //XXX模板控件1[@X='${src}']/div[@name='XXX控件6']/div[@is='test' and text()='${src}']/span[text()='${str2}']/span[id='${aaaa}'] - */ - @Test - public void getValueListTest() { - test.getValueList().forEach(System.out :: println); - } - - /** - * 用于测试{@link ElementData#getElementType()}方法
- * 预期:
- * COMMON_ELEMENT - */ - @Test - public void getElementTypeTest() { - System.out.println(test.getElementType()); - } - - /** - * 用于测试{@link ElementData#getIframeNameList()}方法
- * 预期:
- * 窗体1
- * 窗体1.1
- * 窗体1.1.1 - */ - @Test - public void getIframeNameListTest() { - test.getIframeNameList().forEach(System.out :: println); - } - - /** - * 用于测试{@link ElementData#getWaitTime()}方法
- * 预期:
- * -1 - */ - @Test - public void getWaitTimeTest() { - System.out.println(test.getWaitTime()); - } - - /** - * 用于测试{@link ElementData#addLinkWord(String...)}方法
- * 预期:
- * //XXX控件6[@X='XXXX']
- * http body 外链1
- * //XXX模板控件1[@X='外链1']/div[@name='XXX控件6']/div[@is='test' and text()='外链2']/span[text()='外链3']/span[id='${aaaa}'] - */ - @Test - public void addLinkWordTest() { - test.addLinkWord("外链1", "外链2", "外链3"); - test.getValueList().forEach(System.out :: println); - } -} diff --git a/src/test/java/pres/auxiliary/work/selenium/element/ElementTest.java b/src/test/java/pres/auxiliary/work/selenium/element/ElementTest.java deleted file mode 100644 index 2c1d210..0000000 --- a/src/test/java/pres/auxiliary/work/selenium/element/ElementTest.java +++ /dev/null @@ -1,89 +0,0 @@ -package pres.auxiliary.work.selenium.element; - -import java.io.File; -import java.util.ArrayList; - -import org.openqa.selenium.By; -import org.testng.annotations.AfterClass; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -import pres.auxiliary.work.selenium.brower.ChromeBrower; -import pres.auxiliary.work.selenium.brower.ChromeBrower.ChromeOptionType; - -public class ElementTest { - /** - * 主窗体元素 - */ - Element mainFrameElement; - /** - * 工资发放详情窗体元素 - */ - Element payrollFrameElement; - /** - * 单位名称元素 - */ - Element comNameElement; - /** - * 专户名称元素 - */ - Element payrollElement; - /** - * 标题元素 - */ - Element titleElement; - - ChromeBrower cb; - - @BeforeClass - public void init() { - cb = new ChromeBrower(new File("Resource/BrowersDriver/Chrom/78.0394.70/chromedriver.exe")); - cb.addConfig(ChromeOptionType.CONTRAL_OPEN_BROWER, "127.0.0.1:9222"); - - ArrayList mainFrameByList = new ArrayList(); - mainFrameByList.add(By.xpath("//iframe[contains(@src,'/Regulatory/admin/index.jsp')]")); - mainFrameElement = new Element(cb, "主窗体元素", ElementType.COMMON_ELEMENT, 0); - mainFrameElement.setByList(mainFrameByList); - - - ArrayList payrollFrameByList = new ArrayList(); - payrollFrameByList.add(By.xpath("//iframe[contains(@src,'工资单管理')]")); - payrollFrameElement = new Element(cb, "工资发放详情窗体元素", ElementType.COMMON_ELEMENT, 0); - payrollFrameElement.setByList(payrollFrameByList); - payrollFrameElement.setIframeElement(mainFrameElement); - - ArrayList comNameByList = new ArrayList(); - comNameByList.add(By.xpath("//*[@id='listBox']/li[1]/div[1]/p/span[1]")); - comNameElement = new Element(cb, "单位名称元素", ElementType.COMMON_ELEMENT, 0); - comNameElement.setByList(comNameByList); - comNameElement.setIframeElement(payrollFrameElement); - - ArrayList payrollByList = new ArrayList(); - payrollByList.add(By.xpath("//*[@class='pay-code']")); - payrollElement = new Element(cb, "专户名称元素", ElementType.COMMON_ELEMENT, 0); - payrollElement.setByList(payrollByList); - payrollElement.setIframeElement(payrollFrameElement); - - ArrayList titleByList = new ArrayList(); - titleByList.add(By.xpath("//*[@lay-id='工资单管理']")); - titleElement = new Element(cb, "标题元素", ElementType.COMMON_ELEMENT, 0); - titleElement.setByList(titleByList); - titleElement.setIframeElement(mainFrameElement); - } - - @AfterClass - public void closeDriver() { - cb.getDriver().quit(); - } - - @Test - public void getWebElementTest() { - System.out.println(comNameElement.getWebElement().getText()); - System.out.println("----------------------------------------"); - System.out.println(payrollElement.getWebElement().getText()); - System.out.println("----------------------------------------"); - System.out.println(titleElement.getWebElement().getText()); - System.out.println("----------------------------------------"); - System.out.println(payrollElement.getWebElement().getText()); - } -} diff --git a/src/test/java/pres/auxiliary/work/selenium/element/SelectByTest.java b/src/test/java/pres/auxiliary/work/selenium/element/SelectByTest.java deleted file mode 100644 index 2688d25..0000000 --- a/src/test/java/pres/auxiliary/work/selenium/element/SelectByTest.java +++ /dev/null @@ -1,91 +0,0 @@ -package pres.auxiliary.work.selenium.element; - -import java.io.File; - -import org.testng.annotations.AfterClass; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -import pres.auxiliary.work.selenium.brower.ChromeBrower; -import pres.auxiliary.work.selenium.brower.ChromeBrower.ChromeOptionType; -import pres.auxiliary.work.selenium.event.ClickEvent; - -/** - *

文件名:SelectByText.java

- *

用途: - * 对{@link SelectBy_Old}类进行测试 - *

- *

页面: - * 对标准型下拉选项测试页面为jira提BUG弹窗,对非标准型下拉为运营系统测试环境消息推送管理页面 - *

- *

编码时间:2020年5月23日下午4:29:10

- *

修改时间:2020年5月23日下午4:29:10

- * @author 彭宇琦 - * @version Ver1.0 - * @since JDK 12 - * - */ -public class SelectByTest { - ChromeBrower cb = new ChromeBrower(new File("Resource/BrowersDriver/Chrom/78.0394.70/chromedriver.exe")); - SelectBy_Old s; - CommonBy_Old cby; - ClickEvent ce; - - @BeforeClass(alwaysRun = true) - public void init() { - cb.addConfig(ChromeOptionType.CONTRAL_OPEN_BROWER, "127.0.0.1:9222"); - - s = new SelectBy_Old(cb); - cby = new CommonBy_Old(cb); - ce = new ClickEvent(cb.getDriver()); - } - - @AfterClass(alwaysRun = true) - public void quit() { - cb.getDriver().quit(); - } - - /** - * 用于测试选择非标准型下拉选项 - * @throws InterruptedException - */ - @Test(groups = "list") - public void changeElement_List() throws InterruptedException { - Element_Old e = cby.getElement("/html/body/div[1]/div/div/section/div/div[1]/div[4]/div[1]/input"); - ce.click(e); - s.add("/html/body/div/div/div[1]/ul/li/span"); - - //按照下标进行选择(第三个选项:待审核) - ce.click(s.getElement(3)); - Thread.sleep(2000); - ce.click(e); - //按照文本进行选择 - ce.click(s.getElement("审核通过")); - } - - /** - * 测试标准型拉下选项的选择 - * @throws InterruptedException - */ - @Test(groups = "commom") - public void addTest_Common() throws InterruptedException { - s.add("//label[text()='严重等级']/../select"); - - //按照下标进行选择(第三个选项:轻微) - ce.click(s.getElement(3)); - Thread.sleep(2000); - //按照文本进行选择 - ce.click(s.getElement("致命")); - - s.add("//label[text()='缺陷来源']/../select"); - //按照下标进行选择(第三个选项:与需求不一致) - ce.click(s.getElement(3)); - - //点击修复版本,未排期的第5个选项 - ce.click(cby.getElement("//*[@id=\"fixVersions-multi-select\"]/span")); - s.add("//div[contains(@class, 'ajs-layer box')]//*[text()='20200408-解决实名制平台响应慢问题']/../..//a"); -// ce.click(s.getElement("2020", "-", "银行接口")); - - ce.click(s.getElement("233", "-", "银行接口")); - } -} diff --git a/src/test/java/pres/auxiliary/work/selenium/element/测试用xml文件.xml b/src/test/java/pres/auxiliary/work/selenium/element/测试用xml文件.xml deleted file mode 100644 index 81d3732..0000000 --- a/src/test/java/pres/auxiliary/work/selenium/element/测试用xml文件.xml +++ /dev/null @@ -1,110 +0,0 @@ - - - - //XXX模板控件1[@X='${name}']/div/div[@${att}='${id}']/input - http body ${tagName} - //XXX模板控件1[@X='${src}']/div[@name='${name}'] - //XXX模板控件1[@X='${src}']/div[@name='${name}']/div[@is='${str1}' and text()='${str1}'] - //XXX模板控件1[@X='${src}']/div[@name='${name}']/div[@is='${str1}' and text()='${src}']/span[text()='${str2}']/span[id='${aaaa}'] - ${name} - - - - //XX控件1[@X='XXXX'] - - - - - - - - - - - \ No newline at end of file diff --git a/src/test/java/pres/auxiliary/work/selenium/event/EventProxyTest.java b/src/test/java/pres/auxiliary/work/selenium/event/EventProxyTest.java deleted file mode 100644 index eb89e48..0000000 --- a/src/test/java/pres/auxiliary/work/selenium/event/EventProxyTest.java +++ /dev/null @@ -1,58 +0,0 @@ -package pres.auxiliary.work.selenium.event; - -import java.io.File; - -import org.testng.annotations.AfterClass; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -import pres.auxiliary.work.selenium.brower.ChromeBrower; -import pres.auxiliary.work.selenium.brower.ChromeBrower.ChromeOptionType; -import pres.auxiliary.work.selenium.event.EventProxy.ActionType; - -public class EventProxyTest { - EventProxy clickProxy; - EventProxy inputProxy; - ChromeBrower chrome; - CommonBy_Old by; - - @BeforeClass - public void init() { - chrome = new ChromeBrower(new File("Resource/BrowersDriver/Chrom/83.0.4103.39/chromedriver.exe")); - chrome.addConfig(ChromeOptionType.CONTRAL_OPEN_BROWER, "127.0.0.1:9222"); - clickProxy = new EventProxy<>(new ClickEvent(chrome.getDriver())); - inputProxy = new EventProxy<>(new TextEvent(chrome.getDriver())); - by = new CommonBy_Old(chrome); - } - - @AfterClass - public void showResult() { - ClickEvent click = clickProxy.getProxyInstance(); - click.doubleClick(by.getElement("//*[text()='登录']")); - } - - @Test - public void addAcionTest() { - TextEvent textEvent = new TextEvent(chrome.getDriver()); - textEvent.input(by.getElement("//*[@name='account']"), "admin"); - textEvent.input(by.getElement("//*[@name='password']"), "1111111"); - - inputProxy.addAcion(ActionType.FUNCTION_BEFORE, ".*input.*", (info) -> { - inputProxy.getProxyInstance().clear(info.getElement().get(0)); - }); - - clickProxy.addAcion(ActionType.ELEMENT_BEFORE, ".*登录.*", (info) -> { - TextEvent text = inputProxy.getProxyInstance(); - text.input(by.getElement("//*[@name='account']"), "admin"); - text.input(by.getElement("//*[@name='password']"), "1111111"); - }); - - clickProxy.addAcion(ActionType.ELEMENT_AFTER, ".*登录.*", (info) -> { - try { - Thread.sleep(2000); - } catch (InterruptedException e) { - } - by.alertAccept(); - }); - } -} diff --git a/src/test/java/pres/auxiliary/work/selenium/event/EventWaitTest.java b/src/test/java/pres/auxiliary/work/selenium/event/EventWaitTest.java deleted file mode 100644 index 4ecc413..0000000 --- a/src/test/java/pres/auxiliary/work/selenium/event/EventWaitTest.java +++ /dev/null @@ -1,84 +0,0 @@ -package pres.auxiliary.work.selenium.event; - -import java.io.File; - -import org.testng.annotations.AfterClass; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -import pres.auxiliary.work.selenium.brower.ChromeBrower; -import pres.auxiliary.work.selenium.brower.ChromeBrower.ChromeOptionType; - -/** - *

文件名:EventWaitTest.java

- *

用途: - * 用于对{@link WaitEvent}类进行测试 - *

- *

页面: - * 运维管理系统,岗前答题库模块 - *

- *

编码时间:2020年5月24日下午4:37:25

- *

修改时间:2020年5月24日下午4:37:25

- * @author - * @version Ver1.0 - * @since JDK 12 - * - */ -public class EventWaitTest { - WaitEvent wait; - ClickEvent c; - TextEvent t; - CommonBy_Old cby; - ChromeBrower cb = new ChromeBrower(new File("Resource/BrowersDriver/Chrom/78.0394.70/chromedriver.exe")); - - @BeforeClass - public void init() { - cb.addConfig(ChromeOptionType.CONTRAL_OPEN_BROWER, "127.0.0.1:9222"); - cby = new CommonBy_Old(cb); - c = new ClickEvent(cb.getDriver()); - t = new TextEvent(cb.getDriver()); - wait = new WaitEvent(cb.getDriver()); - - } - - @AfterClass - public void quit() { - cb.getDriver().quit(); - } - - /** - * 测试{@link WaitEvent#disappear(pres.auxiliary.work.selenium.element.Element)}方法 - */ - @Test - public void disappearTest() { - //获取编号列 - DataListBy_Old element = new DataListBy_Old(cb); - element.add("/html/body/div[1]/div/div/section/div/div[2]/div[3]/table//td[contains(@class,'el-table_1_column_1 ')]/div/span"); - - System.out.println(element.getMinColumnSize()); - System.out.println("开始页:"); - //获取并打印编号列 - for (int i = 1; i <= element.getMinColumnSize(); i++) { - System.out.println("===================================="); - for (String name : element.getNames()) { - System.out.println("编号" + t.getText(element.getElement(name, i))); - } - System.out.println("===================================="); - } - - //点击搜索按钮,使其弹出等待加载的图标 - c.click(cby.getElement("//button[@class='btn-next']")); - //等待图标消失 - wait.disappear(cby.getElement("//*[@class='circular']")); - - System.out.println("下一页:"); - //重新再获取并打印编号列 - for (int i = 1; i <= element.getMinColumnSize(); i++) { - System.out.println("===================================="); - for (String name : element.getNames()) { - System.out.println("编号" + "=" + t.getText(element.getElement(name, i))); - } - System.out.println("===================================="); - } - } -} diff --git a/src/test/java/pres/auxiliary/work/selenium/event/JsEventTest.java b/src/test/java/pres/auxiliary/work/selenium/event/JsEventTest.java deleted file mode 100644 index aa83d68..0000000 --- a/src/test/java/pres/auxiliary/work/selenium/event/JsEventTest.java +++ /dev/null @@ -1,104 +0,0 @@ -package pres.auxiliary.work.selenium.event; - -import java.io.File; -import java.lang.reflect.Method; - -import org.openqa.selenium.WebElement; -import org.testng.annotations.AfterClass; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; - -import com.alibaba.fastjson.JSONObject; - -import pres.auxiliary.work.selenium.brower.ChromeBrower; -import pres.auxiliary.work.selenium.brower.ChromeBrower.ChromeOptionType; - -/** - *

文件名:JsEventTest.java

- *

用途: - * 用于对{@link JsEvent}类进行单元测试,使用控制已打开的浏览器 - *

- *

页面: - * https://www.baidu.com/(百度首页),针对搜索条件文本框 - *

- *

编码时间:2020年5月17日 下午1:40:28

- *

修改时间:2020年5月17日 下午1:40:28

- * @author 彭宇琦 - * @version Ver1.0 - * @since JDK 12 - */ -public class JsEventTest { - /** - * 输入文本框元素对象 - */ - Element_Old inputElemnt; - JsEvent event; - ChromeBrower cb; - - /** - * 初始化数据 - */ - @BeforeClass - public void init() { - cb = new ChromeBrower(new File("Resource/BrowersDriver/Chrom/78.0394.70/chromedriver.exe")); - cb.addConfig(ChromeOptionType.CONTRAL_OPEN_BROWER, "127.0.0.1:9222"); - inputElemnt = new CommonBy_Old(cb).getElement("//*[@id='kw']"); - - //初始化js类 - event = new JsEvent(cb.getDriver()); - } - - @AfterClass - public void quit() { - cb.getDriver().quit(); - } - - @BeforeMethod - public void show(Method method) { - System.out.println("================================"); - System.out.println(method.getName() + "方法测试结果:"); - } - - /** - * 测试{@link JsEvent#getAttribute(WebElement, String)}方法 - */ - @Test - public void getAttributeTest() { - System.out.println(event.getAttribute(inputElemnt, "class")); - } - - /** - * 测试{@link JsEvent#putAttribute(WebElement, String, String)}方法 - */ - @Test - public void putAttributeTest() { - System.out.println(event.putAttribute(inputElemnt, "lll", null)); - } - - /** - * 测试{@link JsEvent#addElement(WebElement, String)}方法 - */ - @Test - public void addElementTest_String() { - System.out.println(event.addElement(inputElemnt, "input")); - } - - /** - * 测试{@link JsEvent#deleteElement(WebElement)}方法 - */ - @Test - public void deleteElementTest() { - System.out.println(event.deleteElement(inputElemnt)); - } - - /** - * 测试{@link JsEvent#addElement(WebElement, com.alibaba.fastjson.JSONObject)}方法 - */ - @Test - public void addElementTest_Json() { - JSONObject json = event.deleteElement(new CommonBy_Old(cb.getDriver()).getElement("//*[@value = '百度一下']")); - Element_Old e = new CommonBy_Old(cb.getDriver()).getElement("//*[text() = '我的关注']"); - System.out.println(event.addElement(e, json)); - } -} diff --git a/src/test/java/pres/auxiliary/work/selenium/event/TextEventTest.java b/src/test/java/pres/auxiliary/work/selenium/event/TextEventTest.java deleted file mode 100644 index 2e30e4a..0000000 --- a/src/test/java/pres/auxiliary/work/selenium/event/TextEventTest.java +++ /dev/null @@ -1,102 +0,0 @@ -package pres.auxiliary.work.selenium.event; - -import java.io.File; - -import org.testng.annotations.AfterClass; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; - -import pres.auxiliary.work.selenium.brower.ChromeBrower; -import pres.auxiliary.work.selenium.brower.ChromeBrower.ChromeOptionType; - -/** - *

文件名:CommonElementTest.java

- *

用途: - * 对{@link TextEvent}类方法进行单元测试 - *

- *

测试对象:桂建通工资管理的工资单管理模块,获取第一条数据的单位信息

- *

编码时间:2020年4月30日上午7:44:34

- *

修改时间:2020年4月30日上午7:44:34

- * @author 彭宇琦 - * @version Ver1.0 - * @since JDK 12 - * - */ -public class TextEventTest { - /** - * 列表上编号列第一个元素 - */ - final String FRIST_ID_XPATH = "//*[@class=\"el-table__body-wrapper\"]/table/tbody/tr[1]/td[1]/div/span"; - /** - * 列表上编号列所有元素 - */ - final String ID_LIST_XPATH = "//*[@class=\"el-table__body-wrapper\"]/table/tbody/tr/td[1]/div/span"; - - ChromeBrower cb = new ChromeBrower(new File("Resource/BrowersDriver/Chrom/78.0394.70/chromedriver.exe")); - CommonBy_Old ce; - DataListBy_Old dle; - TextEvent t; - Element_Old turningButton; - - @BeforeClass - public void init() { - cb.addConfig(ChromeOptionType.CONTRAL_OPEN_BROWER, "127.0.0.1:9222"); - ce = new CommonBy_Old(cb.getDriver()); - dle = new DataListBy_Old(cb.getDriver()); - - t = new TextEvent(cb.getDriver()); - - turningButton = ce.getElement("//i[@class=\"el-icon el-icon-arrow-right\"]"); - } - - @AfterClass - public void qiut() { - cb.getDriver().quit(); - } - - @BeforeMethod - public void switchRootFrame() { - ce.switchRootFrame(); - } - - /** - * 测试普通元素调用{@link TextEvent#getText(pres.auxiliary.work.selenium.element.Element_Old)}方法 - * @throws InterruptedException - */ - @Test - public void getTextTest_CommonElement() throws InterruptedException { - System.out.println("第一页:"); - System.out.println(t.getText(ce.getElement(FRIST_ID_XPATH))); - //测试元素过期问题 - System.out.println("=========================================="); - System.out.println("第二页:"); - //测试元素过期问题 - turningButton.getWebElement().click(); - Thread.sleep(5000); - //翻页后再获取 - System.out.println(t.getText(ce.getElement(FRIST_ID_XPATH))); - } - - /** - * 测试列表元素调用{@link TextEvent#getText(pres.auxiliary.work.selenium.element.Element_Old)}方法 - * @throws InterruptedException - */ - @Test - public void getTextTest_DataListElement() throws InterruptedException { - dle.add(ID_LIST_XPATH); - System.out.println("第一页:"); - dle.getAllElement(ID_LIST_XPATH).forEach(element -> { - System.out.println(t.getText(element)); - }); - //测试元素过期问题 - System.out.println("=========================================="); - turningButton.getWebElement().click(); - Thread.sleep(5000); - System.out.println("第二页:"); - //翻页后再次获取 - dle.getAllElement(ID_LIST_XPATH).forEach(element -> { - System.out.println(t.getText(element)); - }); - } -} diff --git a/src/test/java/pres/auxiliary/work/selenium/xml/ReadXmlTest.java b/src/test/java/pres/auxiliary/work/selenium/xml/ReadXmlTest.java deleted file mode 100644 index 510e431..0000000 --- a/src/test/java/pres/auxiliary/work/selenium/xml/ReadXmlTest.java +++ /dev/null @@ -1,161 +0,0 @@ -package pres.auxiliary.work.selenium.xml; - -import java.io.File; -import java.lang.reflect.Method; -import java.util.ArrayList; - -import org.testng.annotations.AfterMethod; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -public class ReadXmlTest { -XmlLocation r; - - /** - * 初始化数据 - */ - @BeforeClass - public void newReadXML() { - r = new XmlLocation(new File("src/test/java/pres/auxiliary/work/selenium/xml/测试用xml文件.xml")); - } - - @AfterMethod - public void over(Method method) { - System.out.println("*****" + method.getName() + "运行完毕" + "*****"); - } - - /** - * 用于测试{@link XmlLocation#getBy(String, ByType)}方法,获取普通元素 - */ - @Test - public void getByTest_Element() { - System.out.println(r.getBy("XX控件7", ByType.XPATH)); - } - - /** - * 用于测试{@link XmlLocation#getBy(String, ByType)}方法,获取窗体元素 - */ - @Test - public void getByTest_Iframe() { - System.out.println(r.getBy("窗体1.1", ByType.XPATH)); - } - - /** - * 用于测试{@link XmlLocation#getBy(String, ByType)}方法,获取模板元素 - */ - @Test - public void getByTest_Templet() { - System.out.println(r.getBy("XX控件11", ByType.XPATH)); - System.out.println(r.getBy("窗体1", ByType.CSS)); - } - - /** - * 用于测试{@link XmlLocation#getBy(String, ByType)}方法,获取顶层元素 - */ - @Test - public void getByTest_RootElement() { - System.out.println(r.getBy("XX控件1", ByType.XPATH)); - } - - /** - * 用于测试{@link XmlLocation#getValue(String, ByType)}方法,获取普通元素 - */ - @Test - public void getElementValueTest_Element() { - System.out.println(r.getValue("XX控件7", ByType.XPATH)); - } - - /** - * 用于测试{@link XmlLocation#getValue(String, ByType)}方法,获取窗体元素 - */ - @Test - public void getElementValueTest_Iframe() { - System.out.println(r.getValue("窗体1.1", ByType.XPATH)); - } - - /** - * 用于测试{@link XmlLocation#getValue(String, ByType)}方法,获取模板元素 - */ - @Test - public void getElementValueTest_Templet() { - System.out.println(r.getValue("XX控件11", ByType.XPATH)); - System.out.println(r.getValue("窗体1", ByType.CSS)); - } - - /** - * 用于测试{@link XmlLocation#getValue(String, ByType)}方法,获取顶层元素 - */ - @Test - public void getElementValueTest_RootElement() { - System.out.println(r.getValue("XX控件1", ByType.XPATH)); - } - - /** - * 用于测试{@link XmlLocation#getIframeName(String, ByType)}方法,获取普通元素 - */ - @Test - public void getIframeNameTest_Element() { - System.out.println(r.getIframeName("XX控件7")); - } - - /** - * 用于测试{@link XmlLocation#getIframeName(String, ByType)}方法,获取窗体元素 - */ - @Test - public void getIframeNameTest_Iframe() { - System.out.println(r.getIframeName("窗体1.1")); - } - - /** - * 用于测试{@link XmlLocation#getIframeName(String, ByType)}方法,获取模板元素 - */ - @Test - public void getIframeNameTest_Templet() { - System.out.println(r.getIframeName("XX控件11")); - System.out.println(r.getIframeName("窗体1")); - } - - /** - * 用于测试{@link XmlLocation#getIframeName(String)}方法,获取顶层元素 - */ - @Test - public void getIframeNameTest_RootElement() { - System.out.println(r.getIframeName("XX控件1")); - } - - /** - * 用于测试{@link XmlLocation#getIframeName(String)}方法,获取模板元素 - */ - @Test - public void getIframeNameTest_NoPram() { - System.out.println(r.getIframeName("XX控件12")); - } - - /** - * 用于测试{@link XmlLocation#getValue(String, ByType)}方法,未查找到替换的属性 - */ - @Test - public void getValueTest_NoPram() { - System.out.println(r.getValue("XX控件12", ByType.XPATH)); - System.out.println(r.getValue("窗体3", ByType.XPATH)); - } - - /** - * 用于测试{@link XmlLocation#getValue(String, ByType)}方法,外链关键词 - */ - @Test - public void getValueTest_Link() { - ArrayList link = new ArrayList<>(); - link.add("测试1"); - link.add("测试2"); - link.add("测试3"); - - //XXX模板控件1[@X='${src}']/div[@name='${name}'] - System.out.println(r.getValue("XX控件13", ByType.XPATH, link)); - System.out.println(r.getValue("窗体3", ByType.XPATH, link)); - //XXX模板控件1[@X='${src}']/div[@name='${name}']/div[@is='${str1}' and text()='${str1}'] - System.out.println(r.getValue("XX控件14", ByType.XPATH, link)); - //XXX模板控件1[@X='${src}']/div[@name='${name}']/div[@is='${str1}' and text()='${src}']/span[text()='${str2}']/span[id='${aaaa}'] - System.out.println(r.getValue("XX控件15", ByType.XPATH, link)); - } -} diff --git a/src/test/java/pres/auxiliary/work/selenium/xml/测试用xml文件.xml b/src/test/java/pres/auxiliary/work/selenium/xml/测试用xml文件.xml deleted file mode 100644 index fc22b25..0000000 --- a/src/test/java/pres/auxiliary/work/selenium/xml/测试用xml文件.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - //XXX模板控件1[@X='${name}']/div/div[@${att}='${id}']/input - http body ${tagName} - //XXX模板控件1[@X='${src}']/div[@name='${name}'] - //XXX模板控件1[@X='${src}']/div[@name='${name}']/div[@is='${str1}' and text()='${str1}'] - //XXX模板控件1[@X='${src}']/div[@name='${name}']/div[@is='${str1}' and text()='${src}']/span[text()='${str2}']/span[id='${aaaa}'] - - - - //XX控件1[@X='XXXX'] - - - - - - - - - - - \ No newline at end of file diff --git a/src/test/java/pres/auxiliary/work/testcase/file/.gitignore b/src/test/java/pres/auxiliary/work/testcase/file/.gitignore new file mode 100644 index 0000000..d8feaba --- /dev/null +++ b/src/test/java/pres/auxiliary/work/testcase/file/.gitignore @@ -0,0 +1 @@ +/BasicTestCaseWriteTest.java diff --git a/src/test/java/pres/auxiliary/work/testcase/file/BasicTestCaseWriteTest.java b/src/test/java/pres/auxiliary/work/testcase/file/BasicTestCaseWriteTest.java index b64be5f..ec6371f 100644 --- a/src/test/java/pres/auxiliary/work/testcase/file/BasicTestCaseWriteTest.java +++ b/src/test/java/pres/auxiliary/work/testcase/file/BasicTestCaseWriteTest.java @@ -143,6 +143,7 @@ public class BasicTestCaseWriteTest { */ @Test public void markFieldTest() { + @SuppressWarnings("rawtypes") FieldMark cm = wtc.end().fieldComment("步骤", "步骤标记").fieldComment("预期", "预期标记"); cm.fieldComment("目的", "目的标记"); } @@ -152,6 +153,7 @@ public class BasicTestCaseWriteTest { */ @Test public void fieldBackgroundTest() { + @SuppressWarnings("rawtypes") FieldMark cm = wtc.end().changeFieldBackground("步骤", MarkColorsType.BLUE).changeFieldBackground("预期", MarkColorsType.RED); cm.changeFieldBackground("目的", MarkColorsType.GREEN); diff --git a/src/test/java/pres/readme/code/MyCase.java b/src/test/java/pres/readme/code/MyCase.java deleted file mode 100644 index e291aac..0000000 --- a/src/test/java/pres/readme/code/MyCase.java +++ /dev/null @@ -1,58 +0,0 @@ -package pres.readme.code; - -import java.io.File; - -import pres.auxiliary.work.testcase.templet.Case; -import pres.auxiliary.work.testcase.templet.LabelType; - -public class MyCase extends Case { - public MyCase(File configXmlFile) { - super(configXmlFile); - } - - public Case appBrowseListCase() { - //清空字段的内容 - clearFieldText(); - // 存储case标签的name属性内容 - String caseName = "addAppBrowseListCase"; - - //存储标题信息 - addFieldText(LabelType.TITLE, getLabelText(caseName, LabelType.TITLE, "1")); - - //添加步骤与预期 - relevanceAddData(caseName, ALL, ALL); - - //存储前置条件信息 - addFieldText(LabelType.PRECONDITION, getAllLabelText(caseName, LabelType.PRECONDITION)); - - //存储关键词信息 - addFieldText(LabelType.KEY, getLabelText(caseName, LabelType.KEY, "1")); - //存储优先级信息 - addFieldText(LabelType.RANK, getLabelText(caseName, LabelType.RANK, "1")); - - return this; - } - - public Case webBrowseListCase() { - //清空字段的内容 - clearFieldText(); - // 存储case标签的name属性内容 - String caseName = "addWebBrowseListCase"; - - //存储标题信息 - addFieldText(LabelType.TITLE, getLabelText(caseName, LabelType.TITLE, "1")); - - //添加步骤与预期 - relevanceAddData(caseName, ALL, ALL); - - //存储前置条件信息 - addFieldText(LabelType.PRECONDITION, getAllLabelText(caseName, LabelType.PRECONDITION)); - - //存储关键词信息 - addFieldText(LabelType.KEY, getLabelText(caseName, LabelType.KEY, "1")); - //存储优先级信息 - addFieldText(LabelType.RANK, getLabelText(caseName, LabelType.RANK, "1")); - - return this; - } -} diff --git a/src/test/java/pres/readme/code/MyCase.xml b/src/test/java/pres/readme/code/MyCase.xml deleted file mode 100644 index e3cbfdf..0000000 --- a/src/test/java/pres/readme/code/MyCase.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - </titles> - <preconditions> - <precondition id='1' value='myTest001_前置1' /> - <precondition id='2' value='myTest001_前置2' /> - </preconditions> - <ranks> - <rank id='1' value='myTest001_优先级1' /> - </ranks> - <keys> - <key id='1' value='myTest001_关键词1' /> - </keys> - </case> - - <case name='myTest002'> - <steps> - <step id='1' value='myTest002_步骤1_*{词语}*'/> - <step id='2' value='myTest002_步骤2'/> - <step id='3' value='myTest002_步骤3'/> - </steps> - <excepts> - <except id='1' value='myTest002_预期1'/> - </excepts> - <titles> - <title id='1' value='myTest002_标题1' /> - </titles> - <preconditions> - <precondition id='1' value='myTest002_前置1' /> - <precondition id='2' value='myTest002_前置2' /> - </preconditions> - <ranks> - <rank id='1' value='myTest002_优先级1' /> - </ranks> - <keys> - <key id='1' value='myTest002_关键词1' /> - </keys> - </case> -</cases> \ No newline at end of file diff --git a/src/test/java/pres/readme/code/TestWriteCase.java b/src/test/java/pres/readme/code/TestWriteCase.java deleted file mode 100644 index 974f34e..0000000 --- a/src/test/java/pres/readme/code/TestWriteCase.java +++ /dev/null @@ -1,94 +0,0 @@ -package pres.readme.code; - -import java.io.File; -import java.io.IOException; - -import org.dom4j.DocumentException; -import org.testng.annotations.AfterClass; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -import pres.auxiliary.tool.file.excel.CreateExcelFile; -import pres.auxiliary.work.testcase.file.BasicTestCaseWrite; -import pres.auxiliary.work.testcase.templet.InformationCase; -import pres.auxiliary.work.testcase.templet.LabelType; - -public class TestWriteCase { - /** - * 用例编写类 - */ - BasicTestCaseWrite wtc; - /** - * 添加信息用例模板类 - */ - InformationCase ic; - - /** - * 配置文件类对象 - */ - File conFile = new File( - "ConfigurationFiles/CaseConfigurationFile/FileTemplet/JiraCaseFileTemplet/jira测试用例导入模板.xml"); - /** - * 模板文件类对象 - */ - File tempFile = new File("Result/测试用例.xlsx"); - /** - * 添加信息类测试用例模板文件 - */ - File caseTempFile = new File("ConfigurationFiles/CaseConfigurationFile/CaseTemplet/AddInformation.xml"); - - @BeforeClass - public void createTemplet() throws DocumentException, IOException { - //创建测试用例模板文件 - CreateExcelFile temp = new CreateExcelFile(conFile, tempFile); - temp.setCoverFile(true); - temp.create(); - - //构造用例编写类对象 - wtc = new BasicTestCaseWrite(conFile, tempFile); - - //添加常量词语 - wtc.setFieldValue("模块", "/测试项目/账号管理/创建账号"); - wtc.setFieldValue("目的", "验证创建账号界面各个控件输入是否有效"); - wtc.setFieldValue("状态", "1"); - wtc.setFieldValue("设计者", "test"); - wtc.setFieldValue("关联需求", "TEST-1"); - - //添加与测试用例模板的字段关联 - wtc.relevanceCase("步骤", LabelType.STEP.getName()); - wtc.relevanceCase("预期", LabelType.EXCEPT.getName()); - wtc.relevanceCase("前置条件", LabelType.PRECONDITION.getName()); - wtc.relevanceCase("优先级", LabelType.RANK.getName()); - wtc.relevanceCase("标题", LabelType.TITLE.getName()); - - //构造测试用例模板类对象 - ic = new InformationCase(caseTempFile); - //添加需要替换的词语 - ic.setReplaceWord(InformationCase.ADD_INFORMATION, "账号"); - ic.setReplaceWord(InformationCase.BUTTON_NAME, "保存"); - } - - @AfterClass - public void openFolder() throws IOException { - java.awt.Desktop.getDesktop().open(wtc.getCaseXml()); - //将测试用例内容写入到文件中 - wtc.writeFile(); - } - - @Test - public void addCase() { - wtc.addCase(ic.addBasicTextboxCase("姓名", false, true, false)).end(); - wtc.addCase(ic.addIdCardCase("身份证", true, false, false)).end(); - - wtc.setFieldValue("模块", "/测试项目/账号管理/创建账号2"); - wtc.addCase(ic.addIdCardCase("护照号", true, false, false)).end(); - } - - @Test - public void myCaseTest() { - MyCase mc = new MyCase(new File("src/test/java/pres/readme/code/MyCase.xml")); - wtc.addCase(mc.myCase1()).end(); - wtc.addCase(mc.myCase2("测试")).end(); - wtc.addCase(mc.myCase3()).end(); - } -} diff --git a/src/test/java/test/javase/BlackHoleNumber.java b/src/test/java/test/javase/BlackHoleNumber.java deleted file mode 100644 index 6cfd366..0000000 --- a/src/test/java/test/javase/BlackHoleNumber.java +++ /dev/null @@ -1,172 +0,0 @@ -package test.javase; - -import java.util.ArrayList; -import java.util.Scanner; - -/** - * <p><b>文件名:</b>BlackHoleNumber.java</p> - * <p><b>用途:</b>求取黑洞数</p> - * <p><b>编码时间:</b>2018年12月24日 上午8:11:29</p> - * <p><b>问题描述:</b>编程求三位数中的“黑洞数”。<br> - * 黑洞数又称陷阱数,任何一个数字不全相同的整数,经有限次“重排求差”操作, - * 总会得到某一个或一些数,这些数即为黑洞数。“重排求差”操作是将组成一个数 - * 的各位数字重排得到的最大数减去最小数,例如207,“重排求差”操作序列是720-027=693, - * 963-369=594,954-459=495,再做下去就不变了,再用208算一次, - * 也停止到495,所以495是三位黑洞数。</p> - * - * <p><b>问题分析:</b>根据“黑洞数”定义,对于任一个数字不全相同的整数, - * 最后结果总会掉入到一个黑洞圈或黑洞数里,最后结果一旦为黑洞数,无论再重复 - * 进行多少次的“重排求差”操作,则结果都是一样的,可把结果相等作为判断“黑洞 - * 数”的依据。</p> - * - * <p><b>过程如下:</b> - * <ol> - * <li>将任一个三位数进行拆分。</li> - * <li>拆分后的数据重新组合,将可以组合的最大值减去最小值,差赋给变量j。</li> - * <li>将当前差值暂存到另一变量h中:h=j。</li> - * <li>对变量j执行拆分、重组、求差操作,差值仍然存储到变量j中。</li> - * <li>判断当前差值j是否与前一次的差相等,若相等将差值输出并结束循环,否则,重复步骤 3、4和 5。</li> - * </ol> - * </p> - * @author Linux公社 - */ -public class BlackHoleNumber { - //存储每次重排后得到的运算结果 - private static ArrayList<Integer> numList = new ArrayList<>(); - - @SuppressWarnings("resource") - public static void main(String[] args) { - int i; - int max, min, j = 0; - //控制循环次数 - int k = 0; - - System.out.println("请输入一个数字:"); - i = new Scanner(System.in).nextInt(); - - //获取最大最小的数字 - max = maxNumber(i); - min = minNumber(i); - - //j=max-min; - //循环进行运算 - while(true) { - //计算两数之差 - j=max-min; - //通过showBlackHole()方法判断运算结果是否掉入黑洞,若在黑洞中,则结束循环 - if(showBlackHole(j)) - { - break; - } - - System.out.println("第" + ++k + "次运算:" + max + "-" + min + " = " + j); - - //获取最大最小的数字 - max = maxNumber(j); - min = minNumber(j); - } - } - - /** - * 求取数字重排后的最大的数字 - * @param num 需要重排的数字 - * @return 重排后得到的最大数字 - */ - private static int maxNumber(int num) { - //将字符串逐一切开 - String[] nums = String.valueOf(num).split(""); - //将切分到的字符串转成数字 - int[] numbers = new int[nums.length]; - for ( int i = 0; i < nums.length; i++ ) { - numbers[i] = Integer.valueOf(nums[i]); - } - - //冒泡排序,按照从大到小的顺序进行排序 - for ( int i = 0; i < numbers.length - 1; i++ ) { - for ( int j = 0; j < numbers.length - 1 - i; j++ ) { - if ( numbers[j] < numbers[j + 1] ) { - int temp = numbers[j]; - numbers[j] = numbers[j + 1]; - numbers[j + 1] = temp; - } - } - } - - //将重排得到的数字组合成字符串 - String numberText = ""; - for ( int number : numbers ) { - numberText += number; - } - //将字符串转换为数字 - return Integer.valueOf(numberText); - } - - /** - * 求取数字重排后的最大的数字 - * @param num 需要重排的数字 - * @return 重排后得到的最大数字 - */ - private static int minNumber(int num) { - //将字符串逐一切开 - String[] nums = String.valueOf(num).split(""); - //将切分到的字符串转成数字 - int[] numbers = new int[nums.length]; - for ( int i = 0; i < nums.length; i++ ) { - numbers[i] = Integer.valueOf(nums[i]); - } - - //冒泡排序,按照从大到小的顺序进行排序 - for ( int i = 0; i < numbers.length - 1; i++ ) { - for ( int j = 0; j < numbers.length - 1 - i; j++ ) { - if ( numbers[j] > numbers[j + 1] ) { - int temp = numbers[j]; - numbers[j] = numbers[j + 1]; - numbers[j + 1] = temp; - } - } - } - - //将重排得到的数字组合成字符串 - String numberText = ""; - for ( int number : numbers ) { - numberText += number; - } - //将字符串转换为数字 - return Integer.valueOf(numberText); - } - - /** - * 用于判断并显示黑洞数 - * @param num 运算结果 - * @return 是否为黑洞数 - */ - private static boolean showBlackHole(int num) { - //用于循环后判断该数字是否为黑洞数 - boolean blackHole = false; - //循环,判断数字是否已在列表中,若存在,则说明计算结果已进入循环,可进行输出 - int i = 0; - for (; i < numList.size(); i++ ) { - if ( numList.get(i) == num ) { - blackHole = true; - break; - } - } - - //若循环结束后,其数字是一个黑洞数,则输出黑洞数,不是,则存储运算结果 - if ( blackHole ) { - System.out.print("黑洞数为:"); - //由于上次循环发现重复后,则直接结束了循环,故此处可以直接衔接上循环来输出结果 - for (; i < numList.size(); i++ ) { - System.out.print(numList.get(i)); - if ( i < numList.size() - 1 ) { - System.out.print("→"); - } - } - } else { - numList.add(num); - } - - return blackHole; - } -} - diff --git a/src/test/java/test/javase/NewFile.xml b/src/test/java/test/javase/NewFile.xml deleted file mode 100644 index b994f53..0000000 --- a/src/test/java/test/javase/NewFile.xml +++ /dev/null @@ -1 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> \ No newline at end of file diff --git a/src/test/java/test/javase/NewFile1.xml b/src/test/java/test/javase/NewFile1.xml deleted file mode 100644 index 854706a..0000000 --- a/src/test/java/test/javase/NewFile1.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project name=""> - <element name='Html'> - <xpath is_use='true'>/html/body/div[4]/div[1]/div[2]/div[1]/a[1]/h4[1]</xpath> - <css is_use='true'>html body div.container.main div.row - div.col.middle-column-home div.codelist.codelist-desktop.cate1 - a.item-top.item-1 h4</css> - </element> -</project> \ No newline at end of file diff --git a/src/test/java/test/javase/PreviousVerisionBugNumber.xml b/src/test/java/test/javase/PreviousVerisionBugNumber.xml deleted file mode 100644 index e6e6e5c..0000000 --- a/src/test/java/test/javase/PreviousVerisionBugNumber.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<bug> - <projected name="泰滴项目"> - <version version="V0.1" time="2018-"> - <one number="1" /> - <two number="21" /> - <three number="34" /> - <four number="10" /> - </version> - <version version="V0.2"> - <one number="0" /> - <two number="10" /> - <three number="23" /> - <four number="3" /> - </version> - </projected> - <projected name="那坡扶贫项目"> - <version version="V0.1"> - <one number="0" /> - <two number="13" /> - <three number="25" /> - <four number="7" /> - </version> - </projected> -</bug> \ No newline at end of file diff --git a/src/test/java/test/javase/RandomPhone.java b/src/test/java/test/javase/RandomPhone.java deleted file mode 100644 index 56ae51f..0000000 --- a/src/test/java/test/javase/RandomPhone.java +++ /dev/null @@ -1,25 +0,0 @@ -package test.javase; - -import pres.auxiliary.tool.string.RandomString; -import pres.auxiliary.tool.string.StringMode; - -public class RandomPhone { - public static void main(String[] args) { - String s = "133,153,180,181,189,177,1700,199"; - RandomString rs = new RandomString(StringMode.NUM); - - for (String ss : s.split("\\,")) { - if (ss.length() == 3) { - System.out.println(ss + rs.toString(8)); - System.out.println(ss + rs.toString(7)); - System.out.println(ss + rs.toString(9)); - System.out.println(ss + "@" + rs.toString(7)); - } else { - System.out.println(ss + rs.toString(7)); - System.out.println(ss + rs.toString(6)); - System.out.println(ss + rs.toString(8)); - System.out.println(ss + "@" + rs.toString(6)); - } - } - } -} diff --git a/src/test/java/test/javase/SweepPlan.java b/src/test/java/test/javase/SweepPlan.java deleted file mode 100644 index 2ce2a6e..0000000 --- a/src/test/java/test/javase/SweepPlan.java +++ /dev/null @@ -1,65 +0,0 @@ -package test.javase; - -import java.util.ArrayList; - -import pres.auxiliary.tool.string.RandomString; - -/** - * FileName: SweepPlan.java - * - * 用于进行值日安排 - * - * @author 彭宇琦 - * @Deta 2019年1月9日 上午9:23:23 - * @version ver1.0 - */ -public class SweepPlan { - public static void main(String[] args) { - //6个值日地点:1表示女厕;2表示男厕;3表示老总办公室、倒垃圾;4表示前台、倒垃圾;5表示大厅;6表示大厅 - RandomString rs = new RandomString("123456"); - rs.setRepeat(false); - String s = ""; - - ArrayList<String> l = new ArrayList<>(); - l.add("彭宇琦");l.add("韦 顺");l.add("蓝石玉");l.add("梁俊宏");l.add("梁叶辰");l.add("梁文玉"); - for ( int j = 1; j < 4; j++ ) { - System.out.println("-----------第" + j + "次结果-----------"); - //分配任务 - while( true ) { - s = rs.toString(6); - //如果女厕未安排女生,则重新安排 - if( s.charAt(4) != '1' && s.charAt(5) != '1' ) { - continue; - } - //如果男厕安排到女生,则重新安排 - if ( s.charAt(4) == '2' || s.charAt(5) == '2' ) { - continue; - } - break; - } - for ( int i = 0; i < l.size(); i++ ) { - System.out.println(l.get(i) + ":" + show(s.charAt(i))); - } - } - } - - //用于将数字翻译成值日位置 - public static String show(char c) { - switch(c) { - case '1' : - return "女厕"; - case '2' : - return "男厕"; - case '3' : - return "老总办公室、倒垃圾"; - case '4' : - return "前台、倒垃圾"; - case '5' : - return "大厅"; - case '6' : - return "大厅"; - default: - return ""; - } - } -} diff --git a/src/test/java/test/javase/Test123.java b/src/test/java/test/javase/Test123.java deleted file mode 100644 index 1fe7551..0000000 --- a/src/test/java/test/javase/Test123.java +++ /dev/null @@ -1,14 +0,0 @@ -package test.javase; - -public class Test123 { - public static void main(String[] args) throws Exception { - String s = "Fgfdsdfg\\sfdggwe\\grew.gsfd.sdf.txt"; - String ss = "Fgfdsdfg\\sfdggwe\\grew"; - - System.out.println(s.split("\\.").length); - System.out.println(ss.split("\\.").length); - - System.out.println("The End"); - //System.out.pri ntln(UUID.randomUUID().toString()); - } -} diff --git a/src/test/java/test/javase/TestAddCase.java b/src/test/java/test/javase/TestAddCase.java deleted file mode 100644 index c85deb6..0000000 --- a/src/test/java/test/javase/TestAddCase.java +++ /dev/null @@ -1,100 +0,0 @@ -package test.javase; - -import java.io.IOException; -import java.lang.reflect.Parameter; - -public class TestAddCase { - public static void main(String[] args) throws IOException { - /* - ZentaoTemplet.setFileName("商品车车辆物流管控平台项目"); - ZentaoTemplet.create(); - - PresetCase p = new PresetCase(); - p.setModule("/商品车车辆物流管控平台/登录"); - p.getUsername().rightLoginCase(); - p.getUsername().errorLoginCase(); - - p.setModule("/商品车车辆物流管控平台/百度地图"); - p.getMap().mapPointCase("车辆"); - p.getMap().rangeFindingCase(); - p.getMap().carLocusPlaybackCase(); - p.getBrowseList().addWebBrowseListCase("实时信息"); - p.getBrowseList().addWebBrowseListCase("报警"); - - p.setModule("/商品车车辆物流管控平台/系统设置/修改密码"); - p.getUsername().alterPasswordCase(); - - p.setModule("/商品车车辆物流管控平台/系统设置/人工确认报警"); - p.getBrowseList().addWebBrowseListCase("报警信息"); - p.getBrowseList().addSelectSearchCase("车组", "报警信息"); - p.getBrowseList().addSelectSearchCase("车辆", "报警信息"); - p.getBrowseList().addSelectSearchCase("处理状态", "报警信息"); - p.getBrowseList().addDateSearchCase("报警时间", true, "报警信息"); - p.getBrowseList().addExportListCase("报警信息", true); - - p.setModule("/商品车车辆物流管控平台/外接设备管理/IC卡查询"); - p.getBrowseList().addWebBrowseListCase("IC卡"); - p.getBrowseList().addInputSearchCase("卡号", "IC卡"); - p.getBrowseList().addDateSearchCase("报警时间", true, "IC卡"); - - p.setModule("/商品车车辆物流管控平台/外接设备管理/IC卡管理"); - p.getAddInformation().setButtonName("添加"); - p.getAddInformation().setInformationName("IC卡"); - p.getAddInformation().setFailExpectation("IC卡添加失败,并给出相应的提示"); - p.getAddInformation().setSuccessExpectation("IC卡添加成功,并显示在下方的IC卡列表中"); - p.getAddInformation().addWholeInformationCase(); - p.getAddInformation().addUnWholeInformationCase(); - p.getAddInformation().addTextboxCase("卡号", true, false, new char[]{InputType.NUM}, null, null); - p.getAddInformation().addTextboxCase("密码", true, true, new char[]{InputType.NUM, InputType.EN}, null, null); - p.getAddInformation().addTextboxCase("确认密码", true, true, new char[]{InputType.NUM, InputType.EN}, null, null); - p.getAddInformation().addSelectboxCase("IC卡类型", true); - p.getAddInformation().addTextboxCase("持卡人", true, true, null, null, null); - p.getAddInformation().addSelectboxCase("模式", true); - - p.getOperateInformation().addEditCase("IC卡"); - - p.getBrowseList().addWebBrowseListCase("IC卡"); - - p.setModule("/商品车车辆物流管控平台/外接设备管理/里程统计信息"); - p.getBrowseList().addWebBrowseListCase("里程信息"); - p.getBrowseList().addInputSearchCase("卡号", "里程信息"); - p.getBrowseList().addDateSearchCase("统计时间", true, "里程信息"); - p.getBrowseList().addExportListCase("里程信息", true); - - p.setModule("/商品车车辆物流管控平台/报表功能/车辆状态查询"); - p.getBrowseList().addWebBrowseListCase("车辆状态"); - p.getBrowseList().addSelectSearchCase("车组", "车辆状态"); - p.getBrowseList().addSelectSearchCase("车辆", "车辆状态"); - p.getBrowseList().addDateSearchCase("不在线时间", false, "车辆状态"); - */ - - A a = new A(); - a.show(); - System.out.println("The End"); - } - - public TestAddCase() { - System.out.println(this.getClass().getSimpleName()); - } -} - -class A extends B { - public void show() { - method(Thread.currentThread().getStackTrace()[Thread.currentThread().getStackTrace().length - 2].getMethodName()); - } -} - -class B { - public void method(String s) { - try { - Parameter[] pars = this.getClass().getMethod(Thread.currentThread(). - getStackTrace()[Thread.currentThread().getStackTrace().length - 3].getMethodName(), String.class).getParameters(); - for ( Parameter par : pars ) { - System.out.println(par.getName()); - } - } catch (NoSuchMethodException | SecurityException e) { - e.printStackTrace(); - } - System.out.println(s); - } -} \ No newline at end of file diff --git a/src/test/java/test/javase/TestAddCellLink.java b/src/test/java/test/javase/TestAddCellLink.java deleted file mode 100644 index b4dcdc3..0000000 --- a/src/test/java/test/javase/TestAddCellLink.java +++ /dev/null @@ -1,50 +0,0 @@ -package test.javase; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; - -import org.apache.poi.common.usermodel.HyperlinkType; -import org.apache.poi.ss.usermodel.CreationHelper; -import org.apache.poi.xssf.usermodel.XSSFCell; -import org.apache.poi.xssf.usermodel.XSSFHyperlink; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; - -public class TestAddCellLink { - public static void main(String[] args) throws Exception { - // 构造ecxel对象 - XSSFWorkbook xw = null; - File f = new File("C:\\AutoTest\\Record\\AutoTestRecord - 副本.xlsx"); - try { - FileInputStream fip = new FileInputStream(f); - xw = new XSSFWorkbook(fip); - fip.close(); - } catch (IOException e) { - e.printStackTrace(); - } - - XSSFCell xc = xw.getSheet("运行记录").getRow(2).getCell(3); - - // 使用creationHelpper来创建XSSFHyperlink对象 - CreationHelper createHelper = xw.getCreationHelper(); - XSSFHyperlink link = (XSSFHyperlink) createHelper.createHyperlink(HyperlinkType.DOCUMENT); - link.setAddress("#错误记录!A2"); - xc.setHyperlink(link); - - // 将内容写入文件 - try { - FileOutputStream fop = new FileOutputStream(new File("C:\\AutoTest\\Record\\AutoTestRecord - 副本.xlsx")); - xw.write(fop); - fop.close(); - xw.close(); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - - java.awt.Desktop.getDesktop().open(new File("C:\\AutoTest\\Record\\AutoTestRecord - 副本.xlsx")); - } -} diff --git a/src/test/java/test/javase/TestArrayList.java b/src/test/java/test/javase/TestArrayList.java deleted file mode 100644 index 7fc0c94..0000000 --- a/src/test/java/test/javase/TestArrayList.java +++ /dev/null @@ -1,30 +0,0 @@ -package test.javase; - -import java.util.ArrayList; -import java.util.Date; -import java.util.Random; - -import pres.auxiliary.tool.string.RandomString; -import pres.auxiliary.tool.string.StringMode; - -public class TestArrayList { - - public static void main(String[] args) { - ArrayList<String> al = new ArrayList<String>(); - int count = 10000000; - - System.out.println("开始添加" + count + "个随机内容"); - Date start = new Date(); - for (int i = 0; i < count; i++) { - al.add(new RandomString(StringMode.CH).toString(10, 30)); - } - System.out.println("添加完毕,耗时:" + (new Date().getTime() - start.getTime())); - System.out.println("随机抽取10个内容"); - start = new Date(); - for (int i = 0; i < 10; i++) { - System.out.println("第" + (i + 1) + "个内容:" + al.get(new Random().nextInt(10000))); - } - System.out.println("抽取完毕,耗时:" + (new Date().getTime() - start.getTime())); - } - -} diff --git a/src/test/java/test/javase/TestAutoWriteReport.java b/src/test/java/test/javase/TestAutoWriteReport.java deleted file mode 100644 index 6b1d4a0..0000000 --- a/src/test/java/test/javase/TestAutoWriteReport.java +++ /dev/null @@ -1,39 +0,0 @@ -package test.javase; - -import pres.auxiliary.report.ui.TestReportUI; - -public class TestAutoWriteReport { - public static void main(String[] args) { - //TestReport tr = new TestReport(); - //System.out.println(tr.AutoWriteReport(true, true)); - //TestReportMainFrame.Main(); - TestReportUI.open(); - //tr.compressReportFile(new File("C:\\AutoTest\\Report\\隆安OA扶贫项目Ver0.4版本测试报告")); - //System.out.println("The End"); -// System.out.println(new File("E:\\Work\\1.项目测试\\隆安OA项目\\扶贫后台管理系统\\V0.2\\隆安OA扶贫项目Ver0.2版本测试报告").getParent()); -// System.out.println(new File("E:\\Work\\1.项目测试\\隆安OA项目\\扶贫后台管理系统\\V0.2\\隆安OA扶贫项目Ver0.2版本测试报告").getName()); - /* - //网络不好时使用 - tr.createReport(bugListFile, testDay, person, range); - tr.compressReportFile(new File("C:\\AutoTest\\Report\\隆安OA扶贫项目Ver0.4版本测试报告")); - tr.sandMail(tr.getMailContent(), "隆安OA扶贫项目", "隆安OA扶贫项目Ver0.4版本测试报告", new File("C:\\AutoTest\\Report\\隆安OA扶贫项目Ver0.4版本测试报告.zip")); - */ - - /* - String[][] ts = tr.getMailToAndCc("那坡县"); - - for (String[] s : ts) { - for (String ss : s) { - System.out.println(ss); - } - } - */ - - //System.out.println(s()); - //System.out.println(new Random().nextDouble()); - /* - UUID uuid = UUID.randomUUID(); - System.out.println(uuid); - */ - } -} diff --git a/src/test/java/test/javase/TestBefore.java b/src/test/java/test/javase/TestBefore.java deleted file mode 100644 index 6fff570..0000000 --- a/src/test/java/test/javase/TestBefore.java +++ /dev/null @@ -1,22 +0,0 @@ -package test.javase; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -public class TestBefore { - @Test - public static void show() { - System.out.println("haha"); - } - - @Before - public static void before() { - System.out.println("xixi"); - } - - @After - public static void after() { - System.out.println("hehe"); - } -} diff --git a/src/test/java/test/javase/TestCase.xml b/src/test/java/test/javase/TestCase.xml deleted file mode 100644 index 9d609e0..0000000 --- a/src/test/java/test/javase/TestCase.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<templet name="AddInformation"> - <case name="addTextboxCase"> - <前置依赖配置>新增不同&name&的&informationName</前置依赖配置> - <title>新增不同&name&的&informationName - - 不填写或只输入空格,点击“&ButtonName&”按钮 - - - 不填写或只输入空格,点击“&ButtonName&”按钮 - - - 填写特殊字符或HTML代码,点击“&ButtonName&”按钮 - - - 输入非&CharType&字符,点击“&ButtonName&”按钮 - - - - <前置依赖配置>新增不同&name&的&informationName - 新增不同&name&的&informationName - - 不填写或只输入空格,点击“&ButtonName&”按钮 - - - 不填写或只输入空格,点击“&ButtonName&”按钮 - - - 填写特殊字符或HTML代码,点击“&ButtonName&”按钮 - - - 输入非&CharType&字符,点击“&ButtonName&”按钮 - - - \ No newline at end of file diff --git a/src/test/java/test/javase/TestCase2.java b/src/test/java/test/javase/TestCase2.java deleted file mode 100644 index 8106f02..0000000 --- a/src/test/java/test/javase/TestCase2.java +++ /dev/null @@ -1,91 +0,0 @@ -package test.javase; - -import java.io.IOException; - -import pres.auxiliary.tool.string.RandomString; -import pres.auxiliary.tool.string.StringMode; -import pres.auxiliary.work.old.testcase.templet.ZentaoTemplet; - -public class TestCase2 { - public static void main(String[] args) throws IOException { - String s = "测试" + new RandomString(StringMode.ALL).toString(); - ZentaoTemplet.setSavePath("E:\\"); - ZentaoTemplet.setFileName(s); - ZentaoTemplet.create(); - - /* - AddInformation a = new AddInformation(); - - a.setModule("测试模块"); - a.setPrecondition("已在新增信息界面", "所有信息均正确填写"); - a.setSuccessExpectation("新增成功"); - a.setFailExpectation("新增失败"); - a.setButtonName("提交"); - a.setInformationName("活动"); - - a.addWholeInformationCase().setTab("哈哈").setRowColorTab(Tab.BLUE); - - System.out.println("Step:"); - System.out.println(a.getStep()); - System.out.println("Expectation:"); - System.out.println(a.getExpectation()); - System.out.println(); - - a.addUnWholeInformationCase(); - - System.out.println("Step:"); - System.out.println(a.getStep()); - System.out.println("Expectation:"); - System.out.println(a.getExpectation()); - System.out.println(); - */ - - /* - AddInformation a = new AddInformation(); - BrowseList b = new BrowseList(); - MyCase c = new MyCase(); - - a.setModule("测试模块"); - a.setPrecondition("已在新增信息界面", "所有信息均正确填写"); - a.setSuccessExpectation("新增成功"); - a.setFailExpectation("新增失败"); - a.setButtonName("提交"); - a.setInformationName("活动"); - - a.addWholeInformationCase().setTab("哈哈").setRowColorTab(Tab.BLUE); - a.addUnWholeInformationCase(); - a.addTextboxCase("名称", true, false, null, new int[]{a.NUM_NAN, 10}, null); - - //实验自定义 - c.addTitle("新增不同电话号码的人物"). - addStep("我去", "我不去"). - addExpectation("输入失败"). - addKeyword("新增", "电话号码"). - addRank(1). - addPrecondition("已在新增页面", "所有信息均正确填写"). - end(). - setRowColorTab(Tab.GREEN); - - a.addTextboxCase("活动代号", true, false, new char[]{InputType.NUM, InputType.EN}, new int[]{5, a.NUM_NAN}, null); - a.addSelectboxCase("活动类型", true); - a.addTextboxCase("参与人数", false, true, new char[]{InputType.NUM}, null, new int[]{10, 50}); - a.addTextboxCase("实到人数", false, true, new char[]{a.INPUT.NUM}, null, new int[]{a.NUM_NAN, 50}); - a.addTextboxCase("活动地点", false, true, null, new int[]{10, 30}, null); - a.addStartDateCase("活动开始时间", true, true, "true"); - a.addEndDateCase("活动结束时间", true, true, "false"); - a.addDateCase("出发日期", false, true); - a.addCheckboxCase("出行工具", false); - a.addRadioButtonCase("主持人性别", false); - a.addPhoneCase("主持人电话", false, true, PhoneType.MOBLE); - a.addIDCardCase("主持人身份证号", false, true); - a.addUploadImageCase("活动剪影", true, false, false, true, false, new char[]{a.FILE.JPG, a.FILE.BMP, a.FILE.PNG}, new int[]{3, a.NUM_NAN}); - a.addUploadFileCase("活动事项及通知", false, false, false, new char[]{a.FILE.DOC, a.FILE.DOCX, a.FILE.XLS, a.FILE.XLSX, a.FILE.TXT}, null); - - b.addAppBrowseListCase("活动列表"); - b.addWebBrowseListCase("活动列表"); -// b.addSearchCase("名称", "活动地点", "主持人姓名", "活动代号"); - */ - - System.out.println("The end"); - } -} diff --git a/src/test/java/test/javase/TestCase3.java b/src/test/java/test/javase/TestCase3.java deleted file mode 100644 index 4b2cde6..0000000 --- a/src/test/java/test/javase/TestCase3.java +++ /dev/null @@ -1,56 +0,0 @@ -package test.javase; - -import java.io.IOException; - -/** - * FileName: TestCase3.java - * - * 用于测试2018年6月13日最近编写的测试用例模版的正确性 - * - * @author 彭宇琦 - * @Deta 2018年6月13日 上午10:09:27 - * @version ver1.0 - */ -public class TestCase3 { - public static void main(String[] args) throws IOException { - /* - ZentaoTemplet.setFileName(new SimpleDateFormat("yyyyMMddHHmmss").format(new Date())); - ZentaoTemplet.create(); - - PresetCase p = new PresetCase(); - - p.setModule("测试模块"); - p.getMap().carLocusPlaybackCase(); - p.getMap().mapPointCase("车辆"); - p.getMap().mapSearchInformationCase("车牌号", "车辆"); - p.getMap().rangeFindingCase(); - p.getMap().showLocusCase("点轨迹", "线轨迹", "全部轨迹"); - p.getVideo().playVideoCase(true); - p.getVideo().videoAdvanceCase(true, true); - p.getVideo().videoScreenshotCase(); - p.getVideo().videoProgressBarCase(); - p.getVideo().videoSpeedCase(true); - p.getVideo().fullScreenPlayCase(); - p.getVideo().setVideoType("录像"); - p.getVideo().fullScreenPlayCase(); - p.getVideo().videoSpeedCase(true); - p.getUsername().alterPasswordCase(); - p.getUsername().usernameRegisterCase(true); - p.getUsername().passwordRegisterOrForgetCase("注册"); - p.getUsername().codeRegisterOrForgetCase("注册", true); - p.getUsername().usernameForgetCase(); - p.getUsername().passwordRegisterOrForgetCase("忘记密码"); - p.getUsername().codeRegisterOrForgetCase("忘记密码", true); - - Username u = new Username(new File("E:\\泰滴后台管理系统测试用例.xlsx")); - u.setModule("呵呵"); - u.codeRegisterOrForgetCase("注册", true); - java.awt.Desktop.getDesktop().open(new File("E:\\")); - //java.awt.Desktop.getDesktop().open(new File(ZentaoTemplet.getSavePath())); - */ - - String s = "hahahahhah"; - - System.out.println(s.substring(s.indexOf("5"))); - } -} diff --git a/src/test/java/test/javase/TestCreateXml.java b/src/test/java/test/javase/TestCreateXml.java deleted file mode 100644 index 61933c4..0000000 --- a/src/test/java/test/javase/TestCreateXml.java +++ /dev/null @@ -1,12 +0,0 @@ -package test.javase; - -import java.io.File; - - -public class TestCreateXml { - public static void main(String[] args) throws XmlFileNameIsNullException { - CreateXml.setMode(CreateXml.XPATH, CreateXml.CSS); - CreateXml.create(new File("ConfigurationFiles/ReportConfigurationFile/txt").listFiles()); - System.out.println("The End"); - } -} diff --git a/src/test/java/test/javase/TestCsv.java b/src/test/java/test/javase/TestCsv.java deleted file mode 100644 index 5d94c81..0000000 --- a/src/test/java/test/javase/TestCsv.java +++ /dev/null @@ -1,20 +0,0 @@ -package test.javase; - -import java.io.File; -import java.io.FileReader; - -import com.opencsv.CSVReader; - -public class TestCsv { - public static void main(String[] args) throws Exception { - CSVReader csv = new CSVReader(new FileReader(new File("src/test/java/test/javase/resource/test.csv"))); - String[] s; - while((s = csv.readNext()) != null) { - for (String ss : s) { - System.out.println(ss); - } - } - - csv.close(); - } -} diff --git a/src/test/java/test/javase/TestDate.java b/src/test/java/test/javase/TestDate.java deleted file mode 100644 index f24670a..0000000 --- a/src/test/java/test/javase/TestDate.java +++ /dev/null @@ -1,58 +0,0 @@ -package test.javase; - -import java.io.IOException; - -public class TestDate { - public static void main(String[] args) throws IOException { - /* - Date d = new Date(); - System.out.println(new SimpleDateFormat("yyyy.MM.dd").format(d)); - d.setDate(d.getDate() + 50); - System.out.println(new SimpleDateFormat("yyyy.MM.dd").format(d)); - - System.out.println(new File("C:\\tes1t").exists()); - - // 用于读取模版文件 - BufferedInputStream bis = new BufferedInputStream(new FileInputStream(new File("Templet\\TestReportTemplet.docx"))); - // 用于创建用户定义的文件夹 - File f = new File("C:\\AutoTest\\TestReport"); - // 判断文件夹是否创建,若已创建则不再创建 - if (!f.exists()) { - f.mkdirs(); - } - // 用于写入到用户定义的文件夹中 - BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(f + "\\copy.docx")); - // 用于作为缓冲的byte数组 - byte[] b = new byte[1024]; - - // 读取文本的一段 - int i = bis.read(b); - - // 循环,直至文本被完全写入 - while (i != -1) { - bos.write(b); - bos.flush(); - i = bis.read(b); - } - - // 关闭流 - bis.close(); - bos.close(); - */ - - String s = "1.2.3-4-5-6-7-8-9"; - String[] ss; - ss = s.split("\\."); - for (String sss : ss) { - System.out.println(sss); - } - System.out.println(); - - ss = ss[2].split("-"); - for (String sss : ss) { - System.out.println(sss); - } - System.out.println(Integer.MAX_VALUE); - System.out.println("The End"); - } -} diff --git a/src/test/java/test/javase/TestDisposeCaseFile.java b/src/test/java/test/javase/TestDisposeCaseFile.java deleted file mode 100644 index aee7afa..0000000 --- a/src/test/java/test/javase/TestDisposeCaseFile.java +++ /dev/null @@ -1,22 +0,0 @@ -package test.javase; - -import java.io.File; -import java.io.IOException; - -import pres.auxiliary.work.old.testcase.templet.ZentaoTemplet; - -/** - * FileName: TestDisposeCaseFile.java - * - * 用于测试处理测试用例文件方法 - * - * @author 彭宇琦 - * @Deta 2018年6月22日 下午5:44:01 - * @version ver1.0 - */ -public class TestDisposeCaseFile { - public static void main(String[] args) throws IOException { - ZentaoTemplet.disposeCaseFile(new File("E:\\Case.xlsx")); - System.out.println("The End"); - } -} diff --git a/src/test/java/test/javase/TestEn.java b/src/test/java/test/javase/TestEn.java deleted file mode 100644 index 328c5f9..0000000 --- a/src/test/java/test/javase/TestEn.java +++ /dev/null @@ -1,10 +0,0 @@ -package test.javase; - -import pres.auxiliary.work.old.testcase.writecase.InputType; - -public class TestEn { - public static void main(String[] args) { - InputType INPUT = null; - System.out.println(InputType.CH); - } -} diff --git a/src/test/java/test/javase/TestGetText.java b/src/test/java/test/javase/TestGetText.java deleted file mode 100644 index c8628d6..0000000 --- a/src/test/java/test/javase/TestGetText.java +++ /dev/null @@ -1,13 +0,0 @@ -package test.javase; - -import org.openqa.selenium.By; -import org.openqa.selenium.WebDriver; - -public class TestGetText { - public static void main(String[] args) { - FirefoxBrower fb = new FirefoxBrower("http://www.hao123.com"); - WebDriver d = fb.getDriver(); - - System.out.println(d.findElement(By.xpath("//*[@id=\"menus\"]/li[4]/a")).getText()); - } -} diff --git a/src/test/java/test/javase/TestJSONObject.java b/src/test/java/test/javase/TestJSONObject.java deleted file mode 100644 index 6506e43..0000000 --- a/src/test/java/test/javase/TestJSONObject.java +++ /dev/null @@ -1,69 +0,0 @@ -package test.javase; - -import java.util.Arrays; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; - -public class TestJSONObject { - public static void main(String[] args) { - JSONObject methodJson1 = new JSONObject(); - methodJson1.put("name", "测试方法1"); - methodJson1.put("bug", 5); - methodJson1.put("step", 7); - methodJson1.put("isBugMethod", false); - - JSONObject methodJson2 = new JSONObject(); - methodJson2.put("name", "测试方法2"); - methodJson2.put("bug", 1); - methodJson2.put("step", 3); - methodJson2.put("isBugMethod", true); - - JSONObject methodJson3 = new JSONObject(); - methodJson3.put("name", "测试方法3"); - methodJson3.put("bug", 4); - methodJson3.put("step", 10); - methodJson3.put("isBugMethod", false); - - JSONObject testClassJson1 = new JSONObject(); - testClassJson1.put("name", "测试类1"); - testClassJson1.put("method", Arrays.asList(methodJson1.toString(), methodJson2.toString())); - - JSONObject testClassJson2 = new JSONObject(); - testClassJson2.put("name", "测试类2"); - testClassJson2.put("method", Arrays.asList(methodJson3.toString())); - - JSONObject moduleJson = new JSONObject(); - moduleJson.put("name", "测试模块"); - moduleJson.put("testClass", Arrays.asList(testClassJson1.toString(), testClassJson2.toString())); - - //System.out.println(moduleJson); - - System.out.println("模块信息输出:"); - JSONObject outputModuleJson = JSON.parseObject(moduleJson.toString()); - System.out.println(outputModuleJson.get("name")); - outputModuleJson.getJSONArray("testClass").forEach(System.out :: println); - System.out.println("-".repeat(20)); - - System.out.println("测试类输出:"); - outputModuleJson.getJSONArray("testClass").forEach(testClassJson -> { - JSONObject outputTestClassJson = JSON.parseObject(testClassJson.toString()); - System.out.println(outputTestClassJson.get("name")); - outputTestClassJson.getJSONArray("method").forEach(System.out :: println); - }); - System.out.println("-".repeat(20)); - - System.out.println("测试方法输出:"); - outputModuleJson.getJSONArray("testClass").forEach(testClassJson -> { - JSONObject outputTestClassJson = JSON.parseObject(testClassJson.toString()); - outputTestClassJson.getJSONArray("method").forEach(methodJson -> { - JSONObject outputMethodJson = JSON.parseObject(methodJson.toString()); - System.out.println(outputMethodJson.get("name")); - System.out.println(outputMethodJson.get("step")); - System.out.println(outputMethodJson.get("bug")); - System.out.println(outputMethodJson.get("isBugMethod")); - }); - }); - System.out.println("-".repeat(20)); - } -} diff --git a/src/test/java/test/javase/TestLambda.java b/src/test/java/test/javase/TestLambda.java deleted file mode 100644 index 1897f8f..0000000 --- a/src/test/java/test/javase/TestLambda.java +++ /dev/null @@ -1,18 +0,0 @@ -package test.javase; - -import java.util.ArrayList; -import java.util.Collection; - -public class TestLambda { - public static void main(String[] args) { - //lambda遍历Collection - Collection l = new ArrayList(); - l.add("haha"); - l.add("xixi"); - l.add("gege"); - l.forEach(c -> { - c += "1"; - System.out.println(c); - }); - } -} diff --git a/src/test/java/test/javase/TestList.java b/src/test/java/test/javase/TestList.java deleted file mode 100644 index d4cf9e6..0000000 --- a/src/test/java/test/javase/TestList.java +++ /dev/null @@ -1,100 +0,0 @@ -package test.javase; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import org.testng.annotations.Test; - -public class TestList { - @Test - public void test() { - //TODO - SwitchFrame sf = new SwitchFrame(); - } - - class SwitchFrame { - private ArrayList parentIframeList = new ArrayList(); - - ArrayList iframeNameList = new ArrayList(); - - public SwitchFrame() { - parentIframeList.add("f1"); - parentIframeList.add("f2"); - parentIframeList.add("f3"); - } - - /** - * 该方法用于将窗体切回顶层,当本身是在最顶层时,则该方法将使用无效 - */ - public void switchRootFrame() { - //清空iframeNameList中的内容 - iframeNameList.clear(); - } - - /** - * 该方法用于将窗体切换到上一层(父层)。若当前层只有一层,则调用方法后切回顶层; - * 若当前层为最顶层时,则该方法将使用无效 - */ - public void switchParentFrame() { - //若iframeNameList大于1层,则向上切换窗体 - if (iframeNameList.size() > 1) { - iframeNameList.remove(iframeNameList.size() - 1); - } else if (iframeNameList.size() == 1) { - //若iframeNameList等于1层,则调用切换至顶层的方法 - switchRootFrame(); - } else { - //若iframeNameList小于1层,则不做操作 - return; - } - } - - /** - * 通过传入在xml文件中的控件名称,到类中指向的xml文件中查找控件 - * 名称对应的定位方式,或直接传入xpath与css定位方式, - * 根据定位方式对相应的窗体进行定位。当传入的窗体为当前窗体的前层(父层)窗体时, - * 通过该方法将调用切换父层的方法,将窗体切换到父层上,例如:
- * 当前存在f1, f2, f3, f4四层窗体,则调用方法:
- * switchFrame("f2")
- * 此时窗体将回到f2层,无需再从顶层开始向下切换。
- * 注意,窗体的切换按照从前向后的顺序进行切换,切换顺序不能相反 - * - * @param names 窗体的名称或xpath与css定位方式 - */ - public void switchFrame(String...names) { - switchFrame(Arrays.asList(names)); - } - - /** - * 通过传入在xml文件中的控件名称,到类中指向的xml文件中查找控件 - * 名称对应的定位方式,或直接传入xpath与css定位方式, - * 根据定位方式对相应的窗体进行定位。当传入的窗体为当前窗体的前层(父层)窗体时, - * 通过该方法将调用切换父层的方法,将窗体切换到父层上,例如:
- * 当前存在f1, f2, f3, f4四层窗体,则调用方法:
- * List nameList = new ArrayList();
- * nameList.add("f2");
- * switchFrame(nameList)
- * 此时窗体将回到f2层,无需再从顶层开始向下切换。
- * 注意,窗体的切换按照从前向后的顺序进行切换,切换顺序不能相反 - * - * @param nameList 存储窗体的名称或xpath与css定位方式的List集合 - */ - public void switchFrame(List nameList) { - nameList.forEach(name -> { - //判断name指向的窗体是否在iframeNameList中,若存在,则向上切换父层,直到切换到name指向的窗体;若不存在,则直接切换,并添加窗体名称 - if (iframeNameList.contains(name)) { - //获取name窗体在iframeNameList中的位置 - int index = iframeNameList.indexOf(name); - //获取需要向上切换窗体的次数,公式为推断出来 - int count = iframeNameList.size() - index - 1; - for (int i = 0; i < count; i++) { - switchParentFrame(); - } - } else { - //切换窗体 - iframeNameList.add(name); - } - }); - } - } -} diff --git a/src/test/java/test/javase/TestMakeDirector.java b/src/test/java/test/javase/TestMakeDirector.java deleted file mode 100644 index ce08934..0000000 --- a/src/test/java/test/javase/TestMakeDirector.java +++ /dev/null @@ -1,10 +0,0 @@ -package test.javase; - -public class TestMakeDirector { - public static void main(String[] args) { -// MakeDirectory.createAllFolder(); - MakeDirectory.setSavePath("C:"); - MakeDirectory.createAllFolder(); - System.out.println("The End"); - } -} diff --git a/src/test/java/test/javase/TestMap.java b/src/test/java/test/javase/TestMap.java deleted file mode 100644 index d4dc66d..0000000 --- a/src/test/java/test/javase/TestMap.java +++ /dev/null @@ -1,17 +0,0 @@ -package test.javase; - -import java.util.HashMap; - -import org.testng.annotations.Test; - -public class TestMap { - HashMap map = new HashMap(16); - - /** - * 用于测试map移除不存在的元素 - */ - @Test - public void removeTest() { - System.out.println(map.remove("hehe")); - } -} diff --git a/src/test/java/test/javase/TestOpenBrowers.java b/src/test/java/test/javase/TestOpenBrowers.java deleted file mode 100644 index aecd135..0000000 --- a/src/test/java/test/javase/TestOpenBrowers.java +++ /dev/null @@ -1,16 +0,0 @@ -package test.javase; - -import org.openqa.selenium.By; -import org.openqa.selenium.WebDriver; - -public class TestOpenBrowers { - public static void main(String[] args) { - //FirefoxBrower fb = new FirefoxBrower("C:\\Program Files (x86)\\firefox46\\firefox.exe", "http://www.hao123.com"); - //WebDriver d = fb.getDriver(); - //By by = By.xpath("/html/body/"); - //System.out.println(by.toString()); - ChromeBrower cb = new ChromeBrower("E:\\chromedriver.exe", "http://www.hao123.com"); - WebDriver d = cb.getDriver(); - System.out.println("The End"); - } -} diff --git a/src/test/java/test/javase/TestPOI.java b/src/test/java/test/javase/TestPOI.java deleted file mode 100644 index 5e0c058..0000000 --- a/src/test/java/test/javase/TestPOI.java +++ /dev/null @@ -1,31 +0,0 @@ -package test.javase; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.text.SimpleDateFormat; - -import org.apache.poi.ss.usermodel.CellType; -import org.apache.poi.xssf.usermodel.XSSFSheet; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; - -public class TestPOI { - public static void main(String[] args) throws FileNotFoundException, IOException { - XSSFWorkbook xw = new XSSFWorkbook(new FileInputStream(new File("D:\\8.test\\TestReadDateFormat\\测试文件.xlsx"))); - XSSFSheet xs = xw.getSheetAt(0); - for (int i = 0; i < xs.getLastRowNum() + 1; i++) { - if (xs.getRow(i).getCell(0) == null) { - - } - if (xs.getRow(i).getCell(0).getCellTypeEnum() == CellType.NUMERIC - && !xs.getRow(i).getCell(0).getCellStyle().getDataFormatString().equalsIgnoreCase("General")) { - System.out.println(new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒") - .format(xs.getRow(i).getCell(0).getDateCellValue())); - } else { - System.out.println(xs.getRow(i).getCell(0).toString().replaceFirst("\\.0", "")); - } - System.out.println("-".repeat(11)); - } - } -} diff --git a/src/test/java/test/javase/TestPOIData.java b/src/test/java/test/javase/TestPOIData.java deleted file mode 100644 index 5e01886..0000000 --- a/src/test/java/test/javase/TestPOIData.java +++ /dev/null @@ -1,72 +0,0 @@ -package test.javase; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; - -import org.apache.poi.ss.usermodel.DataValidation; -import org.apache.poi.ss.usermodel.DataValidationConstraint; -import org.apache.poi.ss.util.CellRangeAddressList; -import org.apache.poi.xssf.usermodel.XSSFDataValidationConstraint; -import org.apache.poi.xssf.usermodel.XSSFDataValidationHelper; -import org.apache.poi.xssf.usermodel.XSSFRow; -import org.apache.poi.xssf.usermodel.XSSFSheet; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; - -public class TestPOIData { - public static void main(String[] args) throws IOException { - // 创建excel文件 - XSSFWorkbook xw = new XSSFWorkbook(); - XSSFSheet xs1 = xw.createSheet("测试"); - XSSFSheet xs2 = xw.createSheet("数据"); - - xs1.createRow(0); - // 加载下拉列表内容,由于Excel对序列有字数的限制,无法添加大量的数据进入序列,所以需要使用以下的方法实现 - XSSFDataValidationConstraint constraint1 = - new XSSFDataValidationConstraint(new String[] { "呵呵", "哈哈", "嘻嘻" }); - // 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列 - CellRangeAddressList regions = new CellRangeAddressList(0, 0, 0, 0); - // 数据有效性对象 - DataValidation d = new XSSFDataValidationHelper(xs1).createValidation(constraint1, regions); - xs1.addValidationData(d); - - // 创建一列数据 - xs2.createRow(0).createCell(0).setCellValue("我"); - xs2.createRow(1).createCell(0).setCellValue("嘞"); - xs2.createRow(2).createCell(0).setCellValue("个"); - xs2.createRow(3).createCell(0).setCellValue("去"); - xs2.createRow(4).createCell(0).setCellValue("啊"); - xs2.createRow(5).createCell(0).setCellValue("!"); - - XSSFRow xr2 = xs1.createRow(1); - - // 创建公式约束 - DataValidationConstraint constraint2 = new XSSFDataValidationHelper(xs1) - .createFormulaListConstraint("=数据!$A$1:$A$" + String.valueOf(xs2.getLastRowNum() + 1)); - - // 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列 - CellRangeAddressList regions2 = new CellRangeAddressList(0, 0, 1, 1); - // 数据有效性对象 - DataValidation d2 = new XSSFDataValidationHelper(xs1).createValidation(constraint2, regions2); - xs1.addValidationData(d2); - - System.out.println(xs1.getLastRowNum()); - - File f = new File("E:\\Test\\haha.xlsx"); - - // 将预设内容写入Excel文件中,异常直接处理,不抛出 - try { - // 定义输出流,用于向指定的Excel文件中写入内容 - FileOutputStream fop = new FileOutputStream(f); - // 写入文件 - xw.write(fop); - // 关闭流 - fop.close(); - xw.close(); - } catch (IOException e) { - e.printStackTrace(); - } - - java.awt.Desktop.getDesktop().open(f); - } -} diff --git a/src/test/java/test/javase/TestPresetStr.java b/src/test/java/test/javase/TestPresetStr.java deleted file mode 100644 index 848ebff..0000000 --- a/src/test/java/test/javase/TestPresetStr.java +++ /dev/null @@ -1,18 +0,0 @@ -package test.javase; - -import pres.auxiliary.tool.string.CarLicecenType; -import pres.auxiliary.tool.string.PresetString; -import pres.auxiliary.tool.string.RandomString; -import pres.auxiliary.tool.string.StringMode; - -public class TestPresetStr { - public static void main(String[] args) { - System.out.println("民用车牌:" + PresetString.carLicence()); - System.out.println("警用车牌:" + PresetString.carLicence(CarLicecenType.POLICE)); - System.out.println("使馆车牌:" + PresetString.carLicence(CarLicecenType.ELCHEE)); - System.out.println("新能源汽车车牌:" + PresetString.carLicence(CarLicecenType.ENERGY)); - System.out.println("身份证:" + PresetString.IdentityCard()); - System.out.println("姓名:" + PresetString.name()); - System.out.println("手机号码:139" + new RandomString(StringMode.NUM).toString(8)); - } -} diff --git a/src/test/java/test/javase/TestRandom.java b/src/test/java/test/javase/TestRandom.java deleted file mode 100644 index e51e923..0000000 --- a/src/test/java/test/javase/TestRandom.java +++ /dev/null @@ -1,42 +0,0 @@ -package test.javase; - -import java.util.Random; - -public class TestRandom { - public static void main(String[] args) { -// System.out.println(Math.ceil(3.5)); -// System.out.println(0 - new Random().nextInt(90)); -// System.out.print("数字:"); -// int num = new Scanner(System.in).nextInt(); -// System.out.print("数量:"); -// int count = new Scanner(System.in).nextInt(); - - int num = 30000000; - int count = 3; - - int[] nums = new int[count]; - - // 向下取整获得平均数 - int avgNum = num / count; - // 向上取整获得差值 - int diffNum = (int) Math.ceil(avgNum / 10.0); - - int minNum = avgNum - diffNum; - int maxNum = avgNum + diffNum; - - int sum = 0; - for (int i = 0; i < count; i++) { - int ranNum = new Random().nextInt(maxNum - minNum + 1) + minNum; - sum += ranNum; - nums[i] = ranNum; - } - - nums[new Random().nextInt(count)] -= (sum - num); - - sum = 0; - for (int i = 0; i < count; i++) { - System.out.println("第" + (i + 1) + "个控件填写:" + nums[i]); - sum += nums[i]; - } - } -} diff --git a/src/test/java/test/javase/TestRandomString.java b/src/test/java/test/javase/TestRandomString.java deleted file mode 100644 index 5925bca..0000000 --- a/src/test/java/test/javase/TestRandomString.java +++ /dev/null @@ -1,153 +0,0 @@ -package test.javase; - -import pres.auxiliary.tool.string.RandomString; - -public class TestRandomString { - public static void main(String[] args) { - RandomString rs = new RandomString(); - rs.addMode("asdf"); - //System.out.println(rs.getStringSeed()); - //System.out.println(rs.toString(50)); - - System.out.println(rs.getStringSeed()); - rs.shuffle(); - System.out.println(rs.getStringSeed()); - System.out.println("---------------------"); - - rs.setRepeat(false); - rs.setDispose(rs.DISPOSE_IGNORE); - System.out.println(rs.toString(6)); - System.out.println(rs.getStringSeed()); - System.out.println("---------------------"); - - /* - try { - rs.setDispose(rs.DISPOSE_THROW_EXCEPTION); - System.out.println(rs.toString(6)); - } catch (LllegalStringLengthException e) { - e.printStackTrace(); - } - System.out.println("---------------------"); - */ - - System.out.println(rs.getStringSeed()); - rs.setDispose(rs.DISPOSE_REPEAT); - System.out.println(rs.toString(8)); - System.out.println(rs.getStringSeed()); - System.out.println("---------------------"); - - System.out.println(rs.toString(3)); - rs.setRepeat(true); - System.out.println(rs.toString(3)); - System.out.println("---------------------"); - - rs.setRepeat(false); - System.out.println(rs.toString(4)); - rs.setRepeat(true); - System.out.println(rs.toString(4)); - System.out.println("---------------------"); - - rs.setRepeat(false); - System.out.println(rs.toString(8)); - rs.setRepeat(true); - System.out.println(rs.toString(8)); - System.out.println("---------------------"); - /* - System.out.println("中文名:" + new RandomString(StringMode.CH)); - System.out.println("英文名:" + new RandomString(StringMode.CAP)); - */ - - /* - System.out.println("测试构造方法:"); - - RandomString rs1 = new RandomString(); - System.out.println("无参构造产生的字符串池为:" + rs1.getStringSeed()); - - RandomString rs2 = new RandomString(StringMode.NUM); - System.out.println("传入大写字母模型的构造产生的字符串池为:" + rs2.getStringSeed()); - - RandomString rs3 = new RandomString("AThis is my RandomString class"); - System.out.println("传入自定义字符串的参构造产生的字符串池为:" + rs3.getStringSeed()); - - System.out.println("----------------------------------------------"); - System.out.println("测试普通方法:"); - System.out.println("测试getStringSeed()方法:"); - System.out.println(rs2.getStringSeed()); - System.out.println(); - - System.out.println("测试addMode(StringMode... modes)方法:"); - System.out.println("rs1调用方法前:" + rs1.getStringSeed()); - rs1.addMode(StringMode.LOW); - System.out.println("rs1添加LOW模型后:" + rs1.getStringSeed()); - System.out.println(); - - System.out.println("测试addMode(boolean isRepeat, StringMode... modes)方法:"); - System.out.println("rs1调用方法前:" + rs1.getStringSeed()); - rs1.addMode(false, StringMode.LOW); - System.out.println("rs1再次添加LOW模型(不可重复)后:" + rs1.getStringSeed()); - rs1.addMode(true, StringMode.LOW); - System.out.println("rs1再次添加LOW模型(可重复)后:" + rs1.getStringSeed()); - System.out.println(); - - System.out.println("测试addMode(String mode)方法:"); - System.out.println("rs3调用方法前:" + rs3.getStringSeed()); - rs3.addMode(" haha"); - System.out.println("rs3添加LOW模型后:" + rs3.getStringSeed()); - System.out.println(); - - System.out.println("测试addMode(boolean isRepeat, StringMode... modes)方法:"); - System.out.println("rs3调用方法前:" + rs3.getStringSeed()); - rs3.addMode(false, " xixi"); - System.out.println("rs3再次添加LOW模型(不可重复)后:" + rs3.getStringSeed()); - rs3.addMode(true, " hehe"); - System.out.println("rs3再次添加LOW模型(可重复)后:" + rs3.getStringSeed()); - System.out.println(); - - System.out.println("测试clear()方法:"); - System.out.println("rs2调用方法前:" + rs2.getStringSeed()); - rs2.clear(); - System.out.println("rs2调用方法后:" + rs2.getStringSeed()); - System.out.println(); - - System.out.println("测试length()方法:"); - System.out.println("rs1字符串池中的元素共有:" + rs1.length()); - System.out.println(); - - System.out.println("测试remove(String str)方法:"); - System.out.println("rs3调用方法前:" + rs3.getStringSeed()); - rs3.remove("hehe"); - System.out.println("rs3移除“hehe”后:" + rs3.getStringSeed()); - System.out.println(); - - System.out.println("测试remove(int StartPos, int EndPos)方法:"); - System.out.println("rs3调用方法前:" + rs3.getStringSeed()); - rs3.remove(5, 8); - System.out.println("rs3移除5~7位的元素后:" + rs3.getStringSeed()); - System.out.println(); - - System.out.println("测试remove(int Pos)方法:"); - System.out.println("rs3调用方法前:" + rs3.getStringSeed()); - rs3.remove(0); - System.out.println("rs3移除第一位的元素后:" + rs3.getStringSeed()); - System.out.println(); - - System.out.println("测试removeRepetition()方法:"); - System.out.println("rs3调用方法前:" + rs3.getStringSeed()); - rs3.removeRepetition(); - System.out.println("rs3移除第一位的元素后:" + rs3.getStringSeed()); - System.out.println(); - - System.out.println("测试toString()方法:"); - System.out.println("rs3调用方法:" + rs3.toString()); - System.out.println(); - - System.out.println("测toString(int stringLength)方法:"); - System.out.println("rs3调用方法:" + rs3.toString(8)); - System.out.println(); - - System.out.println("测试toString(int stringLengthMin, int stringLengthMax)方法:"); - System.out.println("rs3调用方法:" + rs3.toString(1, 4)); - System.out.println(); - */ - } -} diff --git a/src/test/java/test/javase/TestReadWordTable.java b/src/test/java/test/javase/TestReadWordTable.java deleted file mode 100644 index 0548aca..0000000 --- a/src/test/java/test/javase/TestReadWordTable.java +++ /dev/null @@ -1,90 +0,0 @@ -package test.javase; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.List; - -import org.apache.poi.xwpf.usermodel.XWPFDocument; -import org.apache.poi.xwpf.usermodel.XWPFParagraph; -import org.apache.poi.xwpf.usermodel.XWPFTable; -import org.apache.poi.xwpf.usermodel.XWPFTableCell; -import org.apache.poi.xwpf.usermodel.XWPFTableRow; - -public class TestReadWordTable { - public static void main(String[] args) throws IOException { - readWeekReport(new File("E:\\test.docx")); - } - - public static void readWeekReport(File report) throws IOException { - // 使用POI中的读取word文件的方法 - XWPFDocument xd = new XWPFDocument(new FileInputStream(report)); - - //记录重要信息 - //报告人姓名 - String name = ""; - //报告开始时间 - String startTime = "";//可能不需要 - - Calendar c = Calendar.getInstance(); - c.set(Calendar.DAY_OF_WEEK, 6); - c.add(Calendar.WEEK_OF_MONTH, -1); - c.add(Calendar.DATE, 1); - System.out.println(new SimpleDateFormat("YYYY-MM-dd").format(c.getTime())); - - //工作内容 - String content = ""; - //工作天数 - String day = ""; - - List tables = xd.getTables();// 得到word中的表格 - // 循环,获取文档中所有的表格 - for ( int a = 0; a < tables.size(); a++ ) { - // 获取表格中的所有行 - List rows = tables.get(a).getRows(); - - // 循环用于获取行中所有的列 - for (int i = 0; i < rows.size(); i++) { - List cells = rows.get(i).getTableCells(); - - // 用于获取列中所有的段 - for (int j = 0; j < cells.size(); j++) { - List paras = cells.get(j).getParagraphs(); - - // 用于读取段中所有的文字 - for (int k = 0; k < paras.size(); k++) { - //读取第一个表格第3行第2列(姓名) - if ( a == 0 && i == 2 && j == 1 ) { - name = paras.get(k).getText(); - } - - //读取工作内容 - if( a == 1 && i > 0 && j == 2 ) { - content += paras.get(k).getText(); - content += "*"; - } - - //读取工作天数 - if( a == 1 && i > 0 && j == 3 ) { - day += paras.get(k).getText(); - day += "*"; - } - } - } - } - } - - //删除最后一个*号 - content.substring(0, content.lastIndexOf("*")); - day.substring(0, day.lastIndexOf("*")); - - - xd.close(); - } - - private static void writeSummarySheet(File templet) { - - } -} diff --git a/src/test/java/test/javase/TestSe.java b/src/test/java/test/javase/TestSe.java deleted file mode 100644 index 2ba163f..0000000 --- a/src/test/java/test/javase/TestSe.java +++ /dev/null @@ -1,90 +0,0 @@ -package test.javase; - -import org.openqa.selenium.By; -import org.openqa.selenium.JavascriptExecutor; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; -import org.openqa.selenium.firefox.FirefoxDriver; - -public class TestSe { - public static void main(String[] args) throws InterruptedException { - //TestPrintBrowserInfomation(); - Test_1(); - } - - public static void TestPrintBrowserInfomation() { - //若火狐路径在默认位置,且不需要使用配置文件时,可直接使用以下代码,以下代码作用为打开火狐浏览器 - FirefoxDriver driver = new FirefoxDriver(); - //巨大化浏览器 - driver.manage().window().maximize(); - //打开待测试的网址,注意,网址一定要加上http://,否则无法进入 - driver.get("http://www.hao123.com"); - - System.out.println(driver.getPageSource());//输出HTML代码 - System.out.println("-------------------------------------------------------"); - System.out.println(driver.getCurrentUrl());//输出网址 - System.out.println("-------------------------------------------------------"); - System.out.println(driver.getCapabilities().getVersion());//输出浏览器版本 - System.out.println("-------------------------------------------------------"); - System.out.println(driver.getCapabilities().getBrowserName());//输出浏览器名称 - System.out.println("-------------------------------------------------------"); - System.out.println(driver.getCapabilities().getPlatform().name());//输出操作系统名称 - System.out.println("-------------------------------------------------------"); - System.out.println(driver.getCapabilities().getPlatform().getMajorVersion());//输出操作系统版本 - System.out.println("-------------------------------------------------------"); - driver.close(); - } - - public static void Test_1() throws InterruptedException { - //若火狐路径不在默认位置时,需要使用该代码来找到火狐的位置 - //System.setProperty("webdriver.firefox.bin", "D:\\firefox\\firefox.exe"); - - //若需要使用配置时(即在火狐中创建的配置文件),需要用到该行代码 - //ProfilesIni pi = new ProfilesIni(); - //FirefoxProfile profile = pi.getProfile("pyqone"); - //WebDriver driver = new FirefoxDriver(profile); - - //若火狐路径在默认位置,且不需要使用配置文件时,可直接使用以下代码,以下代码作用为打开火狐浏览器 - WebDriver driver = new FirefoxDriver(); - - //巨大化浏览器 - driver.manage().window().maximize(); - - //打开待测试的网址,注意,网址一定要加上http://,否则无法进入 - driver.get("http://www.hao123.com"); - - //获取待测页面上的文本框定位 - //一般使用xpath定位和css定位,获取方式为使用火狐进行获取 - //findElement()方法表示查找定位方式所对应的元素 - //By.xpath()表示使用xpath方式来定位,此时复制的最简xpath - //sendKeys()方法表示在控件中输入信息 - //以下代码的作用为在hao123的百度搜索文本框中输入QQ - WebElement element = driver.findElement(By.xpath("//*[@id=\"search-input\"]")); - ((JavascriptExecutor) driver).executeScript("arguments[0].setAttribute('style',arguments[1])", element,"background:yellow;solid:red;"); - element.sendKeys("QQ"); - Thread.sleep(5000); - //System.out.println(driver.findElement(By.xpath("//*[@id=\"search-input\"]")).getAttribute("value")); - System.out.println(driver.findElement(By.xpath("/html/body/div[2]/div[2]/div/div[1]/div[2]/div/div/div[1]/a")).getTagName()); - System.out.println(driver.findElement(By.xpath("/html/body/div[2]/div[2]/div/div[1]/div[2]/div/div/div[1]/a")).getAttribute("value")); - /* - String js = "var s = document.getElementById(\"search-input\");"; - js += "return s.nodeValue"; - System.out.println(((JavascriptExecutor) driver).executeScript(js)); - */ - - //以上代码等价于,此时用的完整xpath来定位 - //driver.findElement(By.xpath("/html/body/div[2]/div[2]/div/div[1]/div[2]/div/div/div[1]/div[3]/form/div[1]/div/input")).sendKeys("QQ"); - //也等价于,此时用的是CSS方式定位 - //driver.findElement(By.cssSelector("html body div#skinroot.sk_skin-color-green div.layout-container.s-sbg1 div.layout-container-inner.s-sbg2 div div.hao123-search-panel-box div#hao123-search-panel.g-wd.page-width.hao123-search-panel div.hao123-search.hao123-indexsearchlist1 div#search.search div.right.form-wrapper form#search-form.form-hook div.input-wrapper.wrapper-hook.g-ib div.input-shadow.shadow-hook.g-ib input#search-input.input.input-hook")).sendKeys("QQ"); - /* - //点击hao123页面上的百度一下按钮 - driver.findElement(By.xpath("//*[@value=\"百度一下\"]")).click(); - //等价于 - WebElement w = driver.findElement(By.xpath("//*[@value=\"百度一下\"]")); - w.click(); - - //关闭浏览器 - driver.close(); - */ - } -} diff --git a/src/test/java/test/javase/TestSelenium.java b/src/test/java/test/javase/TestSelenium.java deleted file mode 100644 index c940450..0000000 --- a/src/test/java/test/javase/TestSelenium.java +++ /dev/null @@ -1,50 +0,0 @@ -package test.javase; - -import java.util.concurrent.TimeUnit; - -import org.openqa.selenium.By; -import org.openqa.selenium.chrome.ChromeDriver; - -public class TestSelenium { - public static void main(String[] args) { - //固定写法,第一个参数,指定的是你使用的浏览器,第二个参数是谷歌浏览器驱动路径 - System.setProperty("webdriver.chrome.driver", "Resource/BrowersDriver/chromedriver.exe"); - //new对象 - ChromeDriver driver = new ChromeDriver(); - //打开浏览器,并进入指定的站点 - //注意:“http://”不能省略 - driver.get("https://www.hao123.com/"); - //全屏浏览器 - driver.manage().window().maximize(); - //设置加载时间,一下代码的含义是若页面在30秒内加载不出,则抛出异常 - driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS); - //获取页面title - System.out.println(driver.getTitle()); - //在百度搜索文本框中,输入“abc”,点击“百度一下” - driver.findElement(By.xpath("//*[@id=\"search\"]/form/div[2]/input")).sendKeys("abc"); - driver.findElement(By.xpath("//*[@id=\"search\"]/form/div[3]/input")).click(); - - //点击id属性为test的元素 - driver.findElement(By.id("test")).click(); - //点击有超链接的“中国网”的元素 - driver.findElement(By.linkText("中国网")).click(); - //点击name属性为"word"的元素 - driver.findElement(By.name("word")).click(); - //点击html标签名为input的元素 - driver.findElement(By.tagName("input")).click(); - //点击xpath为“//*[@id=\"search\"]/form/div[3]/input”的元素,常用 - driver.findElement(By.xpath("//*[@id=\"search\"]/form/div[3]/input")).click(); - //点击css选择器为“html body.sk_skin-color-green div.index-page-inner ewc s-sbg2”的元素,常用 - driver.findElement(By.cssSelector("html body.sk_skin-color-green div.index-page-inner ewc s-sbg2")).click(); - //点击class属性为“searchWrapper”的元素 - driver.findElement(By.className("searchWrapper")).click(); - - //div[1]/div[1]/form - - //双击事件 - //Actions a = new Actions(driver); - //a.doubleClick(driver.findElement(By.xpath("//*[@id=\"search\"]/form/div[3]/input"))).perform(); - //关闭浏览器 - //driver.close(); - } -} diff --git a/src/test/java/test/javase/TestUseClass.java b/src/test/java/test/javase/TestUseClass.java deleted file mode 100644 index b002acf..0000000 --- a/src/test/java/test/javase/TestUseClass.java +++ /dev/null @@ -1,46 +0,0 @@ -package test.javase; - -import java.io.File; - -public class TestUseClass { - public static void main(String[] args) { - TestUseAClass ta = new TestUseAClass( - new File("E:\\pyq\\TFS\\品管部工作\\05.日常管理\\个人工作\\彭宇琦\\2018年工作周报\\NNCQ_彭宇琦_第35周个人周报(C899).docx")); - - TestUseBClass tb = new TestUseBClass(ta); - System.out.println(tb.test()); - - ta.setF(new File("E:\\pyq\\TFS\\品管部工作\\05.日常管理\\个人工作\\彭宇琦\\2018年工作周报\\NNCQ_彭宇琦_第42周个人周报.docx")); - System.out.println(tb.test()); - } -} - -class TestUseAClass { - public File f; - - public TestUseAClass(File f) { - super(); - this.f = f; - } - - public File getF() { - return f; - } - - public void setF(File f) { - this.f = f; - } -} - -class TestUseBClass { - public TestUseAClass ta; - - public TestUseBClass(TestUseAClass ta) { - super(); - this.ta = ta; - } - - public String test() { - return ta.getF().getName(); - } -} \ No newline at end of file diff --git a/src/test/java/test/javase/TestWriteCaseUI.java b/src/test/java/test/javase/TestWriteCaseUI.java deleted file mode 100644 index b8c2f4c..0000000 --- a/src/test/java/test/javase/TestWriteCaseUI.java +++ /dev/null @@ -1,7 +0,0 @@ -package test.javase; - -public class TestWriteCaseUI { - public static void main(String[] args) { - WriteCaseMainFrame.Main(); - } -} diff --git a/src/test/java/test/javase/TestWriteReport.java b/src/test/java/test/javase/TestWriteReport.java deleted file mode 100644 index 1e50f20..0000000 --- a/src/test/java/test/javase/TestWriteReport.java +++ /dev/null @@ -1,32 +0,0 @@ -package test.javase; - -import java.io.IOException; - -import org.dom4j.DocumentException; - -import pres.auxiliary.report.ui.TestReportMainFrame; - - -public class TestWriteReport { - public static void main(String[] args) throws IOException, DocumentException, InterruptedException { - // 创建测试报告类 - //TestReport r = new TestReport(); - //r.AutoWriteReport(true, true); - // r.setSavePath("E:\\"); - // 测试报告属性作为参数,传入createReport()中 - //r.createReport(new File("E:\\1 - 副本.csv"), 2, "彭宇琦、李健梅、赵莉宽", "页面所有功能及APP任务、消息提醒功能"); - // System.out.println(r.getMailContent()); - TestReportMainFrame.Main(); - - /* - File f = new File("E:\\1.csv"); - TestReport r = new TestReport(); - String[] ss = r.readFile(f, 4); - - for ( String s : ss ) { - System.out.println(s); - } - */ - System.out.println("The end"); - } -} diff --git a/src/test/java/test/javase/testResultFile.java b/src/test/java/test/javase/testResultFile.java deleted file mode 100644 index 9f12b26..0000000 --- a/src/test/java/test/javase/testResultFile.java +++ /dev/null @@ -1,11 +0,0 @@ -package test.javase; - -import pres.auxiliary.work.selenium.tool.Log_Old; - -public class testResultFile { - public static void main(String[] args) { - Log_Old trf = new Log_Old(); - trf.setSavePath("\\a"); - } - -} diff --git a/src/test/java/test/javase/testWriteTestCase.java b/src/test/java/test/javase/testWriteTestCase.java deleted file mode 100644 index 80980bc..0000000 --- a/src/test/java/test/javase/testWriteTestCase.java +++ /dev/null @@ -1,13 +0,0 @@ -package test.javase; - -import java.io.File; - -import pres.auxiliary.work.old.testcase.change.WriteTestCase; - -public class testWriteTestCase { - public static void main(String[] args) throws Exception { - WriteTestCase wtc = new WriteTestCase(new File("E:\\test.xml")); - wtc.write(); - System.out.println("The End"); - } -} diff --git a/src/test/java/test/javase/testxml.java b/src/test/java/test/javase/testxml.java deleted file mode 100644 index 94c74b6..0000000 --- a/src/test/java/test/javase/testxml.java +++ /dev/null @@ -1,39 +0,0 @@ -package test.javase; - -import org.dom4j.DocumentException; - -public class testxml { - - public static void main(String[] args) throws XmlFileNameIsNullException, DocumentException { - /* - List l = new ArrayList<>(); - l.add("帐号文本框"); - l.add("密码文本框"); - l.add("登录按钮"); - CreateXML.setXmlPath("xml"); - CreateXML.setXmlName("登录界面"); - CreateXML.create("帐号文本框", "密码文本框", "登录按钮"); - CreateXML.create("登录界面2", l); - */ - /* - File f = new File("C:\\AutoTestting\\Xml\\ElementName"); - CreateXML.setMode(CreateXML.XPATH, CreateXML.CSS, CreateXML.NAME); - CreateXML.create(f.listFiles()); - */ - - /* - String s = "测试模块1(#949)"; - System.out.println(s.substring(0, s.indexOf("("))); - System.out.println(s.substring(s.indexOf("(") + 2, s.indexOf(")"))); - */ - - /* - Document dom = new SAXReader().read(new File("C:\\AutoTest\\Case\\ZentaoData.xml")); - Element e = (Element)dom.selectSingleNode("/data/module[@name='新能源共享汽车后台管理系统']"); - System.out.println(e.attribute("id").getValue()); - */ - - System.out.println(Boolean.valueOf("")); - } - -} diff --git a/src/test/java/test/selenium/brower/TestOpenBrower.java b/src/test/java/test/selenium/brower/TestOpenBrower.java deleted file mode 100644 index 4a46853..0000000 --- a/src/test/java/test/selenium/brower/TestOpenBrower.java +++ /dev/null @@ -1,38 +0,0 @@ -package test.selenium.brower; - -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.ie.InternetExplorerDriver; -import org.openqa.selenium.ie.InternetExplorerOptions; -import org.testng.annotations.AfterClass; -import org.testng.annotations.Test; - -/** - *

文件名:TestOpenBrower.java

- *

用途:用于实验打开各类浏览器

- *

编码时间:2020年11月8日 下午2:49:54

- *

修改时间:2020年11月8日 下午2:49:54

- * @author 彭宇琦 - * @version Ver1.0 - * @since JDK 12 - */ -public class TestOpenBrower { - WebDriver driver; - - @AfterClass - public void quit() { - driver.quit(); - } - - @Test - public void openIeBrower() { -// File ieDriverFile = new File("Resource/BrowersDriver/Ie/IEDriverServer.exe"); - // 指定IE driver的存放路径 - System.setProperty("webdriver.ie.driver", "Resource/BrowersDriver/Ie/IEDriverServer.exe"); - InternetExplorerOptions ieo = new InternetExplorerOptions(); - - //实例化webdriver对象,启动IE浏览器 - driver = new InternetExplorerDriver(); - //通过对象driver调用具体的get方法来打开网页 - driver.get("http://www.baidu.com/"); - } -} diff --git a/src/test/java/test/selenium/brower/TestOpenNewHandle.java b/src/test/java/test/selenium/brower/TestOpenNewHandle.java deleted file mode 100644 index 1968f35..0000000 --- a/src/test/java/test/selenium/brower/TestOpenNewHandle.java +++ /dev/null @@ -1,103 +0,0 @@ -package test.selenium.brower; - -import java.util.Set; - -import org.openqa.selenium.chrome.ChromeDriver; -import org.testng.annotations.AfterClass; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -public class TestOpenNewHandle { - ChromeDriver cd; - - @BeforeClass - public void openBrower() { - System.setProperty("webdriver.chrome.driver", "Resource/BrowersDriver/Chrom/78.0394.70/chromedriver.exe"); - cd = new ChromeDriver(); - cd.get("http://www.baidu.com"); - } - - @AfterClass - public void quitBrower() throws InterruptedException { - Thread.sleep(5000); - cd.quit(); - } - - /** - * 覆盖原标签页 - * @throws InterruptedException - */ - @Test - public void overridePage() throws InterruptedException { - cd.get("http://www.baidu.com"); - Thread.sleep(2000); - cd.get("about:blank"); - cd.switchTo().window(""); - } - - /** - * 打开新的标签页 - * @throws InterruptedException - */ - @Test - public void openNewLabel() throws InterruptedException { - //获取当前所有的handle - Set handleSet = cd.getWindowHandles(); - //编写js脚本,执行js,以开启一个新的标签页 - String js = "window.open(\"\");"; - cd.executeScript(js); - //移除原有的windows的Handle,保留新打开的windows的Handle - String newHandle = ""; - for (String handle : cd.getWindowHandles()) { - if (!handleSet.contains(handle)) { - newHandle = handle; - break; - } - } - //切换WebDriver - cd.switchTo().window(newHandle); - Thread.sleep(2000); -// cd.get("http://www.hao123.com"); - } - - /** - * 打开新的浏览器 - */ - @Test - public void openNewBrower() { - //关闭原有的浏览器 - cd.quit(); - //重新构造,并进入待测站点 - System.setProperty("webdriver.chrome.driver", "Resource/BrowersDriver/chromedriver.exe"); - cd = new ChromeDriver(); - cd.get("http://www.163.com"); - - } - - /** - * 覆盖原标签页 - * @throws InterruptedException - */ - @Test - public void closeLabel() throws InterruptedException { - cd.get("http://www.baidu.com"); - Thread.sleep(2000); - //获取当前所有的handle - Set handleSet = cd.getWindowHandles(); - //编写js脚本,执行js,以开启一个新的标签页 - String js = "window.open(\"\");"; - cd.executeScript(js); - //移除原有的windows的Handle,保留新打开的windows的Handle - String newHandle = ""; - for (String handle : cd.getWindowHandles()) { - if (!handleSet.contains(handle)) { - newHandle = handle; - break; - } - } - - cd.close(); - cd.switchTo().window(newHandle); - cd.get("http://www.163.com"); - } -} diff --git a/src/test/java/test/selenium/brower/TestSwitchWindow.java b/src/test/java/test/selenium/brower/TestSwitchWindow.java deleted file mode 100644 index d60b2b1..0000000 --- a/src/test/java/test/selenium/brower/TestSwitchWindow.java +++ /dev/null @@ -1,51 +0,0 @@ -package test.selenium.brower; - -import java.util.Set; - -import org.openqa.selenium.chrome.ChromeDriver; - -public class TestSwitchWindow { - - public static void main(String[] args) throws InterruptedException { - TestDriver td = new TestDriver(); - ChromeDriver cd = td.getDriver(); - - td.open(); - - cd.get("http://www.hao123.com");//页面在第二个标签页中被打开 - Thread.sleep(5000); - cd.quit(); - } - - public static class TestDriver { - ChromeDriver cd; - - public TestDriver() { - System.setProperty("webdriver.chrome.driver", "Resource/BrowersDriver/chromedriver.exe"); - cd = new ChromeDriver(); - cd.get("http://www.baidu.com"); - } - - public void open() { - //获取当前所有的handle - Set handleSet = cd.getWindowHandles(); - //编写js脚本,执行js,以开启一个新的标签页 - String js = "window.open(\"https://www.sogou.com\");"; - cd.executeScript(js); - //移除原有的windows的Handle,保留新打开的windows的Handle - String newHandle = ""; - for (String handle : cd.getWindowHandles()) { - if (!handleSet.contains(handle)) { - newHandle = handle; - break; - } - } - //切换WebDriver - cd.switchTo().window(newHandle); - } - - public ChromeDriver getDriver() { - return cd; - } - } -} diff --git a/src/test/java/test/selenium/js/TestJavaScript.java b/src/test/java/test/selenium/js/TestJavaScript.java deleted file mode 100644 index 817b69d..0000000 --- a/src/test/java/test/selenium/js/TestJavaScript.java +++ /dev/null @@ -1,54 +0,0 @@ -package test.selenium.js; - -import java.io.File; -import java.util.ArrayList; -import java.util.Arrays; - -import org.openqa.selenium.By; -import org.openqa.selenium.JavascriptExecutor; -import org.openqa.selenium.WebElement; -import org.testng.annotations.Test; - -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; - -import pres.auxiliary.work.selenium.brower.ChromeBrower; -import pres.auxiliary.work.selenium.brower.ChromeBrower.ChromeOptionType; - -public class TestJavaScript { - @Test - public void getElementAttribute() { - ChromeBrower cb = new ChromeBrower(new File("Resource/BrowersDriver/Chrom/80.0.3987.163/chromedriver.exe")); - cb.addConfig(ChromeOptionType.CONTRAL_OPEN_BROWER, "127.0.0.1:9222"); - JavascriptExecutor js = (JavascriptExecutor) cb.getDriver(); - - WebElement element = cb.getDriver().findElement(By.xpath("//*[@id='kw']")); - JSONObject elemrntJson = new JSONObject(); - elemrntJson.put("tagname", element.getTagName()); - - JSONArray attArray = new JSONArray(); - ((ArrayList) js.executeScript("return arguments[0].attributes;", element)).stream(). - map(obj -> obj.toString()).map(text -> { - String[] atts = text.split("\\,\\ "); - - JSONObject json = new JSONObject(); - Arrays.stream(atts).filter(att -> { - String key = att.split("=")[0]; - return "name".equals(key) || "value".equals(key); - }).forEach(att -> { - String[] kv = att.split("="); - json.put(kv[0], kv[1].indexOf("}") > -1 ? kv[1].substring(0, kv[1].length() - 1) : kv[1]); - }); - - return json; - }).forEach(json -> { - attArray.add(json); - }); - - elemrntJson.put("att", attArray); - - System.out.println(elemrntJson); - - cb.getDriver().quit(); - } -} From 2c03f0e2f29ab06439a30f4cdf298cec21657232 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E5=AE=87=E7=90=A6?= <465645774@qq.com> Date: Tue, 8 Dec 2020 07:54:56 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pres/auxiliary/tool/sql/AbstractSql.java | 54 ++++++++++++++++++- .../pres/auxiliary/tool/sql/OracleSql.java | 31 ++++++++--- .../java/pres/auxiliary/tool/sql/SqlType.java | 10 ++++ 3 files changed, 87 insertions(+), 8 deletions(-) create mode 100644 src/main/java/pres/auxiliary/tool/sql/SqlType.java diff --git a/src/main/java/pres/auxiliary/tool/sql/AbstractSql.java b/src/main/java/pres/auxiliary/tool/sql/AbstractSql.java index d728df7..dcaacad 100644 --- a/src/main/java/pres/auxiliary/tool/sql/AbstractSql.java +++ b/src/main/java/pres/auxiliary/tool/sql/AbstractSql.java @@ -1,8 +1,58 @@ package pres.auxiliary.tool.sql; -public class AbstractSql { +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; - public AbstractSql() { +/** + *

文件名:AbstractSql.java

+ *

用途: + * 数据库工具基类,定义工具需要实现的基本方法以及通用方法 + *

+ *

编码时间:2020年12月7日上午8:12:04

+ *

修改时间:2020年12月7日上午8:12:04

+ * @author 彭宇琦 + * @version Ver1.0 + * @since JDK 1.8 + * + */ +public class AbstractSql { + /** + * 存储需要执行的SQL语句 + */ + StringBuilder sqlText = new StringBuilder(""); + + /** + * 数据库连接类对象 + */ + protected Connection connect; + protected Statement statement; + protected PreparedStatement preState; + + /** + * 用于返回当前需要执行的Sql语句 + * @return 需要执行的Sql语句 + */ + public String getSql() { + return sqlText.toString(); + } + + /** + * 用于执行存储SQL,并返回结果集({@link ResultSet})对象 + * @return {@link ResultSet}对象 + */ + public ResultSet run() { + try { + return connect.prepareStatement(sqlText.toString()).executeQuery(); + } catch (SQLException e) { + throw new DatabaseException(String.format("SQL无法执行。\nSQL:%s", sqlText.toString())); + } } + @Override + public String toString() { + return getSql(); + } } diff --git a/src/main/java/pres/auxiliary/tool/sql/OracleSql.java b/src/main/java/pres/auxiliary/tool/sql/OracleSql.java index 801b28d..0be5ae3 100644 --- a/src/main/java/pres/auxiliary/tool/sql/OracleSql.java +++ b/src/main/java/pres/auxiliary/tool/sql/OracleSql.java @@ -3,6 +3,8 @@ package pres.auxiliary.tool.sql; import java.sql.Driver; import java.sql.DriverManager; import java.sql.SQLException; +import java.util.ArrayList; +import java.util.LinkedHashMap; import java.util.Properties; import oracle.jdbc.driver.OracleDriver; @@ -20,11 +22,6 @@ import oracle.jdbc.driver.OracleDriver; * */ public class OracleSql extends AbstractSql { - /** - * 存储需要执行的SQL语句 - */ - StringBuilder sqlText = new StringBuilder(""); - /** * 构造方法,用于指定数据库基本信息 * @param username 用户名 @@ -52,5 +49,27 @@ public class OracleSql extends AbstractSql { throw new DatabaseException(String.format("Oracle数据库连接异常,连接信息:\n用户名:%s\n密码:%s\n连接url:%s", username, password, url), e); } } - + + public OracleSql type() { + + return this; + } + + /** + * 用于查找指定表名的数据,可指定输出的字段 + * @param tableName 表名 + * @param fieldNames 字段名 + */ + public OracleSql find(String tableName, String...fieldNames) { + sqlText.append("SELECT "); + + //添加字段名 + sqlText.append(""); + + sqlText.append(" "); + sqlText.append("FROM "); + sqlText.append(tableName); + + return this; + } } diff --git a/src/main/java/pres/auxiliary/tool/sql/SqlType.java b/src/main/java/pres/auxiliary/tool/sql/SqlType.java new file mode 100644 index 0000000..e580b06 --- /dev/null +++ b/src/main/java/pres/auxiliary/tool/sql/SqlType.java @@ -0,0 +1,10 @@ +package pres.auxiliary.tool.sql; + +public enum SqlType { + SELECT, + INSERT, + DELECT, + TRUNCATE, + UPDATE; + +} From 331ec824c0842e66d0821cc2b59c849fe66d6b2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E5=AE=87=E7=90=A6?= <465645774@qq.com> Date: Tue, 8 Dec 2020 14:56:47 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=B5=8B=E8=AF=95pom=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=BC=95=E5=85=A5javadoc=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/pom.xml b/pom.xml index d975084..059faf9 100644 --- a/pom.xml +++ b/pom.xml @@ -163,6 +163,33 @@ org.apache.maven.plugins maven-javadoc-plugin 3.0.0 + + true + + + + attach-javadocs + + jar + + + + + + + maven-source-plugin + 2.4 + + true + + + + package + + jar-no-fork + + + From 730a1733923e1e182548adc189ce6eba12bb84a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E5=AE=87=E7=90=A6?= <465645774@qq.com> Date: Wed, 9 Dec 2020 07:57:51 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=AD=89=E5=BE=85?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E7=B1=BB=E7=BB=93=E6=9E=84=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=85=83=E7=B4=A0=E9=87=8D=E6=96=B0=E6=8B=89=E5=8F=96?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auxiliary/work/selenium/element/AbstractBy.java | 5 +++++ .../auxiliary/work/selenium/element/CommonBy.java | 5 ----- .../auxiliary/work/selenium/element/Element.java | 12 ++++++++++-- .../auxiliary/work/selenium/element/MultiBy.java | 5 ----- .../auxiliary/work/selenium/event/WaitEvent.java | 2 +- 5 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/main/java/pres/auxiliary/work/selenium/element/AbstractBy.java b/src/main/java/pres/auxiliary/work/selenium/element/AbstractBy.java index dd2aaaf..c5fd0af 100644 --- a/src/main/java/pres/auxiliary/work/selenium/element/AbstractBy.java +++ b/src/main/java/pres/auxiliary/work/selenium/element/AbstractBy.java @@ -257,6 +257,11 @@ public abstract class AbstractBy { * @return {@link WebElement}类对象{@link List}集合 */ protected List recognitionElement(ElementData elementData) { + //判断是否需要自动切换窗体,若需要,则对元素窗体进行切换 + if (isAutoSwitchIframe) { + autoSwitchFrame(elementData.getIframeNameList()); + } + //获取元素的定位类型及定位内容 ArrayList elementByTypeList = elementData.getByTypeList(); ArrayList elementValueList = elementData.getValueList(); diff --git a/src/main/java/pres/auxiliary/work/selenium/element/CommonBy.java b/src/main/java/pres/auxiliary/work/selenium/element/CommonBy.java index 0d2d649..465dde2 100644 --- a/src/main/java/pres/auxiliary/work/selenium/element/CommonBy.java +++ b/src/main/java/pres/auxiliary/work/selenium/element/CommonBy.java @@ -40,11 +40,6 @@ public class CommonBy extends AbstractBy { elementData = new ElementData(elementName, read); elementData.addLinkWord(linkKeys); - //判断是否需要自动切换窗体,若需要,则对元素窗体进行切换 - if (isAutoSwitchIframe) { - autoSwitchFrame(elementData.getIframeNameList()); - } - //获取元素数据在页面上对应的一组元素,若无法查到元素,则记录elementList为null try { elementList = recognitionElement(elementData); diff --git a/src/main/java/pres/auxiliary/work/selenium/element/Element.java b/src/main/java/pres/auxiliary/work/selenium/element/Element.java index 65a509a..a9ec7ca 100644 --- a/src/main/java/pres/auxiliary/work/selenium/element/Element.java +++ b/src/main/java/pres/auxiliary/work/selenium/element/Element.java @@ -1,6 +1,9 @@ package pres.auxiliary.work.selenium.element; +import java.util.ArrayList; + import org.openqa.selenium.NoSuchElementException; +import org.openqa.selenium.TimeoutException; import org.openqa.selenium.WebElement; /** @@ -94,10 +97,15 @@ public class Element { * 重新根据元素信息,在页面查找元素 */ public int againFindElement() { - //重新拉取元素 - abstractBy.elementList = abstractBy.recognitionElement(elementData); //切换当前读取的元素信息 abstractBy.elementData = elementData; + + //重新拉取元素数据在页面上对应的一组元素,若无法查到元素,则记录elementList为null + try { + abstractBy.elementList = abstractBy.recognitionElement(elementData); + } catch (TimeoutException e) { + abstractBy.elementList = new ArrayList<>(); + } return abstractBy.elementList.size(); } diff --git a/src/main/java/pres/auxiliary/work/selenium/element/MultiBy.java b/src/main/java/pres/auxiliary/work/selenium/element/MultiBy.java index 11ecb55..129c261 100644 --- a/src/main/java/pres/auxiliary/work/selenium/element/MultiBy.java +++ b/src/main/java/pres/auxiliary/work/selenium/element/MultiBy.java @@ -64,11 +64,6 @@ public abstract class MultiBy> extends AbstractBy { elementData = new ElementData(elementName, read); elementData.addLinkWord(linkKeys); - //判断是否需要自动切换窗体,若需要,则对元素窗体进行切换 - if (isAutoSwitchIframe) { - autoSwitchFrame(elementData.getIframeNameList()); - } - //获取元素数据在页面上对应的一组元素,若无法查到元素,则记录elementList为null try { elementList = recognitionElement(elementData); diff --git a/src/main/java/pres/auxiliary/work/selenium/event/WaitEvent.java b/src/main/java/pres/auxiliary/work/selenium/event/WaitEvent.java index b2039de..429f46f 100644 --- a/src/main/java/pres/auxiliary/work/selenium/event/WaitEvent.java +++ b/src/main/java/pres/auxiliary/work/selenium/event/WaitEvent.java @@ -68,7 +68,7 @@ public class WaitEvent extends AbstractEvent{ //调用isDisplayed()方法,判断元素是否存在 try { return !element.getWebElement().isDisplayed(); - } catch (NoSuchElementException e) { + } catch (NoSuchElementException | TimeoutException e) { //若在调用获取页面元素时抛出NoSuchElementException异常,则说明元素本身不存在,则直接返回true return true; } catch (StaleElementReferenceException e) { From 636a6a6bd091aff9e5ee9b4c4dca7a94c337e9ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E5=AE=87=E7=90=A6?= <465645774@qq.com> Date: Fri, 11 Dec 2020 10:36:08 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9maven=E7=94=9F=E6=88=90ja?= =?UTF-8?q?vadoc=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pom.xml b/pom.xml index 059faf9..b24feb2 100644 --- a/pom.xml +++ b/pom.xml @@ -13,6 +13,8 @@ UTF-8 + + UTF-8 @@ -159,12 +161,17 @@ + org.apache.maven.plugins maven-javadoc-plugin 3.0.0 true + + + none