From a62053f7bfcde08c0c0dd900b349db6458b3bf3f Mon Sep 17 00:00:00 2001 From: Administrator Date: Tue, 23 Oct 2018 15:38:57 +0800 Subject: [PATCH] add scene --- pom.xml | 262 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------- src/test/java/com/buyer/pageObject/ConslidationPage.java | 6 ++---- src/test/java/com/buyer/pageObject/IndexPage.java | 9 ++++++--- src/test/java/com/buyer/pageObject/KeywordResultPage.java | 40 +++++++++++++++++++++++++++++----------- src/test/java/com/buyer/pageObject/OrderPreviewPage.java | 7 ++++--- src/test/java/com/buyer/pageObject/PayDepositPage.java | 5 +++-- src/test/java/com/buyer/pageObject/SettingMarksPage.java | 5 +++-- src/test/java/com/buyer/pageObject/SettingStickerPage.java | 5 +++-- src/test/java/com/buyer/pageObject/ShoppingCartPage.java | 11 +++++++++++ src/test/java/com/buyer/testSuite/TestAddToCart.java | 4 +++- src/test/java/com/essa/framework/BasePage.java | 31 ++++++++++++++++++++++++++++--- src/test/java/com/essa/framework/Model.java | 20 +++++++++++++++++++- src/test/java/com/essa/pageObject/GoodsManage/AddMarketGoodsPage.java | 15 +++++++++------ src/test/java/com/essa/pageObject/GoodsManage/AddOriginalGoodsPage.java | 14 +++++++------- src/test/java/com/essa/pageObject/GoodsManage/GoodsBankPage.java | 2 -- src/test/java/com/essa/pageObject/GoodsManage/GoodsRelesePage.java | 3 +-- src/test/java/com/essa/pageObject/GoodsManage/UpdatePicPage.java | 11 ++++++----- src/test/java/com/essa/pageObject/HomePage.java | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- src/test/java/com/essa/pageObject/buyPlaneManage/SkuCategoryManagerCongfigPage.java | 3 +-- src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryFeedback.java | 76 ---------------------------------------------------------------------------- src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryFeedbackPage.java | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryTask.java | 74 -------------------------------------------------------------------------- src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryTaskPage.java | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/test/java/com/essa/pageObject/marketingManage/CollectBillSettingPage.java | 10 ++++------ src/test/java/com/essa/pageObject/marketingManage/GroupSettingPage.java | 10 ++++------ src/test/java/com/essa/testSuite/TestAddOriginalGoods.java | 1 - src/test/java/com/essa/testSuite/TestDevelopmentAbility.java | 16 ++++------------ src/test/java/com/essa/testSuite/TestProductInquiry.java | 21 +++++++++++---------- src/test/java/swing/SwingMain.java | 552 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ target/classes/META-INF/MANIFEST.MF | 2 +- target/classes/META-INF/maven/com.essatest/essa/pom.properties | 8 ++++---- target/classes/META-INF/maven/com.essatest/essa/pom.xml | 262 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------- target/test-classes/com/essa/framework/BasePage.class | Bin 17928 -> 0 bytes target/test-classes/com/essa/pageObject/HomePage.class | Bin 6127 -> 0 bytes test-output/Default suite/Default test.html | 76 +++------------------------------------------------------------------------- test-output/Default suite/Default test.xml | 40 ++-------------------------------------- test-output/Default suite/testng-failed.xml | 10 ++++------ test-output/emailable-report.html | 12 +++++++----- test-output/index.html | 227 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------- test-output/junitreports/TEST-com.buyer.testSuite.TestAddToCart.xml | 4 ++-- test-output/junitreports/TEST-com.buyer.testSuite.TestRegister.xml | 43 +++++++++++++++++++++++++++++++++++++++++-- test-output/junitreports/TEST-com.buyer.testSuite.TestSendPO.xml | 6 +++--- test-output/junitreports/TEST-com.essa.testSuite.TestAddMarketGoods.xml | 8 ++++---- test-output/junitreports/TEST-com.essa.testSuite.TestAddOriginalGoods.xml | 10 +++++----- test-output/junitreports/TEST-com.essa.testSuite.TestGenrateCode.xml | 4 ++-- test-output/junitreports/TEST-com.essa.testSuite.TestGroupPurchase.xml | 8 ++++---- test-output/junitreports/TEST-com.essa.testSuite.TestProductInquiry.xml | 4 ++-- test-output/old/Default suite/classes.html | 36 +----------------------------------- test-output/old/Default suite/methods-alphabetical.html | 8 -------- test-output/old/Default suite/methods-not-run.html | 1 - test-output/old/Default suite/methods.html | 8 -------- test-output/old/Default suite/testng.xml.html | 2 +- test-output/old/Default suite/toc.html | 8 ++++---- test-output/old/index.html | 6 +++--- test-output/old/发布团购商品/methods-alphabetical.html | 44 ++++++++++++++++++++++---------------------- test-output/old/发布团购商品/methods.html | 44 ++++++++++++++++++++++---------------------- test-output/old/发布团购商品/testng.xml.html | 2 +- test-output/old/成品询价/methods-alphabetical.html | 22 ++++++++++------------ test-output/old/成品询价/methods.html | 22 ++++++++++------------ test-output/old/成品询价/testng.xml.html | 2 +- test-output/old/成品询价/toc.html | 4 ++-- test-output/old/提交PO/classes.html | 3 ++- test-output/old/提交PO/methods-alphabetical.html | 40 ++++++++++++++++++++-------------------- test-output/old/提交PO/methods.html | 40 ++++++++++++++++++++-------------------- test-output/old/提交PO/testng.xml.html | 2 +- test-output/old/新增原厂商品/methods-alphabetical.html | 24 ++++++++++++------------ test-output/old/新增原厂商品/methods.html | 24 ++++++++++++------------ test-output/old/新增原厂商品/testng.xml.html | 2 +- test-output/old/新增市场商品/methods-alphabetical.html | 20 ++++++++++---------- test-output/old/新增市场商品/methods.html | 20 ++++++++++---------- test-output/old/新增市场商品/testng.xml.html | 2 +- test-output/old/采购商注册/methods-alphabetical.html | 24 ++++++++++++------------ test-output/old/采购商注册/methods.html | 24 ++++++++++++------------ test-output/old/采购商注册/testng.xml.html | 2 +- test-output/old/采购商注册/toc.html | 4 ++-- test-output/testng-failed.xml | 17 +++++++++-------- test-output/testng-results.xml | 36 +++++++++++++++++------------------- test-output/发布团购商品/publishGroupPurchase.html | 24 ++++++++++++------------ test-output/发布团购商品/publishGroupPurchase.xml | 16 ++++++++-------- test-output/成品询价/productInquiry.html | 258 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------- test-output/成品询价/productInquiry.xml | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- test-output/成品询价/testng-failed.xml | 2 +- test-output/提交PO/sendPO.html | 20 ++++++++++---------- test-output/提交PO/sendPO.xml | 12 ++++++------ test-output/提交PO/testng-failed.xml | 3 ++- test-output/新增原厂商品/addOriginalGoods.html | 18 +++++++++--------- test-output/新增原厂商品/addOriginalGoods.xml | 10 +++++----- test-output/新增原厂商品/testng-failed.xml | 2 +- test-output/新增市场商品/addMarketGoods.html | 12 ++++++------ test-output/新增市场商品/addMarketGoods.xml | 8 ++++---- test-output/采购商注册/buyerRegister.html | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------- test-output/采购商注册/buyerRegister.xml | 22 +++++++++++++++++++--- test-output/采购商注册/testng-failed.xml | 9 +-------- 93 files changed, 1968 insertions(+), 1312 deletions(-) delete mode 100644 src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryFeedback.java create mode 100644 src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryFeedbackPage.java delete mode 100644 src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryTask.java create mode 100644 src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryTaskPage.java diff --git a/pom.xml b/pom.xml index c2dc74f..71a3f3b 100644 --- a/pom.xml +++ b/pom.xml @@ -1,129 +1,135 @@ - - 4.0.0 - - com.essatest - essa - 0.0.1-SNAPSHOT - jar - - essa - http://maven.apache.org - - - UTF-8 - - - - - - org.testng - testng - 6.14.3 - - - - - org.seleniumhq.selenium - selenium-java - 3.11.0 - - - - - org.seleniumhq.selenium - selenium-firefox-driver - 3.11.0 - - - - org.seleniumhq.selenium - selenium-chrome-driver - 3.11.0 - - - - org.seleniumhq.selenium - selenium-safari-driver - 3.11.0 - - - - org.seleniumhq.selenium - selenium-ie-driver - 3.11.0 - - - - - org.seleniumhq.selenium - selenium-support - 2.46.0 - - - - javax.mail - mail - 1.4 - - - - org.apache.commons - commons-collections4 - 4.1 - - - - org.apache.poi - poi - 3.14 - - - - org.apache.poi - poi-ooxml - 3.14 - - - - org.apache.poi - poi-ooxml-schemas - 3.14 - - - - org.apache.commons - commons-io - 1.3.2 - - - - mysql - mysql-connector-java - 6.0.6 - - - org.dbunit - dbunit - 2.5.4 - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.7.1 - - - - resources/suites/testng.xml - - - - - - - + + 4.0.0 + + com.essatest + essa + 0.0.1-SNAPSHOT + jar + + essa + http://maven.apache.org + + + UTF-8 + + + + + + org.testng + testng + 6.14.3 + + + + + org.seleniumhq.selenium + selenium-java + 3.11.0 + + + + + org.seleniumhq.selenium + selenium-firefox-driver + 3.11.0 + + + + org.seleniumhq.selenium + selenium-chrome-driver + 3.11.0 + + + + org.seleniumhq.selenium + selenium-safari-driver + 3.11.0 + + + + org.seleniumhq.selenium + selenium-ie-driver + 3.11.0 + + + + + org.seleniumhq.selenium + selenium-support + 2.46.0 + + + + javax.mail + mail + 1.4 + + + + org.apache.commons + commons-collections4 + 4.1 + + + + org.apache.poi + poi + 3.14 + + + + org.apache.poi + poi-ooxml + 3.14 + + + + org.apache.poi + poi-ooxml-schemas + 3.14 + + + + org.apache.commons + commons-io + 1.3.2 + + + + mysql + mysql-connector-java + 6.0.6 + + + org.dbunit + dbunit + 2.5.4 + + + jdom + jdom + 1.0 + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.7.1 + + + + resources/suites/testng.xml + + + + + + + diff --git a/src/test/java/com/buyer/pageObject/ConslidationPage.java b/src/test/java/com/buyer/pageObject/ConslidationPage.java index 94edbfe..2c53a45 100644 --- a/src/test/java/com/buyer/pageObject/ConslidationPage.java +++ b/src/test/java/com/buyer/pageObject/ConslidationPage.java @@ -81,10 +81,8 @@ public class ConslidationPage extends BasePage { click(leftFirstCheckbox); click(add); //是否有加入到暂存柜 - while(!(isVisibility(rightFirstCheckbox))) { - forceWait(1000); - } - forceWait(1000); + dynamicWait(By.xpath("//*[@id='right-product-list']/div/div/div[2]/div/ul/li[1]/input")); + forceWait(2000); moveHeightScroll("100"); forceWait(1000); click(next); diff --git a/src/test/java/com/buyer/pageObject/IndexPage.java b/src/test/java/com/buyer/pageObject/IndexPage.java index 32d83d7..e4a3e25 100644 --- a/src/test/java/com/buyer/pageObject/IndexPage.java +++ b/src/test/java/com/buyer/pageObject/IndexPage.java @@ -71,6 +71,7 @@ public class IndexPage extends BasePage { */ public ShoppingCartPage toShoppingCartPage() { if (isVisibility(By.xpath("//*[@id='bind-phone']"))) { + forceWait(1000); click(closed); } click(minicart); @@ -86,7 +87,8 @@ public class IndexPage extends BasePage { click(closed); } //如果是非活动 - if (Model.getIsactivity()==0 &&(Model.getSkuNo().equals("选填,勿填活动商品")||Model.getSkuNo().equals(""))) { +// if (Model.getIsactivity()==0 &&(Model.getSkuNo().equals("选填,勿填活动商品")||Model.getSkuNo().equals(""))) { + if (Model.getIsactivity()==0 &&(("选填,勿填活动商品").equals(Model.getSkuNo())||("").equals(Model.getSkuNo()))) { //判断是否自定义输入商品编号 String sql = "SELECT s.id,s.`no` from prd_category c\r\n" + "LEFT JOIN prd_goods g on c.id = g.category_id\r\n" + @@ -101,7 +103,7 @@ public class IndexPage extends BasePage { "AND s.is_delete = 0\r\n" + "limit 1"; Model.setSkuNo(DBSqlSearch(sql, "no")); - }else if (Model.getIsactivity()==1 &&( Model.getSkuNo().equals("选填,勿填非活动中商品")||Model.getSkuNo().equals(""))) { + }else if (Model.getIsactivity()==1 &&(("选填,勿填非活动商品").equals(Model.getSkuNo())||("").equals(Model.getSkuNo()))) { //活动商品 String sql = "SELECT s.id,s.`no` from prd_category c\r\n" + "LEFT JOIN prd_goods g on c.id = g.category_id\r\n" + @@ -109,10 +111,11 @@ public class IndexPage extends BasePage { "LEFT JOIN sale_group_buy a on a.sku_id = s.id\r\n" + "where s.`no` > 200000000\r\n" + "AND s.id NOT IN (SELECT t.sku_id FROM sale_shopping_cart t)\r\n" + - "AND a.`status` = 20 \r\n" + + "AND a.`status` = 20 and s.src = 1 \r\n" + "limit 1;"; Model.setSkuNo(DBSqlSearch(sql, "no")); } +// System.out.println(Model.getSkuNo()); sendKeys(searchText, Model.getSkuNo()); click(searchButton); return new KeywordResultPage(driver); diff --git a/src/test/java/com/buyer/pageObject/KeywordResultPage.java b/src/test/java/com/buyer/pageObject/KeywordResultPage.java index f4ec758..0e13b21 100644 --- a/src/test/java/com/buyer/pageObject/KeywordResultPage.java +++ b/src/test/java/com/buyer/pageObject/KeywordResultPage.java @@ -24,6 +24,7 @@ public class KeywordResultPage extends BasePage { @FindBy (xpath ="//*[@id='product-list']/ul[1]/div[1]/li[1]/div[1]/div[1]/div[4]/div[2]") WebElement addToCart; + //确认添加 @FindBy (xpath ="//*[@id='product-list']/ul[1]/div[1]/li[1]/div[2]/div[3]/div[1]") WebElement confirmAdd; @@ -40,9 +41,13 @@ public class KeywordResultPage extends BasePage { WebElement count; //活动商品-添加购物车 - @FindBy (xpath ="//*[text()='Add to Cart']") + @FindBy (xpath ="//*[@class='btn-box']/div[2]") WebElement addToCart1; + //查询输入框 + @FindBy (xpath ="//*[@class='search-tx']/input") + WebElement searchText; + /* * 页面方法 */ @@ -51,13 +56,12 @@ public class KeywordResultPage extends BasePage { * @return ShoppingCartPage */ public ShoppingCartPage addToCart() { - //判断商品是活动中还是非活动中,此处有坑,活动如果满足要求要走代办 - if (Model.getIsactivity() == 0) { + if (Model.getIsactivity() == 0) {//该sku为非活动商品 click(addToCart); forceWait(1000); click(count); sendKeys(count, "50"); - }else if (Model.getIsactivity() == 1) { + }else if (Model.getIsactivity() == 1) {//该sku为活动商品 click(addToCart1); forceWait(1000); click(count); @@ -65,17 +69,18 @@ public class KeywordResultPage extends BasePage { } click(confirmAdd); - while(!isVisibility(By.xpath("//*[@class='util-bill-pd']"))) { - forceWait(1000); - } + dynamicWait(By.xpath("//*[@class='util-bill-pd']")); forceWait(1000); click(minicart); + if (Model.getIsactivity() == 1) { + getManager();//找出对应的类目经理 + } return new ShoppingCartPage(driver); } /** * 由于操作过快,系统会提示:有人正在操作 * sku加入到购物车,但不进入购物车,防止无法操作后续的拼柜 - * + * 此方法与addToCart()一样,只是不进入购物车 */ public void addSku() { if (Model.getIsactivity() == 0) { @@ -90,9 +95,22 @@ public class KeywordResultPage extends BasePage { sendKeys(count, "200"); } click(confirmAdd); - while(!isVisibility(By.xpath("//*[@class='util-bill-pd']"))) { - forceWait(1000); + dynamicWait(By.xpath("//*[@class='util-bill-pd']")); + if (Model.getIsactivity() == 1) { + sendKeys(searchText, "查询数据库ing……程序还在进行,无聊可以先去撩撩妹子呀!"); + getManager();//找出对应的类目经理 } - forceWait(1000); + } + + /** + * 根据sql查出商品对应类目经理,并在model类中设置其值 + */ + public void getManager() { + //查找商品对应的类目经理sql + String sql = "SELECT u.account_name from prd_goods g \r\n" + + "LEFT JOIN prd_goods_sku s on g.id = s.goods_id\r\n" + + "LEFT JOIN pri_user u on u.id = g.category_manager_id\r\n" + + "where s.`no` in ("+Model.getSkuNo()+");"; + Model.setManager(DBSqlSearch(sql, "account_name")); } } diff --git a/src/test/java/com/buyer/pageObject/OrderPreviewPage.java b/src/test/java/com/buyer/pageObject/OrderPreviewPage.java index 1765e55..ac93f0a 100644 --- a/src/test/java/com/buyer/pageObject/OrderPreviewPage.java +++ b/src/test/java/com/buyer/pageObject/OrderPreviewPage.java @@ -33,9 +33,10 @@ public class OrderPreviewPage extends BasePage { * @return PayDepositPage */ public PayDepositPage submit() { - while(!(isVisibility(By.xpath("//*[@ng-checked='list.isAuthorExchange==1']")))) { - forceWait(1000); - } +// while(!(isVisibility(By.xpath("//*[@ng-checked='list.isAuthorExchange==1']")))) { +// forceWait(1000); +// } + dynamicWait(By.xpath("//*[@ng-checked='list.isAuthorExchange==1']")); moveHeightScroll("50"); forceWait(500); jsExecutorClick(agree); diff --git a/src/test/java/com/buyer/pageObject/PayDepositPage.java b/src/test/java/com/buyer/pageObject/PayDepositPage.java index 940f133..e2e4d9f 100644 --- a/src/test/java/com/buyer/pageObject/PayDepositPage.java +++ b/src/test/java/com/buyer/pageObject/PayDepositPage.java @@ -52,9 +52,10 @@ public class PayDepositPage extends BasePage { } public void operate() { - while (!(isVisibility(By.xpath("//*[contains(text(),'PO information')]")))) { + /*while (!(isVisibility(By.xpath("//*[contains(text(),'PO information')]")))) { forceWait(1000); - } + }*/ + dynamicWait(By.xpath("//*[contains(text(),'PO information')]")); Model.setPoNum(poNum.getText()); if (isVisibility(By.xpath("//button[@class='submit-payment-deposit-button btn btn-primary']"))) { //如果是可用资金不足,跳转到资金管理 diff --git a/src/test/java/com/buyer/pageObject/SettingMarksPage.java b/src/test/java/com/buyer/pageObject/SettingMarksPage.java index 53a59ff..ec02815 100644 --- a/src/test/java/com/buyer/pageObject/SettingMarksPage.java +++ b/src/test/java/com/buyer/pageObject/SettingMarksPage.java @@ -33,9 +33,10 @@ public class SettingMarksPage extends BasePage { * @return SettingStickerPage */ public SettingStickerPage setMarks() { - while(!(isVisibility(By.xpath("//*[@title='No shipping marks for these products']")))) { + /*while(!(isVisibility(By.xpath("//*[@title='No shipping marks for these products']")))) { forceWait(1000); - } + }*/ + dynamicWait(By.xpath("//*[@title='No shipping marks for these products']")); click(noNeedMarks); click(next); forceWait(500); diff --git a/src/test/java/com/buyer/pageObject/SettingStickerPage.java b/src/test/java/com/buyer/pageObject/SettingStickerPage.java index b4a998f..0eef148 100644 --- a/src/test/java/com/buyer/pageObject/SettingStickerPage.java +++ b/src/test/java/com/buyer/pageObject/SettingStickerPage.java @@ -32,9 +32,10 @@ public class SettingStickerPage extends BasePage { * @return OrderPreviewPage */ public OrderPreviewPage setSticker() { - while (!(isVisibility(By.xpath("//*[@title='No stickers for these products']")))) { + /*while (!(isVisibility(By.xpath("//*[@title='No stickers for these products']")))) { forceWait(1000); - } + }*/ + dynamicWait(By.xpath("//*[@title='No stickers for these products']")); click(noNeedSticker); click(next); click(ok); diff --git a/src/test/java/com/buyer/pageObject/ShoppingCartPage.java b/src/test/java/com/buyer/pageObject/ShoppingCartPage.java index 05edf40..a6012f6 100644 --- a/src/test/java/com/buyer/pageObject/ShoppingCartPage.java +++ b/src/test/java/com/buyer/pageObject/ShoppingCartPage.java @@ -40,6 +40,10 @@ public class ShoppingCartPage extends BasePage { @FindBy (xpath ="//button[contains(text(),' Start consolidation')]") WebElement startConslidation; + //确认采购按钮 + @FindBy (xpath = "//*[@class='products-list ng-scope']/div[2]/div/div[1]/div/span[5]/div/button") + WebElement confirmOrder; + /* * 页面方法 */ @@ -67,4 +71,11 @@ public class ShoppingCartPage extends BasePage { return new ConslidationPage(driver); } + /** + * 确认采购 + */ + public void confirmOrder() { + dynamicLoad(By.xpath("//*[@class='products-list ng-scope']/div[2]/div/div[1]/div/span[5]/div/button")); + click(confirmOrder); + } } diff --git a/src/test/java/com/buyer/testSuite/TestAddToCart.java b/src/test/java/com/buyer/testSuite/TestAddToCart.java index f5d7ac3..a9216d0 100644 --- a/src/test/java/com/buyer/testSuite/TestAddToCart.java +++ b/src/test/java/com/buyer/testSuite/TestAddToCart.java @@ -25,6 +25,8 @@ public class TestAddToCart extends BaseTest { initBuyer(); loginBuyerValid(Model.getBuyerAccount(),Model.getBuyerPassword()); // loginBuyerValid("buyer51551@essa.cn","essa123"); +// Model.setIsactivity(1); +// Model.setSkuNo(""); } @AfterClass public void tearDown() { @@ -34,7 +36,7 @@ public class TestAddToCart extends BaseTest { /** * 关键字查询,并将搜到的结果加入购物车 */ - @Test(description="关键字搜索,并将sku加入购物车") + @Test(description="关键字搜索,并将sku加入购物车",groups= {"first"}) public void keywordToCart() { this.driver = getDriver(); IndexPage indexPage = PageFactory.initElements(driver, IndexPage.class); diff --git a/src/test/java/com/essa/framework/BasePage.java b/src/test/java/com/essa/framework/BasePage.java index d2dcb0b..a656e03 100644 --- a/src/test/java/com/essa/framework/BasePage.java +++ b/src/test/java/com/essa/framework/BasePage.java @@ -159,6 +159,7 @@ public class BasePage { Iterator it = handles.iterator(); while (it.hasNext()) { if (currentWindow == it.next()) { + driver.close(); continue; } try { @@ -175,6 +176,20 @@ public class BasePage { } /** + * 处理多窗口之间切换 + * 将会关闭当前的窗口 + */ + protected void switchMoreWindow() { + + String handle = driver.getWindowHandle(); + for(String temhandle : driver.getWindowHandles()) { + if (!temhandle.equals(handle)) { + driver.close(); + driver.switchTo().window(temhandle); + } + } + } + /** * 浏览器弹框操作,true确认弹框,false取消弹框 * @param isAccept */ @@ -485,7 +500,7 @@ public class BasePage { */ protected void mywait(WebElement element) { - WebDriverWait wait = new WebDriverWait(driver, 5); + WebDriverWait wait = new WebDriverWait(driver, 7); // Logger.Output(LogType.LogTypeName.INFO, "等待元素在页面上加载可见,最多5秒"); wait.until(ExpectedConditions.visibilityOf(element)); } @@ -630,11 +645,21 @@ public class BasePage { } } /** - * 动态等待,如果元素不存在,等待一秒直到元素出现 + * 动态等待,如果元素不存在,等待一秒直到元素出现,最长7秒 * @param by */ protected void dynamicWait(By by) { - while (!(isVisibility(by))) { + for(int count=0;count<7&&!(isVisibility(by));count++) { + forceWait(1000); + } + } + + /** + * 与上面的方法相反,如果元素存在,等待直到元素不存在,最长7秒 + * @param by + */ + protected void dynamicLoad(By by) { + for(int count=0;count<7&&isVisibility(by);count++) { forceWait(1000); } } diff --git a/src/test/java/com/essa/framework/Model.java b/src/test/java/com/essa/framework/Model.java index 6463e50..f93810d 100644 --- a/src/test/java/com/essa/framework/Model.java +++ b/src/test/java/com/essa/framework/Model.java @@ -16,9 +16,27 @@ public class Model { public static String buyerAccount;//采购商账号 public static String buyerPassword;//采购商密码 public static String poNum;//po单号 - public static int isactivity;//是否是活动商品 1:是 0:否 + public static int isactivity=0;//是否是活动商品 1:是 0:否 + public static String manager;//商品的类目经理 + public static String serialNum;//待办流水号 + public static String getSerialNum() { + return serialNum; + } + + public static void setSerialNum(String serialNum) { + Model.serialNum = serialNum; + } + + public static String getManager() { + return manager; + } + + public static void setManager(String manager) { + Model.manager = manager; + } + public static int getIsactivity() { return isactivity; } diff --git a/src/test/java/com/essa/pageObject/GoodsManage/AddMarketGoodsPage.java b/src/test/java/com/essa/pageObject/GoodsManage/AddMarketGoodsPage.java index e77b183..43a6391 100644 --- a/src/test/java/com/essa/pageObject/GoodsManage/AddMarketGoodsPage.java +++ b/src/test/java/com/essa/pageObject/GoodsManage/AddMarketGoodsPage.java @@ -131,6 +131,10 @@ public class AddMarketGoodsPage extends BasePage { @FindBy (xpath="//*[@ng-model='model.factoryNo']") WebElement factoryNo; + //包装语言 + @FindBy (xpath = "//*[@dic-list='包装语言']/div[1]") + WebElement packageLanguage; + //自有版权 @FindBy (xpath="//*[text()='自有版权']") WebElement ownCopyright; @@ -248,7 +252,7 @@ public class AddMarketGoodsPage extends BasePage { WebElement count; //装量:1 - @FindBy (xpath="//*[@placeholder='请选择装量']/../../div[3]/div/span[1]") + @FindBy (xpath="//*[@placeholder='请选择装量']/../../div[3]/div/span[2]") WebElement count2; //包装类型 @@ -344,10 +348,7 @@ public class AddMarketGoodsPage extends BasePage { * @throws InterruptedException */ public void selectSupplier(){ -// forceWait(2000); -//// isThisPage("选择...", selectSupplier); dynamicWait(By.xpath("//*[@ng-click='supplier()']")); -// mywait(selectSupplier); selectElement(auditor, "邢昌勇"); click(selectSupplier); click(showSelect); @@ -407,6 +408,7 @@ public class AddMarketGoodsPage extends BasePage { click(english); sendKeys(goodsName, "Market"+skuNameNo); sendKeys(factoryNo, Tools.getFactoryNo()); + click(packageLanguage); click(ownCopyright); click(sevenDays); } @@ -472,9 +474,10 @@ public class AddMarketGoodsPage extends BasePage { public void updatePic() { click(updatePic); uploadFile(Model.getPicPath()); - while(!isElementExist(isUpudate)) { + /*while(!isElementExist(isUpudate)) { forceWait(1000); - } + }*/ + dynamicWait(By.xpath("//*[contains(@ng-click,'deleteInfo')]")); forceWait(1000); click(submit); forceWait(1000); diff --git a/src/test/java/com/essa/pageObject/GoodsManage/AddOriginalGoodsPage.java b/src/test/java/com/essa/pageObject/GoodsManage/AddOriginalGoodsPage.java index 360dbb6..06674b8 100644 --- a/src/test/java/com/essa/pageObject/GoodsManage/AddOriginalGoodsPage.java +++ b/src/test/java/com/essa/pageObject/GoodsManage/AddOriginalGoodsPage.java @@ -8,8 +8,6 @@ import org.openqa.selenium.support.FindBy; import com.essa.framework.BasePage; import com.essa.framework.Tools; -import bsh.This; - /** * 新增原厂商品页面 * @author Administrator @@ -131,6 +129,10 @@ public class AddOriginalGoodsPage extends BasePage { @FindBy (xpath="//*[@ng-model='model.factoryNo']") WebElement factoryNo; + //包装语言 + @FindBy (xpath = "//*[@dic-list='包装语言']/div[1]") + WebElement packageLanguage; + //自有版权 @FindBy (xpath="//*[text()='自有版权']") WebElement ownCopyright; @@ -247,8 +249,8 @@ public class AddOriginalGoodsPage extends BasePage { @FindBy (xpath="//*[@placeholder='请选择装量']") WebElement count; - //装量:1 - @FindBy (xpath="//*[@placeholder='请选择装量']/../../div[3]/div/span[1]") + //装量:9 装量的具体值 + @FindBy (xpath="//*[@placeholder='请选择装量']/../../div[3]/div/span[2]") WebElement count2; //包装类型 @@ -334,7 +336,6 @@ public class AddOriginalGoodsPage extends BasePage { */ public void selectSupplier(String supplierName){ forceWait(2000); -// isThisPage("选择...", selectSupplier); dynamicWait(By.xpath("//*[@ng-click='supplier()']")); click(selectSupplier); click(showSelect); @@ -342,7 +343,6 @@ public class AddOriginalGoodsPage extends BasePage { sendKeys(queryKeyword,supplierName); click(search); forceWait(1000); -// mywait(firstRestult); dynamicWait(By.xpath("//*[@id='spTableParams']/tbody/tr[1]")); click(firstRestult); click(sureBotton); @@ -354,7 +354,6 @@ public class AddOriginalGoodsPage extends BasePage { public void selectBrand() { forceWait(1000); click(brandName); -// mywait(firstBrand); dynamicWait(By.xpath("//*[@class='msgLayer']/li[1]")); click(firstBrand); click(sureBotton); @@ -400,6 +399,7 @@ public class AddOriginalGoodsPage extends BasePage { click(english); sendKeys(goodsName, "Original"+skuNameNo); sendKeys(factoryNo, Tools.getFactoryNo()); + click(packageLanguage); click(ownCopyright); click(sevenDays); } diff --git a/src/test/java/com/essa/pageObject/GoodsManage/GoodsBankPage.java b/src/test/java/com/essa/pageObject/GoodsManage/GoodsBankPage.java index 76a2148..5093e02 100644 --- a/src/test/java/com/essa/pageObject/GoodsManage/GoodsBankPage.java +++ b/src/test/java/com/essa/pageObject/GoodsManage/GoodsBankPage.java @@ -39,8 +39,6 @@ public class GoodsBankPage extends BasePage { * @return No */ public String getNo() { -// forceWait(2000); -// mywait(getSkuName()); dynamicWait(By.xpath("//*[@id='undercarriageGoods']/tbody[1]/tr[1]/td[1]/input")); String skuNo = getSkuNo().getText(); Model.setSkuNo(skuNo); diff --git a/src/test/java/com/essa/pageObject/GoodsManage/GoodsRelesePage.java b/src/test/java/com/essa/pageObject/GoodsManage/GoodsRelesePage.java index 3a7f3c3..1944977 100644 --- a/src/test/java/com/essa/pageObject/GoodsManage/GoodsRelesePage.java +++ b/src/test/java/com/essa/pageObject/GoodsManage/GoodsRelesePage.java @@ -55,8 +55,7 @@ public class GoodsRelesePage extends BasePage { * @return UpdatePicPage */ public UpdatePicPage toUpDatePic() { - forceWait(1000); - isThisPage("商品发布", checkPoint); + forceWait(2000); dynamicWait(By.xpath("//*[@ng-table='preUploadCtrlTableParams']/tbody[1]/tr[1]/td[1]/input")); click(getCheckBox()); click(updatePic); diff --git a/src/test/java/com/essa/pageObject/GoodsManage/UpdatePicPage.java b/src/test/java/com/essa/pageObject/GoodsManage/UpdatePicPage.java index 356f9f2..3f21880 100644 --- a/src/test/java/com/essa/pageObject/GoodsManage/UpdatePicPage.java +++ b/src/test/java/com/essa/pageObject/GoodsManage/UpdatePicPage.java @@ -60,20 +60,21 @@ public class UpdatePicPage extends BasePage { */ public GoodsRelesePage upDatePic() { forceWait(2000); -// isThisPage("SPU信息", checkPoint); dynamicWait(By.xpath("//*[text()='SPU信息']")); click(spuUploadPic); uploadFile(picPath); //如果spu图片还在上传,则等待2秒 - while(!isElementExist(spuPic)) { + /*while(!isElementExist(spuPic)) { forceWait(2000); - } + }*/ + dynamicWait(By.xpath("//*[@class='load-pic']")); click(skuUploadPic); uploadFile(picPath); //如果默认的sku图片还存在,说明图片还在上传,继续等待 - while (!isElementExist(skuPic)) { + /*while (!isElementExist(skuPic)) { forceWait(2000); - } + }*/ + dynamicWait(By.xpath("//*[contains(@ng-click,'picInfo,')]")); forceWait(1000); click(save); return new GoodsRelesePage(driver); diff --git a/src/test/java/com/essa/pageObject/HomePage.java b/src/test/java/com/essa/pageObject/HomePage.java index f344a60..30e0b77 100644 --- a/src/test/java/com/essa/pageObject/HomePage.java +++ b/src/test/java/com/essa/pageObject/HomePage.java @@ -4,6 +4,7 @@ import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; import com.essa.framework.BasePage; +import com.essa.framework.Model; import com.essa.pageObject.GoodsManage.AddOriginalGoodsPage; import com.essa.pageObject.GoodsManage.AuditMarketGoodsPage; import com.essa.pageObject.GoodsManage.AuditOriginalGoodsPage; @@ -12,9 +13,10 @@ import com.essa.pageObject.GoodsManage.GoodsRelesePage; import com.essa.pageObject.GoodsManage.MarketGoodsRelesePage; import com.essa.pageObject.buyPlaneManage.SkuCategoryManagerCongfigPage; import com.essa.pageObject.buyerManage.InvateCodePage; -import com.essa.pageObject.inquiryManage.ProductInquiryTask; +import com.essa.pageObject.inquiryManage.ProductInquiryTaskPage; import com.essa.pageObject.marketingManage.GroupControlPage; -import com.essa.pageObject.marketingManage.GroupSettingPage; +import com.essa.pageObject.marketingManage.GroupSettingPage; +import com.essa.pageObject.needDealt.NeedDealtApplyPage; /** * @author Administrator @@ -125,7 +127,21 @@ public class HomePage extends BasePage{ @FindBy (xpath ="//*[text()='项目立项书查询']") WebElement quiryProject; + //待办中的"采购计划审核流程" + @FindBy (xpath = "//*[@title='采购计划审核流程']") + WebElement purchasePlaneProcess; + //第一条待办 + @FindBy (xpath = "//*[@ng-table='tableParams']/tbody/tr[1]") + WebElement firstNeedDealt; + + //待办搜索文本框 + @FindBy (xpath ="//*[@name='searchForm']/div/input") + WebElement searchText; + + //待办搜索按钮 + @FindBy (xpath = "//*[@name='searchForm']/div/span/button") + WebElement search; /* * 方法 @@ -253,10 +269,10 @@ public class HomePage extends BasePage{ * 进入成品询价任务列表 * @return ProductInquiryTask */ - public ProductInquiryTask toProductInquiryTask() { + public ProductInquiryTaskPage toProductInquiryTask() { click(inquiryManage); click(productInquiryTask); - return new ProductInquiryTask(driver); + return new ProductInquiryTaskPage(driver); } @@ -290,4 +306,42 @@ public class HomePage extends BasePage{ public void logout() { click(logout); } + + /** + * 点击退出,有弹框确认是否离开时,用这个 + */ + public void sureLogout() { + click(logout); + alert(true); + forceWait(1000); + } + + /** + * 团购活动达成,类目经理采购计划单申请 + * @return 询价待办申请页面 + */ + public NeedDealtApplyPage applyPurchasePlane() { + mywait(firstNeedDealt); + click(purchasePlaneProcess); + forceWait(500); + click(firstNeedDealt); + switchWindow(); + return new NeedDealtApplyPage(driver); + } + + /** + * 待办详情页 + * @return 进入待办详情页 + */ + public NeedDealtApplyPage toNeedDealtDetailPage() { + mywait(firstNeedDealt); + sendKeys(searchText, Model.getSerialNum()); + click(search); + forceWait(1000); + mywait(firstNeedDealt); + click(firstNeedDealt); +// switchWindow(); + switchMoreWindow(); + return new NeedDealtApplyPage(driver); + } } \ No newline at end of file diff --git a/src/test/java/com/essa/pageObject/buyPlaneManage/SkuCategoryManagerCongfigPage.java b/src/test/java/com/essa/pageObject/buyPlaneManage/SkuCategoryManagerCongfigPage.java index 58f0f0b..8d1fe39 100644 --- a/src/test/java/com/essa/pageObject/buyPlaneManage/SkuCategoryManagerCongfigPage.java +++ b/src/test/java/com/essa/pageObject/buyPlaneManage/SkuCategoryManagerCongfigPage.java @@ -62,6 +62,7 @@ public class SkuCategoryManagerCongfigPage extends BasePage { /* * 页面方法 */ + /** * 商品分配类目经理 * @return SkuCategoryManagerCongfigPage @@ -71,14 +72,12 @@ public class SkuCategoryManagerCongfigPage extends BasePage { mywait(advancedQuery); click(advancedQuery); sendKeys(skuNoQuery, Model.getSkuNo()); -// sendKeys(skuNoQuery, "200299305"); click(query); mywait(firstCheckBox); click(firstCheckBox); click(distribute); mywait(confirm); selectElement(selectManager, "林荣"); -// forceWait(1000); click(confirm); return new SkuCategoryManagerCongfigPage(driver); } diff --git a/src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryFeedback.java b/src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryFeedback.java deleted file mode 100644 index dce69b9..0000000 --- a/src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryFeedback.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.essa.pageObject.inquiryManage; - -import org.openqa.selenium.By; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; -import org.openqa.selenium.support.FindBy; - -import com.essa.framework.BasePage; -import com.essa.framework.Model; - -/** - * @author Administrator - *成品询价反馈页 - */ -public class ProductInquiryFeedback extends BasePage { - public ProductInquiryFeedback(WebDriver driver) { - super(driver); - } - /* - * 元素定位 - */ - //查询类型 - @FindBy (xpath ="//*[@ng-change='changeSearchType()']") - WebElement searchType; - - //查询条件输入框 - @FindBy (xpath="//*[@placeholder='请输入查询条件']") - WebElement searchText; - - //查询按钮 - @FindBy (xpath ="//button[@ng-click='getFeedbackDetailBySearchInfo()']") - WebElement search; - - //单箱金额 - @FindBy (xpath="//*[contains(text(),'单箱金额')]") - WebElement singlePrice; - - //待反馈任务 - @FindBy (xpath="//*[contains(text(),'待反馈任务')]") - WebElement waitFeedback; - - //提交审核 - @FindBy (xpath="//*[@ng-click='submitFeedback(1)']") - WebElement submit; - - /* - * 页面方法 - */ - /** - * 提交询价任务 - * @return ProductInquiryTask - */ - public ProductInquiryTask submit() { - //根据单箱价格是否为空来判断页面是否加载成功 - while ("单箱金额:".equals(getText(singlePrice))) { - forceWait(1000); - } - selectElement(searchType, "商品编号"); - sendKeys(searchText,Model.getSkuNo()); - //根据sku编号来判断是否加载出想要的sku信息 - click(search); - boolean b = isVisibility(By.xpath("//*[contains(text(),'"+Model.getSkuNo()+"')]")); - while (!b) { - forceWait(1000); - } - click(waitFeedback); - //判断是否加载待反馈视图 - boolean b1 = isVisibility(By.xpath("//*[contains(text(),'询价要求完成时间')]")); - while(!b1) { - forceWait(1000); - } - moveHeightScroll("100"); - click(submit); - return new ProductInquiryTask(driver); - } -} diff --git a/src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryFeedbackPage.java b/src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryFeedbackPage.java new file mode 100644 index 0000000..d6cb10c --- /dev/null +++ b/src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryFeedbackPage.java @@ -0,0 +1,113 @@ +package com.essa.pageObject.inquiryManage; + +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; + +import com.essa.framework.BasePage; +import com.essa.framework.Model; + +/** + * @author Administrator 成品询价反馈页 + */ +public class ProductInquiryFeedbackPage extends BasePage { + public ProductInquiryFeedbackPage(WebDriver driver) { + super(driver); + } + + /* + * 元素定位 + */ + // 查询类型 + @FindBy(xpath = "//*[@ng-change='changeSearchType()']") + WebElement searchType; + + // 查询条件输入框 + @FindBy(xpath = "//*[@placeholder='请输入查询条件']") + WebElement searchText; + + // 查询按钮 + @FindBy(xpath = "//button[@ng-click='getFeedbackDetailBySearchInfo()']") + WebElement search; + + // 单箱金额 + @FindBy(xpath = "//*[contains(text(),'单箱金额')]") + WebElement singlePrice; + + // 待反馈任务 + @FindBy(xpath = "//*[contains(text(),'待反馈任务')]") + WebElement waitFeedback; + + // 提交审核 + @FindBy(xpath = "//*[@ng-click='submitFeedback(1)']") + WebElement submit; + + /* + * 页面方法 + */ + /** + * 提交询价任务 + * + * @return ProductInquiryTask + */ + public ProductInquiryTaskPage submit() { + // 根据单箱价格是否为空来判断页面是否加载成功 + for (int count = 0;"单箱金额:".equals(getText(singlePrice))&& count < 7;count++) { + forceWait(1000); + } + selectElement(searchType, "商品编号"); + sendKeys(searchText, Model.getSkuNo()); + // 根据sku编号来判断是否加载出想要的sku信息 + click(search); +// boolean b = isVisibility(By.xpath("//*[contains(text(),'" + Model.getSkuNo() + "')]")); +// while (!b) { +// forceWait(1000); +// } + dynamicWait(By.xpath("//*[contains(text(),'" + Model.getSkuNo() + "')]")); + click(waitFeedback); + // 判断是否加载待反馈视图 +// boolean b1 = isVisibility(By.xpath("//*[contains(text(),'询价要求完成时间')]")); +// while (!b1) { +// forceWait(1000); +// } + dynamicWait(By.xpath("//*[contains(text(),'询价要求完成时间')]")); + moveHeightScroll("100"); + click(submit); + return new ProductInquiryTaskPage(driver); + } + + /** + * 根据PO单,询价 + * @return + */ + public ProductInquiryTaskPage POsubmit() { + // 根据单箱价格是否为空来判断页面是否加载成功 + for (int count=0;"单箱金额:".equals(getText(singlePrice))&&count<7;count++) { + forceWait(1000); + } + selectElement(searchType, "来源PO单/成品采购单号"); + sendKeys(searchText, Model.getPoNum()); + click(search); +// while (!(isVisibility(By.xpath("//*[@id='mask' and @style='display: none;']")))) { +// forceWait(1000); +// } + dynamicLoad(By.xpath("//*[@id='mask' and @style='display: none;']")); + forceWait(1000); + click(waitFeedback); + dynamicWait(By.xpath("//*[contains(text(),'询价要求完成时间')]")); + moveHeightScroll("100"); + toSubmit(); + return new ProductInquiryTaskPage(driver); + } + + /** + * 如果【提交审核】在页面中存在,则一直点击,最多等7秒 + */ + private void toSubmit() { + for (int count =0;isVisibility(By.xpath("//*[@ng-click='submitFeedback(1)']"))&&count<7;count++) { + click(submit); + forceWait(1000); + } + } +} diff --git a/src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryTask.java b/src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryTask.java deleted file mode 100644 index 1f4e211..0000000 --- a/src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryTask.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.essa.pageObject.inquiryManage; - -import org.openqa.selenium.By; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; -import org.openqa.selenium.support.FindBy; - -import com.essa.framework.BasePage; -import com.essa.framework.Model; - -/** - * @author Administrator - *成品询价任务列表 - */ -public class ProductInquiryTask extends BasePage { - public ProductInquiryTask(WebDriver driver) { - super(driver); - } - /* - * 元素定位 - */ - //高级查询 - @FindBy (xpath ="//*[contains(text(),'高级查询')]") - WebElement advancedQuery; - - //商品编码查询 - @FindBy (xpath="//*[text()='商品编码']/../div/input") - WebElement skuNoQuery; - - //高级查询-查询按钮 - @FindBy (xpath="//*[@name='advSearch']/div[12]/button[1]") - WebElement search; - - //列表第一行数据 - @FindBy (xpath ="//*[@ng-table='tableParams1']/tbody/tr[1]") - WebElement firstRow; - - //询价反馈 - @FindBy (xpath ="//*[contains(text(),'询价反馈')]") - WebElement feedBack; - - //暂无数据--用于检查是否已经成功 - @FindBy (xpath="//*[text()='暂无数据']") - WebElement isSucceed; - /* - * 页面方法 - */ - /** - * 查出要成品询价的商品,进入成品询价反馈页面 - * @return ProductInquiryFeedback - */ - public ProductInquiryFeedback toFeedback() { -// mywait(firstRow); - click(advancedQuery); - sendKeys(skuNoQuery, Model.getSkuNo()); - click(search); - mywait(firstRow); - click(firstRow); - click(feedBack); - return new ProductInquiryFeedback(driver); - } - - /** - * 判断页面是否查询不到该商品 - * @return boolean - */ - public boolean isSucceed() { - click(advancedQuery); - sendKeys(skuNoQuery, Model.getSkuNo()); - click(search); - forceWait(1000); - return isVisibility(By.xpath("//*[text()='暂无数据']")); - } -} diff --git a/src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryTaskPage.java b/src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryTaskPage.java new file mode 100644 index 0000000..0b91489 --- /dev/null +++ b/src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryTaskPage.java @@ -0,0 +1,121 @@ +package com.essa.pageObject.inquiryManage; + +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; + +import com.essa.framework.BasePage; +import com.essa.framework.Model; + +/** + * @author Administrator 成品询价任务列表 + */ +public class ProductInquiryTaskPage extends BasePage { + public ProductInquiryTaskPage(WebDriver driver) { + super(driver); + } + + /* + * 元素定位 + */ + // 高级查询 + @FindBy(xpath = "//*[contains(text(),'高级查询')]") + WebElement advancedQuery; + + // 商品编码查询 + @FindBy(xpath = "//*[text()='商品编码']/../div/input") + WebElement skuNoQuery; + + // 根据PO查询 + @FindBy(xpath = "//*[text()='来源单号']/../div[1]/input") + WebElement POQuery; + + // 高级查询-查询按钮 + @FindBy(xpath = "//*[@name='advSearch']/div[12]/button[1]") + WebElement search; + + // 列表第一行数据 + @FindBy(xpath = "//*[@ng-table='tableParams1']/tbody/tr[1]") + WebElement firstRow; + + // 询价反馈 + @FindBy(xpath = "//*[contains(text(),'询价反馈')]") + WebElement feedBack; + + // 暂无数据--用于检查是否已经成功 + @FindBy(xpath = "//*[text()='暂无数据']") + WebElement isSucceed; + + /* + * 页面方法 + */ + /** + * 查出要成品询价的商品,进入成品询价反馈页面 + * + * @return ProductInquiryFeedback + */ + public ProductInquiryFeedbackPage toFeedback() { +// mywait(firstRow); + click(advancedQuery); + sendKeys(skuNoQuery, Model.getSkuNo()); + click(search); + mywait(firstRow); + click(firstRow); + click(feedBack); + return new ProductInquiryFeedbackPage(driver); + } + + /** + * 判断页面是否查询不到该商品 + * + * @return boolean + */ + public boolean isSucceed() { + click(advancedQuery); + sendKeys(skuNoQuery, Model.getSkuNo()); + click(search); + forceWait(1000); + return isVisibility(By.xpath("//*[text()='暂无数据']")); + } + + /** + * 判断根据po单查询,是否全部询价完成 + * + * @return boolean + */ + public boolean isPOSucceed() { + forceWait(1000); + return isVisibility(By.xpath("//*[@ng-table='tableParams1']/tbody/tr[1]")); + } + + /** + * 根据PO单号查询询价 + * + * @return 询价反馈页面 + */ + public ProductInquiryFeedbackPage POtoFeedback() { + dynamicWait(By.xpath("//*[@ng-table='tableParams1']/tbody/tr[1]")); + click(advancedQuery); + sendKeys(POQuery, Model.getPoNum()); + click(search); + dynamicWait(By.xpath("//*[@id='mask' and @style='display: none;']")); +// dynamicWait(By.xpath("//*[@ng-table='tableParams1']/tbody/tr[1]")); +// mywait(firstRow); +// forceWait(2000); + click(firstRow); + click(feedBack); + return new ProductInquiryFeedbackPage(driver); + } + + /** + * 如果列表中还存在待询价的单,循环方法,继续询价 + * + * @return + */ + public ProductInquiryFeedbackPage POcircle() { + click(firstRow); + click(feedBack); + return new ProductInquiryFeedbackPage(driver); + } +} diff --git a/src/test/java/com/essa/pageObject/marketingManage/CollectBillSettingPage.java b/src/test/java/com/essa/pageObject/marketingManage/CollectBillSettingPage.java index b49a658..2ab1419 100644 --- a/src/test/java/com/essa/pageObject/marketingManage/CollectBillSettingPage.java +++ b/src/test/java/com/essa/pageObject/marketingManage/CollectBillSettingPage.java @@ -133,12 +133,11 @@ public class CollectBillSettingPage extends BasePage { public void addSku() { mywait(addSku); click(addSku); -// System.out.println(Model.getSkuNo()); - while (isVisibility(By.xpath("//*[@class='loading ng-scope']"))) { + /*while (isVisibility(By.xpath("//*[@class='loading ng-scope']"))) { forceWait(1000); - }; + };*/ + dynamicLoad(By.xpath("//*[@class='loading ng-scope']")); sendKeys(searchContent, Model.getSkuNo()); -// sendKeys(searchContent, "200299327"); click(addSkuSearch); forceWait(1000); click(showSku); @@ -153,7 +152,6 @@ public class CollectBillSettingPage extends BasePage { forceWait(1000); mywait(firstCheckBox); sendKeys(content, Model.getSkuNo()); -// sendKeys(searchContent, "200299345"); click(search); mywait(firstCheckBox); click(firstCheckBox); @@ -171,7 +169,6 @@ public class CollectBillSettingPage extends BasePage { click(setPrice); mywait(creatLadder); int firstCost = getFirstCost(); - System.out.println(firstCost); sendKeys(minPrice, firstCost+30+""); sendKeys(maxPrice, firstCost+100+""); sendKeys(ladderCount, "2"); @@ -191,6 +188,7 @@ public class CollectBillSettingPage extends BasePage { click(easternEurope); click(southeastAsia); click(middleEast); + forceWait(500); click(confirm); forceWait(1000); click(confirm); diff --git a/src/test/java/com/essa/pageObject/marketingManage/GroupSettingPage.java b/src/test/java/com/essa/pageObject/marketingManage/GroupSettingPage.java index 3569e33..24d1142 100644 --- a/src/test/java/com/essa/pageObject/marketingManage/GroupSettingPage.java +++ b/src/test/java/com/essa/pageObject/marketingManage/GroupSettingPage.java @@ -133,12 +133,11 @@ public class GroupSettingPage extends BasePage { public void addSku() { mywait(addSku); click(addSku); -// System.out.println(Model.getSkuNo()); - while (isVisibility(By.xpath("//*[@class='loading ng-scope']"))) { + /*while (isVisibility(By.xpath("//*[@class='loading ng-scope']"))) { forceWait(1000); - }; + };*/ + dynamicLoad(By.xpath("//*[@class='loading ng-scope']")); sendKeys(searchContent, Model.getSkuNo()); -// sendKeys(searchContent, "200299327"); click(addSkuSearch); forceWait(1000); click(showSku); @@ -153,7 +152,6 @@ public class GroupSettingPage extends BasePage { forceWait(1000); mywait(firstCheckBox); sendKeys(content, Model.getSkuNo()); -// sendKeys(searchContent, "200299345"); click(search); mywait(firstCheckBox); click(firstCheckBox); @@ -170,7 +168,6 @@ public class GroupSettingPage extends BasePage { click(setPrice); mywait(creatLadder); int firstCost = getFirstCost(); - System.out.println(firstCost); sendKeys(minPrice, firstCost+30+""); sendKeys(maxPrice, firstCost+100+""); sendKeys(ladderCount, "2"); @@ -190,6 +187,7 @@ public class GroupSettingPage extends BasePage { click(easternEurope); click(southeastAsia); click(middleEast); + forceWait(500); click(confirm); forceWait(1000); click(confirm); diff --git a/src/test/java/com/essa/testSuite/TestAddOriginalGoods.java b/src/test/java/com/essa/testSuite/TestAddOriginalGoods.java index e82cb8c..c542c75 100644 --- a/src/test/java/com/essa/testSuite/TestAddOriginalGoods.java +++ b/src/test/java/com/essa/testSuite/TestAddOriginalGoods.java @@ -43,7 +43,6 @@ public class TestAddOriginalGoods extends BaseTest { HomePage homePage = PageFactory.initElements(driver, HomePage.class); homePage.tOriginalGoodsPage(); AddOriginalGoodsPage addOriginalGoodsPage = PageFactory.initElements(driver, AddOriginalGoodsPage.class); -// addOriginalGoodsPage.addOriginalGoods("物料分析"); addOriginalGoodsPage.addOriginalGoods(); } diff --git a/src/test/java/com/essa/testSuite/TestDevelopmentAbility.java b/src/test/java/com/essa/testSuite/TestDevelopmentAbility.java index 9bc3814..b4cf4f6 100644 --- a/src/test/java/com/essa/testSuite/TestDevelopmentAbility.java +++ b/src/test/java/com/essa/testSuite/TestDevelopmentAbility.java @@ -49,25 +49,17 @@ public class TestDevelopmentAbility extends BaseTest { } - // 进入“平台运营跟进管理” 选择供应商,进入其综合实力评估页 @Test(dataProvider = "suppliers", dependsOnMethods = { "toSupplierOperationsTrack" }) public void editDevelopmentAbility(String supplier) throws Exception { - SupplierOperationsTrackPage sotp = PageFactory.initElements(driver, SupplierOperationsTrackPage.class); - - // 断言是否进入页面 - + SupplierOperationsTrackPage sotp = + PageFactory.initElements(driver, SupplierOperationsTrackPage.class); SoftAssert softAssert = new SoftAssert(); - softAssert.assertEquals(sotp.isSucceed(), true, "进入平台运营跟进管理失败!"); - - // 在列表中查找出要编辑的供应商(excel中的)进入实力评估页面 - sotp.goToSupplierStrengthPage(supplier); - - SupplierStrengthPage strengthPage = PageFactory.initElements(driver, SupplierStrengthPage.class); - + SupplierStrengthPage strengthPage = + PageFactory.initElements(driver, SupplierStrengthPage.class); softAssert.assertEquals(strengthPage.isSucceed(), true, "进入实力评估页面失败!"); /* diff --git a/src/test/java/com/essa/testSuite/TestProductInquiry.java b/src/test/java/com/essa/testSuite/TestProductInquiry.java index 8718c7d..834ceb9 100644 --- a/src/test/java/com/essa/testSuite/TestProductInquiry.java +++ b/src/test/java/com/essa/testSuite/TestProductInquiry.java @@ -9,15 +9,14 @@ import org.testng.asserts.SoftAssert; import com.essa.pageObject.BaseTest; import com.essa.pageObject.HomePage; -import com.essa.pageObject.inquiryManage.ProductInquiryFeedback; -import com.essa.pageObject.inquiryManage.ProductInquiryTask; +import com.essa.pageObject.inquiryManage.ProductInquiryFeedbackPage; +import com.essa.pageObject.inquiryManage.ProductInquiryTaskPage; /** - * @author Administrator - *测试用例:成品询价 + * @author Administrator 测试用例:成品询价 */ public class TestProductInquiry extends BaseTest { - + WebDriver driver; @BeforeClass @@ -25,24 +24,26 @@ public class TestProductInquiry extends BaseTest { initsetUp(); loginValid("chenhong"); } + @AfterClass public void tearDown() { driver.quit(); } - + /** * 成品询价 */ - @Test(description="成品询价流程") + @Test(description = "成品询价流程") public void productInquiry() { this.driver = getDriver(); HomePage homePage = PageFactory.initElements(driver, HomePage.class); homePage.toProductInquiryTask(); - ProductInquiryTask productInquiryTask = PageFactory.initElements(driver, ProductInquiryTask.class); + ProductInquiryTaskPage productInquiryTask = PageFactory.initElements(driver, ProductInquiryTaskPage.class); productInquiryTask.toFeedback(); - ProductInquiryFeedback productInquiryFeedback = PageFactory.initElements(driver, ProductInquiryFeedback.class); + ProductInquiryFeedbackPage productInquiryFeedback = PageFactory.initElements(driver, + ProductInquiryFeedbackPage.class); productInquiryFeedback.submit(); - //断言 + // 断言 SoftAssert softAssert = new SoftAssert(); softAssert.assertEquals(productInquiryTask.isSucceed(), true, "成品询价失败!"); softAssert.assertAll(); diff --git a/src/test/java/swing/SwingMain.java b/src/test/java/swing/SwingMain.java index 62120a1..0e89ffc 100644 --- a/src/test/java/swing/SwingMain.java +++ b/src/test/java/swing/SwingMain.java @@ -8,16 +8,31 @@ import javax.swing.JButton; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.io.RandomAccessFile; +import java.io.StringReader; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Properties; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; import java.awt.event.ActionEvent; import javax.swing.JTextField; import org.apache.xmlbeans.impl.xb.xsdschema.Public; +import org.jdom.Document; +import org.jdom.Element; +import org.jdom.JDOMException; +import org.jdom.input.SAXBuilder; +import org.jdom.output.XMLOutputter; import org.testng.TestNG; import com.essa.framework.BrowserEngine; @@ -59,11 +74,11 @@ import java.awt.TextField; import java.awt.Panel; import javax.swing.JScrollBar; import javax.swing.ScrollPaneConstants; +import javax.swing.SwingWorker; import javax.swing.border.LineBorder; /** - * @author Administrator - *图形化 + * @author Administrator 图形化 */ public class SwingMain { @@ -72,10 +87,16 @@ public class SwingMain { private JTextField buyerNo2; public static String no; private JTextField account; - private JTextField SkuNo; + private JTextArea SkuNo; private JTextField password; private JTextField registerAccount; + private JTextArea ja; + private JTextField po; + private String buyerAccount;//采购商账号,存储于配置文件中,记录上一次使用的账号 + private String supplier;//供应商 + private String buyerNo;//采购商编号 + /** * Launch the application. */ @@ -96,18 +117,64 @@ public class SwingMain { * Create the application. */ public SwingMain() { - initialize(); + initData(); + initialize(); + } + + /** + * 读取data.xml文件保存的用户使用的数据,用于读取该用户上一次输入的数据 + * @throws JDOMException + * @throws IOException + */ + public void initData() { + try { + SAXBuilder builder = new SAXBuilder(); + Document document = builder.build(new File(".\\resources\\data.xml")); + Element root = document.getRootElement(); + Element element = root.getChild("data"); + this.buyerAccount = element.getChildText("buyerAccount"); + this.supplier = element.getChildText("supplier"); + this.buyerNo = element.getChildText("buyerNo"); + } catch (Exception e) { + e.printStackTrace(); + } } - public String getCurrentTime() { - SimpleDateFormat format = new SimpleDateFormat("[yyyy-MM-dd HH:mm:ss] "); - Date today = new Date(); - String time = format.format(today); - return time; + + /** + * 将用户输入过的数据保存在data.xml文件中 + * @param key 字段名 + * @param value 参数值 + * @throws JDOMException + * @throws IOException + */ + public void setData(String key,String value) { + try { + SAXBuilder builder = new SAXBuilder(); + Document document = builder.build(new File(".\\resources\\data.xml")); + Element root = document.getRootElement(); + Element element = root.getChild("data"); + element.getChild(key).setText(value); + XMLOutputter XMLOut = new XMLOutputter(); + XMLOut.output(document,new FileOutputStream(".\\resources\\data.xml")); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 获取当前时间 + * @return + */ + public String getCurrentTime() { + SimpleDateFormat format = new SimpleDateFormat("[yyyy-MM-dd HH:mm:ss] "); + Date today = new Date(); + String time = format.format(today); + return time; } /** - * Initialize the contents of the frame. + * frame初始化. */ private void initialize() { frmvBy = new JFrame("ESSA自动化测试工具v1.0.0"); @@ -122,90 +189,123 @@ public class SwingMain { frmvBy.setSize(686, 405); frmvBy.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frmvBy.getContentPane().setLayout(null); - - final JTextArea ja; + + //日志 JScrollPane jsp; ja = new JTextArea(); jsp = new JScrollPane(ja); jsp.setBounds(22, 186, 631, 134); frmvBy.getContentPane().add(jsp); - + ja.setEditable(false); ja.setWrapStyleWord(true); ja.setLineWrap(true); ja.setFont(new Font("微软雅黑", Font.PLAIN, 13)); -// ja.append("提示:建议使用版本号为68.0的Chrome浏览器\r\n"); - ja.append(getCurrentTime()+"默认选择场景:新增原厂商品\r\n"); - + ja.append(getCurrentTime() + "默认选择场景:新增原厂商品\r\n"); + + //操作环境选择 JLabel label = new JLabel("操作环境:"); label.setBounds(24, 53, 78, 15); label.setFont(new Font("微软雅黑", Font.PLAIN, 14)); frmvBy.getContentPane().add(label); - + + //加入到购物车场景 final JPanel ToCart = new JPanel(); ToCart.setBounds(231, 42, 230, 128); ToCart.setVisible(false); frmvBy.getContentPane().add(ToCart); ToCart.setLayout(null); - + + //可视化操作选项 JLabel label_1 = new JLabel("可视化操作:"); label_1.setBounds(10, 119, 88, 15); label_1.setFont(new Font("微软雅黑", Font.PLAIN, 14)); frmvBy.getContentPane().add(label_1); - + + //可视化 JRadioButton view = new JRadioButton("是"); view.setBounds(103, 115, 42, 23); view.setFont(new Font("微软雅黑", Font.PLAIN, 14)); view.setSelected(true); frmvBy.getContentPane().add(view); - + + //无头浏览器 JRadioButton notView = new JRadioButton("否"); notView.setBounds(160, 115, 44, 23); notView.setFont(new Font("微软雅黑", Font.PLAIN, 14)); notView.setEnabled(false); frmvBy.getContentPane().add(notView); - + ButtonGroup group = new ButtonGroup(); group.add(view); group.add(notView); - + + //po询价场景 + final JPanel POInquiry = new JPanel(); + POInquiry.setBounds(231, 42, 234, 134); + frmvBy.getContentPane().add(POInquiry); + POInquiry.setVisible(false); + POInquiry.setLayout(null); + + // po单号字段 + JLabel POnum = new JLabel("PO单号:"); + POnum.setFont(new Font("微软雅黑", Font.PLAIN, 14)); + POnum.setBounds(25, 5, 68, 25); + POInquiry.add(POnum); + + // po单号文本值 + po = new JTextField(); + po.setBounds(90, 6, 110, 25); + POInquiry.add(po); + po.setColumns(10); + + //必填文本 + JLabel lblNewLabel = new JLabel("*必填"); + lblNewLabel.setFont(new Font("微软雅黑", Font.PLAIN, 12)); + lblNewLabel.setForeground(Color.RED); + lblNewLabel.setBounds(200, 10, 44, 15); + POInquiry.add(lblNewLabel); + + //右侧流程介绍文本 final JLabel process = new JLabel(); process.setBounds(474, 25, 179, 170); process.setForeground(Color.GRAY); process.setFont(new Font("微软雅黑", Font.PLAIN, 12)); - process.setText("新增原厂商品场景流程:
1.商品建档
2.更新商品图片
3.审核商品
4.检查商品库,验证是否新增成功
PS:以上均由账号(linxun)操作

"); + process.setText( + "新增原厂商品场景流程:
1.商品建档
2.更新商品图片
3.审核商品
4.检查商品库,验证是否新增成功
PS:以上均由账号(linxun)操作

"); frmvBy.getContentPane().add(process); - + + //操作场景 JLabel label_2 = new JLabel("操作场景:"); label_2.setBounds(24, 87, 78, 15); label_2.setFont(new Font("微软雅黑", Font.PLAIN, 14)); frmvBy.getContentPane().add(label_2); - - + + //新增原厂商品场景 final JPanel addOriginal = new JPanel(); addOriginal.setBounds(231, 37, 234, 134); addOriginal.setVisible(true); frmvBy.getContentPane().add(addOriginal); addOriginal.setLayout(null); - + + //场景选择,插入对应的值,并打印在日志上 final JComboBox selectSystem = new JComboBox(); selectSystem.setBounds(102, 51, 114, 20); selectSystem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - if ("SIT".equals((String)selectSystem.getSelectedItem())) { + if ("SIT".equals((String) selectSystem.getSelectedItem())) { Model.setEnv("SIT"); - ja.append(getCurrentTime()+"已选择环境:SIT\r\n"); - }else if ("DIT".equals((String)selectSystem.getSelectedItem())) { + ja.append(getCurrentTime() + "已选择环境:SIT\r\n"); + } else if ("DIT".equals((String) selectSystem.getSelectedItem())) { Model.setEnv("DIT"); - ja.append(getCurrentTime()+"已选择环境:DIT\r\n"); - }else if ("HOTFIX".equals((String)selectSystem.getSelectedItem())) { + ja.append(getCurrentTime() + "已选择环境:DIT\r\n"); + } else if ("HOTFIX".equals((String) selectSystem.getSelectedItem())) { Model.setEnv("HOTFIX"); - ja.append(getCurrentTime()+"已选择环境:HOTFIX\r\n"); - }else if ("UAT".equals((String)selectSystem.getSelectedItem())){ + ja.append(getCurrentTime() + "已选择环境:HOTFIX\r\n"); + } else if ("UAT".equals((String) selectSystem.getSelectedItem())) { Model.setEnv("UAT"); - ja.append(getCurrentTime()+"已选择环境:UAT\r\n"); + ja.append(getCurrentTime() + "已选择环境:UAT\r\n"); } -// Model.setEnv((String)selectSystem.getSelectedItem()); } }); selectSystem.setFont(new Font("微软雅黑", Font.PLAIN, 14)); @@ -214,180 +314,203 @@ public class SwingMain { selectSystem.addItem("UAT"); selectSystem.addItem("DIT"); frmvBy.getContentPane().add(selectSystem); - + + //添加市场商品 final JPanel addMarket = new JPanel(); addMarket.setBounds(0, 67, 230, 46); addOriginal.add(addMarket); addMarket.setVisible(false); addMarket.setLayout(null); + //采购商注册 + final JPanel register = new JPanel(); + register.setBounds(231, 42, 224, 134); + frmvBy.getContentPane().add(register); + + //浏览器选择 final JComboBox browser = new JComboBox(); browser.setEnabled(false); browser.setFont(new Font("微软雅黑", Font.PLAIN, 14)); browser.setBounds(102, 147, 114, 20); - browser.setModel(new DefaultComboBoxModel(new String[] {"Chrome", "Firefox", "IE"})); + browser.setModel(new DefaultComboBoxModel(new String[] { "Chrome", "Firefox", "IE" })); frmvBy.getContentPane().add(browser); + //场景选择,根据随选场景做对应的交互 final JComboBox selectScene = new JComboBox(); selectScene.setBounds(102, 85, 114, 20); selectScene.setForeground(Color.BLACK); selectScene.setFont(new Font("微软雅黑", Font.PLAIN, 14)); selectScene.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - if ("新增原厂商品".equals((String)selectScene.getSelectedItem())) { - process.setText("新增原厂商品场景流程:
1.商品建档
2.更新商品图片
3.审核商品
4.检查商品库,验证是否新增成功
PS:以上均由账号(linxun)操作

"); + //此处为默认将所有的场景视图先隐藏,后续根据所选场景显示对应的视图 + addOriginal.setVisible(false); + addMarket.setVisible(false); + ToCart.setVisible(false); + POInquiry.setVisible(false); + register.setVisible(false); + if ("新增原厂商品".equals((String) selectScene.getSelectedItem())) { + process.setText( + "新增原厂商品场景流程:
1.商品建档
2.更新商品图片
3.审核商品
4.检查商品库,验证是否新增成功
PS:以上均由账号(linxun)操作

"); + addOriginal.setVisible(true); + ja.append(getCurrentTime() + "已选择场景:新增原厂商品\r\n"); + } else if ("新增市场商品".equals((String) selectScene.getSelectedItem())) { + process.setText("新增市场商品场景流程:
" + "1.指定采购商编号(默认:RUS00833)
" + + "2.使用账号(maomeixiang)对指定采购商进行市场商品建档并选择审核人为\"邢昌勇\"
" + + "3.使用账号(xingchangyong)对市场商品审核
"); addOriginal.setVisible(true); - addMarket.setVisible(false); - ToCart.setVisible(false); - ja.append(getCurrentTime()+"已选择场景:新增原厂商品\r\n"); - }else if("新增市场商品".equals((String)selectScene.getSelectedItem())) { - process.setText("新增市场商品场景流程:
" + - "1.指定采购商编号(默认:RUS00833)
" + - "2.使用账号(maomeixiang)对指定采购商进行市场商品建档并选择审核人为\"邢昌勇\"
" + - "3.使用账号(xingchangyong)对市场商品审核
"); addMarket.setVisible(true); - ToCart.setVisible(false); - ja.append(getCurrentTime()+"已选择场景:新增市场商品\r\n"); - }else if("发布团购".equals((String)selectScene.getSelectedItem())) { - ja.append(getCurrentTime()+"已选择场景:发布团购,运行过程中将会打开关闭浏览器2次!\r\n"); - process.setText("发布团购场景流程:
1.先执行新增原厂商品流程,生成一个原厂SKU
2.使用账号(linrong)为新增的SKU分配类目经理
3.团购设置中添加该SKU,并发布团购,验证团购发布结果"); + ja.append(getCurrentTime() + "已选择场景:新增市场商品\r\n"); + } else if ("发布团购".equals((String) selectScene.getSelectedItem())) { + ja.append(getCurrentTime() + "已选择场景:发布团购,运行过程中将会打开关闭浏览器2次!\r\n"); + process.setText( + "发布团购场景流程:
1.先执行新增原厂商品流程,生成一个原厂SKU
2.使用账号(linrong)为新增的SKU分配类目经理
3.团购设置中添加该SKU,并发布团购,验证团购发布结果"); addOriginal.setVisible(true); - addMarket.setVisible(false); - ToCart.setVisible(false); - }else if ("采购商注册".equals((String)selectScene.getSelectedItem())) { - addOriginal.setVisible(false); - ToCart.setVisible(false); - ja.append(getCurrentTime()+"已选择场景:采购商注册,运行过程中将会打开关闭浏览器2次!\r\n"); - process.setText("采购商注册流程:
1.使用账号(admin)在bpms后台生成一个邀请码
2.采购商平台填写注册信息,并填入上一步生成的邀请码
PS:新账号密码默认为:essa123


"); - }else if ("添加SKU至购物车".equals((String)selectScene.getSelectedItem())) { - addOriginal.setVisible(false); + } else if ("采购商注册".equals((String) selectScene.getSelectedItem())) { + register.setVisible(true); + ja.append(getCurrentTime() + "已选择场景:采购商注册,运行过程中将会打开关闭浏览器2次!\r\n"); + process.setText( + "采购商注册流程:
1.使用账号(admin)在bpms后台生成一个邀请码
2.采购商平台填写注册信息,并填入上一步生成的邀请码
PS:新账号密码默认为:essa123


"); + } else if ("添加SKU至购物车".equals((String) selectScene.getSelectedItem())) { ToCart.setVisible(true); - ja.append(getCurrentTime()+"已选择场景:添加SKU至购物车\r\n"); - process.setText("添加SKU至购物车流程:
1.Buyer平台根据填入的采购
商信息进行登录操作
2.若未填写商品编号,将从数
据库随机查出一个符合要求的
sku添加至购物车


"); - }else if ("成品询价".equals((String)selectScene.getSelectedItem())) { + ja.append(getCurrentTime() + "已选择场景:添加SKU至购物车\r\n"); + process.setText( + "添加SKU至购物车流程:
1.Buyer平台根据填入的采购
商信息进行登录操作
2.若未填写商品编号,将从数
据库随机查出一个符合要求的
sku添加至购物车


"); + } else if ("成品询价".equals((String) selectScene.getSelectedItem())) { ToCart.setVisible(true); - ja.append(getCurrentTime()+"已选择场景:成品询价,运行过程中将会打开关闭浏览器2次!\r\n"); - process.setText("成品询价流程:
1.Buyer平台根据填入的采购
商信息加入sku,若未填写sku
编号,将随机从数据库获取符
合要求的sku
2.bpms后台登录账号(chenhong)对该sku进行成
品询价审核
"); - }else if ("提交PO".equals((String)selectScene.getSelectedItem())) { + ja.append(getCurrentTime() + "已选择场景:成品询价,将重启浏览器多次\r\n"); + process.setText( + "成品询价流程:
1.Buyer平台根据填入的采购
商信息加入sku,若未填写sku
编号,将随机从数据库获取符
合要求的sku
2.bpms后台登录账号(chenhong)对该sku进行成
品询价审核
"); + } else if ("生成PO".equals((String) selectScene.getSelectedItem())) { ToCart.setVisible(true); - ja.append(getCurrentTime()+"已选择场景:提交PO,运行过程中将会打开关闭浏览器3次!\r\n"); - process.setText("提交PO流程:
1.采购商平台加入商品至购物车
2.bpms后台登录账号(chenhong)对该sku进行成品询价审核
3.再次登录采购商平台,进行拼柜、设置唛头、贴纸和提交PO操作"); + ja.append(getCurrentTime() + "已选择场景:生成PO,将重启浏览器多次\r\n"); + process.setText( + "生成PO流程:
1.采购商平台加入商品至购物车
2.bpms后台登录账号(chenhong)对该sku进行成品询价审核
3.再次登录采购商平台,进行拼柜、设置唛头、贴纸和提交PO操作"); + } else if ("PO询价".equals((String) selectScene.getSelectedItem())) { + POInquiry.setVisible(true); + ja.append(getCurrentTime() + "已选择场景:PO询价\r\n"); + process.setText("PO询价使用介绍:
1.填入需要询价的PO单号
2.工具将对该PO单号循环进行询价,直到所有商品均询价完成
3.如果运行过程中出现询价异常等弹框,手工关闭弹窗后脚本仍会继续执行之后的操作"); } } }); - selectScene.setModel(new DefaultComboBoxModel(new String[] {"新增原厂商品", "新增市场商品", "发布团购", "采购商注册", "成品询价", "提交PO"})); + selectScene.setModel( + new DefaultComboBoxModel(new String[] { "新增原厂商品", "新增市场商品", "发布团购", "采购商注册", "成品询价", "生成PO", "PO询价" })); frmvBy.getContentPane().add(selectScene); - + JLabel label_3 = new JLabel("供应商名称:"); label_3.setFont(new Font("微软雅黑", Font.PLAIN, 14)); label_3.setBounds(9, 15, 91, 15); addOriginal.add(label_3); - + + //供应商名称 supplierName = new JTextField(); supplierName.setFont(new Font("微软雅黑", Font.PLAIN, 14)); supplierName.setForeground(Color.BLACK); supplierName.setBounds(92, 10, 114, 25); addOriginal.add(supplierName); - supplierName.setText("ESSA"); + supplierName.setText(supplier); supplierName.setColumns(10); - + + //选择图片 JButton button = new JButton("选择图片"); button.setFont(new Font("微软雅黑", Font.PLAIN, 14)); button.setBounds(91, 44, 91, 23); addOriginal.add(button); - + JLabel lblSku = new JLabel("商品图片:"); lblSku.setFont(new Font("微软雅黑", Font.PLAIN, 14)); lblSku.setBounds(22, 48, 70, 15); addOriginal.add(lblSku); - + final JLabel label_7 = new JLabel("*必填"); label_7.setFont(new Font("微软雅黑", Font.PLAIN, 12)); label_7.setBounds(192, 48, 42, 15); addOriginal.add(label_7); label_7.setForeground(Color.RED); - + + //图片地址 final JLabel picPath = new JLabel(""); picPath.setVisible(false); addOriginal.add(picPath); - + JLabel label_5 = new JLabel("采购商编号:"); label_5.setFont(new Font("微软雅黑", Font.PLAIN, 14)); label_5.setBounds(8, 15, 86, 15); addMarket.add(label_5); - + + //采购商编号 buyerNo2 = new JTextField(); buyerNo2.setBounds(93, 11, 114, 25); addMarket.add(buyerNo2); buyerNo2.setFont(new Font("宋体", Font.PLAIN, 14)); - buyerNo2.setText("RUS00833"); + buyerNo2.setText(buyerNo); buyerNo2.setColumns(10); - + + //选择图片按钮 button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JFileChooser jf = new JFileChooser(); - jf.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES ); + jf.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); jf.showDialog(new JLabel(), "选择图片"); - File file=jf.getSelectedFile(); + File file = jf.getSelectedFile(); String s = null; try { s = file.getAbsolutePath(); } catch (NullPointerException exception) { } - if(s == "" || s == null) { - ja.append(getCurrentTime()+"您未选择图片,请选择图片\r\n"); - }else { - ja.append(getCurrentTime()+"选择的图片为:"+s+"\r\n"); + if (s == "" || s == null) { + ja.append(getCurrentTime() + "您未选择图片,请选择图片\r\n"); + } else { + ja.append(getCurrentTime() + "选择的图片为:" + s + "\r\n"); picPath.setText(s); label_7.setText("已选"); } } }); - + JLabel label_4 = new JLabel("浏览器:"); label_4.setBounds(38, 149, 62, 15); label_4.setFont(new Font("微软雅黑", Font.PLAIN, 14)); frmvBy.getContentPane().add(label_4); - + + //开始按钮 JButton btnNewButton = new JButton("开 始"); btnNewButton.setBounds(551, 325, 101, 35); frmvBy.getContentPane().add(btnNewButton); btnNewButton.setFont(new Font("微软雅黑", Font.PLAIN, 17)); - JLabel lblEssav = new JLabel("ESSA自动化测试工具 V1.0.1"); lblEssav.setBounds(225, 10, 228, 29); lblEssav.setFont(new Font("微软雅黑", Font.BOLD, 16)); frmvBy.getContentPane().add(lblEssav); - - JLabel lblwindowsjdkbug = new JLabel("提示:1.建议使用版本号为68.0的Chrome浏览器
         2.由于部分操作会用到鼠标事件,若运行时手动切换界面可能会导致运行出错"); + + JLabel lblwindowsjdkbug = new JLabel( + "提示:1.建议使用版本号为68.0的Chrome浏览器
         2.由于部分操作会用到鼠标事件,若运行时手动切换界面可能会导致运行出错"); lblwindowsjdkbug.setFont(new Font("微软雅黑", Font.PLAIN, 12)); lblwindowsjdkbug.setBounds(25, 323, 456, 40); frmvBy.getContentPane().add(lblwindowsjdkbug); - - + JLabel Account = new JLabel("采购商账号:"); Account.setFont(new Font("微软雅黑", Font.PLAIN, 14)); Account.setBounds(9, 10, 88, 15); ToCart.add(Account); - + JLabel Password = new JLabel("密码:"); Password.setFont(new Font("微软雅黑", Font.PLAIN, 14)); Password.setBounds(50, 41, 65, 15); ToCart.add(Password); - + JLabel No = new JLabel("商品编号:"); No.setFont(new Font("微软雅黑", Font.PLAIN, 14)); - No.setBounds(22, 75, 88, 15); + No.setBounds(22, 100, 88, 15); ToCart.add(No); - + account = new JTextField(); - account.setText("buyer11159@essa.cn"); + account.setText(buyerAccount); account.setFont(new Font("微软雅黑", Font.PLAIN, 12)); account.setBounds(92, 4, 130, 25); ToCart.add(account); account.setColumns(10); - + password = new JTextField(); password.setText("essa123"); password.setToolTipText(""); @@ -395,32 +518,67 @@ public class SwingMain { password.setBounds(92, 37, 130, 25); ToCart.add(password); password.setColumns(10); - - SkuNo = new JTextField(); - SkuNo.setText("选填,勿填活动商品"); + + //sku编号 + SkuNo = new JTextArea(); + SkuNo.setText("选填,勿填活动商品"); SkuNo.setForeground(Color.LIGHT_GRAY); - SkuNo.setFont(new Font("微软雅黑", Font.PLAIN, 13)); + SkuNo.setFont(new Font("微软雅黑", Font.PLAIN, 12)); + SkuNo.setLineWrap(true); SkuNo.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { - if (SkuNo.getText().equals("选填,勿填活动商品")) { + if (SkuNo.getText().equals("选填,勿填活动商品") || SkuNo.getText().equals("选填,勿填非活动商品") ) { SkuNo.setForeground(Color.black); SkuNo.setText(""); } } }); - SkuNo.setBounds(92, 70, 130, 25); + SkuNo.setBounds(92, 100, 130, 25); + SkuNo.setBorder(new LineBorder(new java.awt.Color(127,157,185), 1, false)); ToCart.add(SkuNo); SkuNo.setColumns(10); - JPanel register = new JPanel(); - register.setBounds(231, 42, 224, 134); - frmvBy.getContentPane().add(register); + //商品类型 + JLabel kind = new JLabel("商品类型:"); + kind.setFont(new Font("微软雅黑", Font.PLAIN, 14)); + kind.setBounds(22, 75, 70, 15); + ToCart.add(kind); + + //非活动商品 + JRadioButton notActivity = new JRadioButton("非活动"); + notActivity.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + Model.setIsactivity(0); + SkuNo.setText("选填,勿填活动商品"); + } + }); + notActivity.setFont(new Font("微软雅黑", Font.PLAIN, 14)); + notActivity.setBounds(92, 71, 70, 23); + ToCart.add(notActivity); + //活动商品 + JRadioButton isActivity = new JRadioButton("活动"); + isActivity.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + Model.setIsactivity(1); + SkuNo.setText("选填,勿填非活动商品"); + } + }); + isActivity.setFont(new Font("微软雅黑", Font.PLAIN, 14)); + isActivity.setBounds(165, 71, 64, 23); + ToCart.add(isActivity); + + //活动和非活动单选 + ButtonGroup group1 = new ButtonGroup(); + group1.add(notActivity); + group1.add(isActivity); + notActivity.setSelected(true); + JLabel RegisterAccount = new JLabel("采购商邮箱:"); register.add(RegisterAccount); RegisterAccount.setFont(new Font("微软雅黑", Font.PLAIN, 14)); - + registerAccount = new JTextField(); registerAccount.setForeground(Color.LIGHT_GRAY); registerAccount.setText("若不填写将自动生成"); @@ -437,85 +595,107 @@ public class SwingMain { registerAccount.setFont(new Font("微软雅黑", Font.PLAIN, 13)); registerAccount.setColumns(10); - btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - String Environment = (String) selectSystem.getSelectedItem(); - String Scene = (String) selectScene.getSelectedItem(); - String Browser = (String) browser.getSelectedItem(); - BrowserEngine.setInit(Environment, Browser); - TestNG testNG = new TestNG(); - List suites = new ArrayList(); - if (Scene == "新增原厂商品") { - AddOriginalGoodsPage.setSupplierName(supplierName.getText()); - UpdatePicPage.setPicPath(picPath.getText()); -// suites.add(".\\suites\\addOriginalGoods.xml"); - suites.add(".\\resources\\suites\\addOriginalGoods.xml");//图形界面 - }else if (Scene == "新增市场商品") { - Model.setBuyerNo(buyerNo2.getText()); - Model.setPicPath(picPath.getText()); - Model.setSupplierName(supplierName.getText()); -// suites.add(".\\suites\\addMarketGoods.xml"); - suites.add(".\\resources\\suites\\addMarketGoods.xml");//图形界面 - } else if (Scene == "发布团购") { - AddOriginalGoodsPage.setSupplierName(supplierName.getText()); - UpdatePicPage.setPicPath(picPath.getText()); -// suites.add(".\\suites\\publishGroupPurchase.xml"); - suites.add(".\\resources\\suites\\publishGroupPurchase.xml");//图形界面 - } else if (Scene == "采购商注册") { -// suites.add(".\\suites\\buyerRegister.xml"); - if (!(registerAccount.getText().equals("") ||registerAccount.getText().equals("若不填写将自动生成"))) { - Model.setEmail(registerAccount.getText()); - } - suites.add(".\\resources\\suites\\buyerRegister.xml");//图形界面 - } else if (Scene == "添加SKU至购物车") { - Model.setBuyerAccount(account.getText()); - Model.setBuyerPassword(password.getText()); - Model.setSkuNo(SkuNo.getText()); - suites.add(".\\resources\\suites\\addSkuToCart.xml");//暂时舍弃 - } else if (Scene == "成品询价") { - Model.setBuyerAccount(account.getText()); - Model.setBuyerPassword(password.getText()); - Model.setSkuNo(SkuNo.getText()); - System.out.println("打印:"+SkuNo);//=============================================== - suites.add(".\\resources\\suites\\productInquiry.xml"); - } else if (Scene == "提交PO") { - Model.setBuyerAccount(account.getText()); - Model.setBuyerPassword(password.getText()); - Model.setSkuNo(SkuNo.getText()); - suites.add(".\\resources\\suites\\sendPO.xml"); - } - testNG.setTestSuites(suites); - testNG.run(); - ja.append(getCurrentTime()+"======="+Scene+"场景,执行完毕!=======\r\n"); - if (Scene == "新增原厂商品" || Scene == "新增市场商品" || Scene == "发布团购") { - no = Model.getSkuNo(); - if (no != null) { - ja.append(getCurrentTime()+"SKU商品编号:"+no+"\r\n"); - }else { - ja.append(getCurrentTime()+"程序执行失败了!\r\n你可查看目录中test-output/index.html的测试报告,或者查看Log中的执行日志检查原因"); - } - }else if (Scene == "采购商注册") { - String code = Model.getInvateCode(); - String email = Model.getEmail(); - if (code !=null && email != null) { - ja.append(getCurrentTime()+"生成的邀请码:"+Model.getInvateCode()+"\r\n"); - ja.append(getCurrentTime()+"新采购商邮箱:"+Model.getEmail()+"\r\n"); - }else { - ja.append(getCurrentTime()+"程序执行失败了!\r\n你可以分析目录中test-output/index.html的测试报告,或者查看目录中Log文件夹生成的执行日志"); + SwingWorker worker = new SwingWorker() {// 加入线程 + + @Override + protected Void doInBackground() throws Exception { + String Environment = (String) selectSystem.getSelectedItem(); + String Scene = (String) selectScene.getSelectedItem(); + String Browser = (String) browser.getSelectedItem(); + //记录用户输入的数据,下次读取 + setData("supplier", supplierName.getText()); + setData("buyerNo", buyerNo2.getText()); + setData("buyerAccount", account.getText()); + ja.append(getCurrentTime() + "程序正在启动中……切勿双击【开始】\r\n"); + BrowserEngine.setInit(Environment, Browser); + TestNG testNG = new TestNG(); + List suites = new ArrayList(); + if (Scene == "新增原厂商品") { + AddOriginalGoodsPage.setSupplierName(supplierName.getText()); + UpdatePicPage.setPicPath(picPath.getText()); + suites.add(".\\resources\\suites\\addOriginalGoods.xml");// 图形界面 + } else if (Scene == "新增市场商品") { + Model.setBuyerNo(buyerNo2.getText()); + Model.setPicPath(picPath.getText()); + Model.setSupplierName(supplierName.getText()); + suites.add(".\\resources\\suites\\addMarketGoods.xml");// 图形界面 + } else if (Scene == "发布团购") { + AddOriginalGoodsPage.setSupplierName(supplierName.getText()); + UpdatePicPage.setPicPath(picPath.getText()); + suites.add(".\\resources\\suites\\publishGroupPurchase.xml");// 图形界面 + } else if (Scene == "采购商注册") { + if (!(registerAccount.getText().equals("") + || registerAccount.getText().equals("若不填写将自动生成"))) { + Model.setEmail(registerAccount.getText()); + } + suites.add(".\\resources\\suites\\buyerRegister.xml");// 图形界面 + } else if (Scene == "添加SKU至购物车") {// 暂时舍弃 + Model.setBuyerAccount(account.getText()); + Model.setBuyerPassword(password.getText()); + Model.setSkuNo(SkuNo.getText()); + suites.add(".\\resources\\suites\\addSkuToCart.xml"); + } else if (Scene == "成品询价") { + Model.setBuyerAccount(account.getText()); + Model.setBuyerPassword(password.getText()); + Model.setSkuNo(SkuNo.getText()); + if (Model.getIsactivity() == 1) { + suites.add(".\\resources\\suites\\activityInquiry.xml"); + }else { + suites.add(".\\resources\\suites\\productInquiry.xml"); + } + } else if (Scene == "生成PO") { + Model.setBuyerAccount(account.getText()); + Model.setBuyerPassword(password.getText()); + Model.setSkuNo(SkuNo.getText()); + if (Model.getIsactivity() == 1) { + suites.add(".\\resources\\suites\\activitySendPO.xml"); + }else { + suites.add(".\\resources\\suites\\sendPO.xml"); + } + } else if (Scene == "PO询价") { + Model.setPoNum(po.getText()); + suites.add(".\\resources\\suites\\POInquiry.xml"); + } + testNG.setTestSuites(suites); + testNG.run(); + ja.append(getCurrentTime() + "=======" + Scene + "场景,执行完毕!=======\r\n"); + if (Scene == "新增原厂商品" || Scene == "新增市场商品" || Scene == "发布团购") { + no = Model.getSkuNo(); + if (no != null) { + ja.append(getCurrentTime() + "SKU商品编号:" + no + "\r\n"); + } else { + ja.append(getCurrentTime() + + "程序执行失败了!\r\n你可查看目录中test-output/index.html的测试报告,或者查看Log中的执行日志检查原因\r\n"); + } + } else if (Scene == "采购商注册") { + String code = Model.getInvateCode(); + String email = Model.getEmail(); + if (code != null && email != null) { + ja.append(getCurrentTime() + "生成的邀请码:" + Model.getInvateCode() + "\r\n"); + ja.append(getCurrentTime() + "新采购商邮箱:" + Model.getEmail() + "\r\n"); + } else { + ja.append(getCurrentTime() + + "程序执行失败了!\r\n你可以分析目录中test-output/index.html的测试报告,或者查看目录中Log文件夹生成的执行日志\r\n"); + } + } else if (Scene == "添加SKU至购物车") { + ja.append(getCurrentTime() + "所选采购商账号:" + Model.getBuyerAccount() + "\r\n"); + ja.append(getCurrentTime() + "添加的SKU编号为:" + Model.getSkuNo() + "\r\n"); + } else if (Scene == "成品询价") { + ja.append(getCurrentTime() + "采购商账号:" + Model.getBuyerAccount() + "\r\n"); + ja.append(getCurrentTime() + "SKU编号:" + Model.getSkuNo() + "\r\n"); + } else if (Scene == "生成PO") { + ja.append(getCurrentTime() + "采购商账号:" + Model.getBuyerAccount() + "\r\n"); + ja.append(getCurrentTime() + "PO单号:" + Model.getPoNum() + "\r\n"); + } + return null; } - }else if (Scene == "添加SKU至购物车") { - ja.append(getCurrentTime()+"所选采购商账号:"+Model.getBuyerAccount()+"\r\n"); - ja.append(getCurrentTime()+"添加的SKU编号为:"+Model.getSkuNo()+"\r\n"); - }else if (Scene == "成品询价") { - ja.append(getCurrentTime()+"采购商账号:"+Model.getBuyerAccount()+"\r\n"); - ja.append(getCurrentTime()+"SKU编号:"+Model.getSkuNo()+"\r\n"); - }else if (Scene == "提交PO") { - ja.append(getCurrentTime()+"采购商账号:"+Model.getBuyerAccount()+"\r\n"); - ja.append(getCurrentTime()+"PO单号:"+Model.getPoNum()+"\r\n"); - } + }; + worker.execute(); + } }); - + } } diff --git a/target/classes/META-INF/MANIFEST.MF b/target/classes/META-INF/MANIFEST.MF index 1b6ffe4..89d4a95 100644 --- a/target/classes/META-INF/MANIFEST.MF +++ b/target/classes/META-INF/MANIFEST.MF @@ -1,5 +1,5 @@ Manifest-Version: 1.0 Built-By: Administrator -Build-Jdk: 10.0.2 +Build-Jdk: 1.8.0_181 Created-By: Maven Integration for Eclipse diff --git a/target/classes/META-INF/maven/com.essatest/essa/pom.properties b/target/classes/META-INF/maven/com.essatest/essa/pom.properties index 8985f72..a335c06 100644 --- a/target/classes/META-INF/maven/com.essatest/essa/pom.properties +++ b/target/classes/META-INF/maven/com.essatest/essa/pom.properties @@ -1,7 +1,7 @@ #Generated by Maven Integration for Eclipse -#Thu Aug 30 10:15:43 CST 2018 -m2e.projectLocation=D\:\\workspace\\demo -m2e.projectName=demo +#Tue Oct 23 15:18:34 CST 2018 +version=0.0.1-SNAPSHOT groupId=com.essatest +m2e.projectName=EssaAuto +m2e.projectLocation=D\:\\WorkSpace\\EssaAuto artifactId=essa -version=0.0.1-SNAPSHOT diff --git a/target/classes/META-INF/maven/com.essatest/essa/pom.xml b/target/classes/META-INF/maven/com.essatest/essa/pom.xml index c2dc74f..71a3f3b 100644 --- a/target/classes/META-INF/maven/com.essatest/essa/pom.xml +++ b/target/classes/META-INF/maven/com.essatest/essa/pom.xml @@ -1,129 +1,135 @@ - - 4.0.0 - - com.essatest - essa - 0.0.1-SNAPSHOT - jar - - essa - http://maven.apache.org - - - UTF-8 - - - - - - org.testng - testng - 6.14.3 - - - - - org.seleniumhq.selenium - selenium-java - 3.11.0 - - - - - org.seleniumhq.selenium - selenium-firefox-driver - 3.11.0 - - - - org.seleniumhq.selenium - selenium-chrome-driver - 3.11.0 - - - - org.seleniumhq.selenium - selenium-safari-driver - 3.11.0 - - - - org.seleniumhq.selenium - selenium-ie-driver - 3.11.0 - - - - - org.seleniumhq.selenium - selenium-support - 2.46.0 - - - - javax.mail - mail - 1.4 - - - - org.apache.commons - commons-collections4 - 4.1 - - - - org.apache.poi - poi - 3.14 - - - - org.apache.poi - poi-ooxml - 3.14 - - - - org.apache.poi - poi-ooxml-schemas - 3.14 - - - - org.apache.commons - commons-io - 1.3.2 - - - - mysql - mysql-connector-java - 6.0.6 - - - org.dbunit - dbunit - 2.5.4 - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.7.1 - - - - resources/suites/testng.xml - - - - - - - + + 4.0.0 + + com.essatest + essa + 0.0.1-SNAPSHOT + jar + + essa + http://maven.apache.org + + + UTF-8 + + + + + + org.testng + testng + 6.14.3 + + + + + org.seleniumhq.selenium + selenium-java + 3.11.0 + + + + + org.seleniumhq.selenium + selenium-firefox-driver + 3.11.0 + + + + org.seleniumhq.selenium + selenium-chrome-driver + 3.11.0 + + + + org.seleniumhq.selenium + selenium-safari-driver + 3.11.0 + + + + org.seleniumhq.selenium + selenium-ie-driver + 3.11.0 + + + + + org.seleniumhq.selenium + selenium-support + 2.46.0 + + + + javax.mail + mail + 1.4 + + + + org.apache.commons + commons-collections4 + 4.1 + + + + org.apache.poi + poi + 3.14 + + + + org.apache.poi + poi-ooxml + 3.14 + + + + org.apache.poi + poi-ooxml-schemas + 3.14 + + + + org.apache.commons + commons-io + 1.3.2 + + + + mysql + mysql-connector-java + 6.0.6 + + + org.dbunit + dbunit + 2.5.4 + + + jdom + jdom + 1.0 + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.7.1 + + + + resources/suites/testng.xml + + + + + + + diff --git a/target/test-classes/com/essa/framework/BasePage.class b/target/test-classes/com/essa/framework/BasePage.class index 9c0d8bb..6f1e83e 100644 Binary files a/target/test-classes/com/essa/framework/BasePage.class and b/target/test-classes/com/essa/framework/BasePage.class differ diff --git a/target/test-classes/com/essa/pageObject/HomePage.class b/target/test-classes/com/essa/pageObject/HomePage.class index 20bce5c..953d9d8 100644 Binary files a/target/test-classes/com/essa/pageObject/HomePage.class and b/target/test-classes/com/essa/pageObject/HomePage.class differ diff --git a/test-output/Default suite/Default test.html b/test-output/Default suite/Default test.html index b9d913d..8701c8b 100644 --- a/test-output/Default suite/Default test.html +++ b/test-output/Default suite/Default test.html @@ -55,11 +55,11 @@ function toggleAllBoxes() {

Default test

- + - + - + @@ -67,75 +67,5 @@ function toggleAllBoxes() {
Tests passed/Failed/Skipped:0/1/0Tests passed/Failed/Skipped:0/0/0
Started on:Fri Aug 31 11:50:34 CST 2018Started on:Tue Oct 16 11:58:40 CST 2018
Total time:11 seconds (11417 ms)
Total time:0 seconds (8 ms)
Included groups:

(Hover the method name to see the test class name)

- - - - - - - - - - - - -
FAILED TESTS
Test methodExceptionTime (seconds)Instance
keywordToCart
Test class: com.buyer.testSuite.TestBuyGoods
Test method: ؼsku빺ﳵ
java.lang.NullPointerException
-	at com.buyer.pageObject.IndexPage.keywordSearch(IndexPage.java:89)
-	at com.buyer.testSuite.TestBuyGoods.keywordToCart(TestBuyGoods.java:46)
-	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
-	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
-	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
-	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
-	at org.testng.internal.Invoker.invokeMethod(Invoker.java:583)
-	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)
-	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989)
-	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
-	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
-	at org.testng.TestRunner.privateRun(TestRunner.java:648)
-	at org.testng.TestRunner.run(TestRunner.java:505)
-	at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
-	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
-	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
-	at org.testng.SuiteRunner.run(SuiteRunner.java:364)
-	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
-	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
-	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
-	at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
-	at org.testng.TestNG.runSuites(TestNG.java:1049)
-	at org.testng.TestNG.run(TestNG.java:1017)
-	at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
-	at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
-	at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
-
Click to show all stack frames -
java.lang.NullPointerException
-	at com.buyer.pageObject.IndexPage.keywordSearch(IndexPage.java:89)
-	at com.buyer.testSuite.TestBuyGoods.keywordToCart(TestBuyGoods.java:46)
-	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
-	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
-	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
-	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
-	at org.testng.internal.Invoker.invokeMethod(Invoker.java:583)
-	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)
-	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989)
-	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
-	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
-	at org.testng.TestRunner.privateRun(TestRunner.java:648)
-	at org.testng.TestRunner.run(TestRunner.java:505)
-	at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
-	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
-	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
-	at org.testng.SuiteRunner.run(SuiteRunner.java:364)
-	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
-	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
-	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
-	at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
-	at org.testng.TestNG.runSuites(TestNG.java:1049)
-	at org.testng.TestNG.run(TestNG.java:1017)
-	at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
-	at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
-	at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
-
1com.buyer.testSuite.TestBuyGoods@44a7bfbc

\ No newline at end of file diff --git a/test-output/Default suite/Default test.xml b/test-output/Default suite/Default test.xml index 7e5f908..4f65f64 100644 --- a/test-output/Default suite/Default test.xml +++ b/test-output/Default suite/Default test.xml @@ -1,40 +1,4 @@ - - - - - - - - - - + + diff --git a/test-output/Default suite/testng-failed.xml b/test-output/Default suite/testng-failed.xml index d4bfcc5..cc31c11 100644 --- a/test-output/Default suite/testng-failed.xml +++ b/test-output/Default suite/testng-failed.xml @@ -1,15 +1,13 @@ - + - + - - - + - + diff --git a/test-output/emailable-report.html b/test-output/emailable-report.html index 9392c06..72a1fc3 100644 --- a/test-output/emailable-report.html +++ b/test-output/emailable-report.html @@ -8,12 +8,14 @@ - - + +
Test# Passed# Skipped# FailedTime (ms)Included GroupsExcluded Groups
成品询价
productInquiry20060,225
新增原厂商品
addOriginalGoods40069,357
- +
ClassMethodStartTime (ms)
成品询价
productInquiry — passed
com.buyer.testSuite.TestAddToCartkeywordToCart153602972158723097
com.essa.testSuite.TestProductInquiryproductInquiry153602975328818216
ClassMethodStartTime (ms)
新增原厂商品
addOriginalGoods — passed
com.essa.testSuite.TestAddOriginalGoodsauditOriginal154028013252314207
getSkuNo15402801467312285
toAddOriginalGoodsPage154028008827829443
updatePic154028011772314799
-

productInquiry

com.buyer.testSuite.TestAddToCart#keywordToCart

back to summary

-

com.essa.testSuite.TestProductInquiry#productInquiry

back to summary

+

addOriginalGoods

com.essa.testSuite.TestAddOriginalGoods#auditOriginal

back to summary

+

com.essa.testSuite.TestAddOriginalGoods#getSkuNo

back to summary

+

com.essa.testSuite.TestAddOriginalGoods#toAddOriginalGoodsPage

back to summary

+

com.essa.testSuite.TestAddOriginalGoods#updatePic

back to summary

diff --git a/test-output/index.html b/test-output/index.html index a7fd516..840320b 100644 --- a/test-output/index.html +++ b/test-output/index.html @@ -29,16 +29,16 @@