Commit a62053f7bfcde08c0c0dd900b349db6458b3bf3f

Authored by Administrator
1 parent b914c976

add scene

Showing 92 changed files with 1918 additions and 1262 deletions   Show diff stats
1   -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2   - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3   - <modelVersion>4.0.0</modelVersion>
4   -
5   - <groupId>com.essatest</groupId>
6   - <artifactId>essa</artifactId>
7   - <version>0.0.1-SNAPSHOT</version>
8   - <packaging>jar</packaging>
9   -
10   - <name>essa</name>
11   - <url>http://maven.apache.org</url>
12   -
13   - <properties>
14   - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
15   - </properties>
16   -
17   -<dependencies>
18   -
19   - <dependency>
20   - <groupId>org.testng</groupId>
21   - <artifactId>testng</artifactId>
22   - <version>6.14.3</version>
23   - <!-- <scope>test</scope>-->
24   - </dependency>
25   -
26   - <dependency>
27   - <groupId>org.seleniumhq.selenium</groupId>
28   - <artifactId>selenium-java</artifactId>
29   - <version>3.11.0</version>
30   - </dependency>
31   -
32   -
33   - <dependency>
34   - <groupId>org.seleniumhq.selenium</groupId>
35   - <artifactId>selenium-firefox-driver</artifactId>
36   - <version>3.11.0</version>
37   - </dependency>
38   -
39   - <dependency>
40   - <groupId>org.seleniumhq.selenium</groupId>
41   - <artifactId>selenium-chrome-driver</artifactId>
42   - <version>3.11.0</version>
43   - </dependency>
44   -
45   - <dependency>
46   - <groupId>org.seleniumhq.selenium</groupId>
47   - <artifactId>selenium-safari-driver</artifactId>
48   - <version>3.11.0</version>
49   - </dependency>
50   -
51   - <dependency>
52   - <groupId>org.seleniumhq.selenium</groupId>
53   - <artifactId>selenium-ie-driver</artifactId>
54   - <version>3.11.0</version>
55   - </dependency>
56   -
57   -
58   - <dependency>
59   - <groupId>org.seleniumhq.selenium</groupId>
60   - <artifactId>selenium-support</artifactId>
61   - <version>2.46.0</version>
62   - </dependency>
63   -
64   - <dependency>
65   - <groupId>javax.mail</groupId>
66   - <artifactId>mail</artifactId>
67   - <version>1.4</version>
68   - </dependency>
69   -
70   - <dependency>
71   - <groupId>org.apache.commons</groupId>
72   - <artifactId>commons-collections4</artifactId>
73   - <version>4.1</version>
74   - </dependency>
75   -
76   - <dependency>
77   - <groupId>org.apache.poi</groupId>
78   - <artifactId>poi</artifactId>
79   - <version>3.14</version>
80   - </dependency>
81   -
82   - <dependency>
83   - <groupId>org.apache.poi</groupId>
84   - <artifactId>poi-ooxml</artifactId>
85   - <version>3.14</version>
86   - </dependency>
87   -
88   - <dependency>
89   - <groupId>org.apache.poi</groupId>
90   - <artifactId>poi-ooxml-schemas</artifactId>
91   - <version>3.14</version>
92   - </dependency>
93   -
94   - <dependency>
95   - <groupId>org.apache.commons</groupId>
96   - <artifactId>commons-io</artifactId>
97   - <version>1.3.2</version>
98   - </dependency>
99   -
100   - <dependency>
101   - <groupId>mysql</groupId>
102   - <artifactId>mysql-connector-java</artifactId>
103   - <version>6.0.6</version>
104   - </dependency>
105   - <dependency>
106   - <groupId>org.dbunit</groupId>
107   - <artifactId>dbunit</artifactId>
108   - <version>2.5.4</version>
109   - </dependency>
110   - </dependencies>
111   -
112   - <build>
113   - <plugins>
114   - <plugin>
115   - <groupId>org.apache.maven.plugins</groupId>
116   - <artifactId>maven-surefire-plugin</artifactId>
117   - <version>2.7.1</version>
118   - <configuration>
119   - <!--<testFailureIgnore>true</testFailureIgnore>-->
120   - <suiteXmlFiles>
121   - <suiteXmlFile>resources/suites/testng.xml</suiteXmlFile>
122   - <!--此处testng.xml即为要运行的testng.xml文件-->
123   - </suiteXmlFiles>
124   - </configuration>
125   - </plugin>
126   - </plugins>
127   - </build>
128   -
  1 +<project xmlns="http://maven.apache.org/POM/4.0.0"
  2 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4 + <modelVersion>4.0.0</modelVersion>
  5 +
  6 + <groupId>com.essatest</groupId>
  7 + <artifactId>essa</artifactId>
  8 + <version>0.0.1-SNAPSHOT</version>
  9 + <packaging>jar</packaging>
  10 +
  11 + <name>essa</name>
  12 + <url>http://maven.apache.org</url>
  13 +
  14 + <properties>
  15 + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  16 + </properties>
  17 +
  18 + <dependencies>
  19 +
  20 + <dependency>
  21 + <groupId>org.testng</groupId>
  22 + <artifactId>testng</artifactId>
  23 + <version>6.14.3</version>
  24 + <!-- <scope>test</scope> -->
  25 + </dependency>
  26 +
  27 + <dependency>
  28 + <groupId>org.seleniumhq.selenium</groupId>
  29 + <artifactId>selenium-java</artifactId>
  30 + <version>3.11.0</version>
  31 + </dependency>
  32 +
  33 +
  34 + <dependency>
  35 + <groupId>org.seleniumhq.selenium</groupId>
  36 + <artifactId>selenium-firefox-driver</artifactId>
  37 + <version>3.11.0</version>
  38 + </dependency>
  39 +
  40 + <dependency>
  41 + <groupId>org.seleniumhq.selenium</groupId>
  42 + <artifactId>selenium-chrome-driver</artifactId>
  43 + <version>3.11.0</version>
  44 + </dependency>
  45 +
  46 + <dependency>
  47 + <groupId>org.seleniumhq.selenium</groupId>
  48 + <artifactId>selenium-safari-driver</artifactId>
  49 + <version>3.11.0</version>
  50 + </dependency>
  51 +
  52 + <dependency>
  53 + <groupId>org.seleniumhq.selenium</groupId>
  54 + <artifactId>selenium-ie-driver</artifactId>
  55 + <version>3.11.0</version>
  56 + </dependency>
  57 +
  58 +
  59 + <dependency>
  60 + <groupId>org.seleniumhq.selenium</groupId>
  61 + <artifactId>selenium-support</artifactId>
  62 + <version>2.46.0</version>
  63 + </dependency>
  64 +
  65 + <dependency>
  66 + <groupId>javax.mail</groupId>
  67 + <artifactId>mail</artifactId>
  68 + <version>1.4</version>
  69 + </dependency>
  70 +
  71 + <dependency>
  72 + <groupId>org.apache.commons</groupId>
  73 + <artifactId>commons-collections4</artifactId>
  74 + <version>4.1</version>
  75 + </dependency>
  76 +
  77 + <dependency>
  78 + <groupId>org.apache.poi</groupId>
  79 + <artifactId>poi</artifactId>
  80 + <version>3.14</version>
  81 + </dependency>
  82 +
  83 + <dependency>
  84 + <groupId>org.apache.poi</groupId>
  85 + <artifactId>poi-ooxml</artifactId>
  86 + <version>3.14</version>
  87 + </dependency>
  88 +
  89 + <dependency>
  90 + <groupId>org.apache.poi</groupId>
  91 + <artifactId>poi-ooxml-schemas</artifactId>
  92 + <version>3.14</version>
  93 + </dependency>
  94 +
  95 + <dependency>
  96 + <groupId>org.apache.commons</groupId>
  97 + <artifactId>commons-io</artifactId>
  98 + <version>1.3.2</version>
  99 + </dependency>
  100 +
  101 + <dependency>
  102 + <groupId>mysql</groupId>
  103 + <artifactId>mysql-connector-java</artifactId>
  104 + <version>6.0.6</version>
  105 + </dependency>
  106 + <dependency>
  107 + <groupId>org.dbunit</groupId>
  108 + <artifactId>dbunit</artifactId>
  109 + <version>2.5.4</version>
  110 + </dependency>
  111 + <dependency>
  112 + <groupId>jdom</groupId>
  113 + <artifactId>jdom</artifactId>
  114 + <version>1.0</version>
  115 + </dependency>
  116 + </dependencies>
  117 +
  118 + <build>
  119 + <plugins>
  120 + <plugin>
  121 + <groupId>org.apache.maven.plugins</groupId>
  122 + <artifactId>maven-surefire-plugin</artifactId>
  123 + <version>2.7.1</version>
  124 + <configuration>
  125 + <!--<testFailureIgnore>true</testFailureIgnore> -->
  126 + <suiteXmlFiles>
  127 + <suiteXmlFile>resources/suites/testng.xml</suiteXmlFile>
  128 + <!--此处testng.xml即为要运行的testng.xml文件 -->
  129 + </suiteXmlFiles>
  130 + </configuration>
  131 + </plugin>
  132 + </plugins>
  133 + </build>
  134 +
129 135 </project>
... ...
src/test/java/com/buyer/pageObject/ConslidationPage.java
... ... @@ -81,10 +81,8 @@ public class ConslidationPage extends BasePage {
81 81 click(leftFirstCheckbox);
82 82 click(add);
83 83 //是否有加入到暂存柜
84   - while(!(isVisibility(rightFirstCheckbox))) {
85   - forceWait(1000);
86   - }
87   - forceWait(1000);
  84 + dynamicWait(By.xpath("//*[@id='right-product-list']/div/div/div[2]/div/ul/li[1]/input"));
  85 + forceWait(2000);
88 86 moveHeightScroll("100");
89 87 forceWait(1000);
90 88 click(next);
... ...
src/test/java/com/buyer/pageObject/IndexPage.java
... ... @@ -71,6 +71,7 @@ public class IndexPage extends BasePage {
71 71 */
72 72 public ShoppingCartPage toShoppingCartPage() {
73 73 if (isVisibility(By.xpath("//*[@id='bind-phone']"))) {
  74 + forceWait(1000);
74 75 click(closed);
75 76 }
76 77 click(minicart);
... ... @@ -86,7 +87,8 @@ public class IndexPage extends BasePage {
86 87 click(closed);
87 88 }
88 89 //如果是非活动
89   - if (Model.getIsactivity()==0 &&(Model.getSkuNo().equals("选填,勿填活动商品")||Model.getSkuNo().equals(""))) {
  90 +// if (Model.getIsactivity()==0 &&(Model.getSkuNo().equals("选填,勿填活动商品")||Model.getSkuNo().equals(""))) {
  91 + if (Model.getIsactivity()==0 &&(("选填,勿填活动商品").equals(Model.getSkuNo())||("").equals(Model.getSkuNo()))) {
90 92 //判断是否自定义输入商品编号
91 93 String sql = "SELECT s.id,s.`no` from prd_category c\r\n" +
92 94 "LEFT JOIN prd_goods g on c.id = g.category_id\r\n" +
... ... @@ -101,7 +103,7 @@ public class IndexPage extends BasePage {
101 103 "AND s.is_delete = 0\r\n" +
102 104 "limit 1";
103 105 Model.setSkuNo(DBSqlSearch(sql, "no"));
104   - }else if (Model.getIsactivity()==1 &&( Model.getSkuNo().equals("选填,勿填非活动中商品")||Model.getSkuNo().equals(""))) {
  106 + }else if (Model.getIsactivity()==1 &&(("选填,勿填非活动商品").equals(Model.getSkuNo())||("").equals(Model.getSkuNo()))) {
105 107 //活动商品
106 108 String sql = "SELECT s.id,s.`no` from prd_category c\r\n" +
107 109 "LEFT JOIN prd_goods g on c.id = g.category_id\r\n" +
... ... @@ -109,10 +111,11 @@ public class IndexPage extends BasePage {
109 111 "LEFT JOIN sale_group_buy a on a.sku_id = s.id\r\n" +
110 112 "where s.`no` > 200000000\r\n" +
111 113 "AND s.id NOT IN (SELECT t.sku_id FROM sale_shopping_cart t)\r\n" +
112   - "AND a.`status` = 20 \r\n" +
  114 + "AND a.`status` = 20 and s.src = 1 \r\n" +
113 115 "limit 1;";
114 116 Model.setSkuNo(DBSqlSearch(sql, "no"));
115 117 }
  118 +// System.out.println(Model.getSkuNo());
116 119 sendKeys(searchText, Model.getSkuNo());
117 120 click(searchButton);
118 121 return new KeywordResultPage(driver);
... ...
src/test/java/com/buyer/pageObject/KeywordResultPage.java
... ... @@ -24,6 +24,7 @@ public class KeywordResultPage extends BasePage {
24 24 @FindBy (xpath ="//*[@id='product-list']/ul[1]/div[1]/li[1]/div[1]/div[1]/div[4]/div[2]")
25 25 WebElement addToCart;
26 26  
  27 + //确认添加
27 28 @FindBy (xpath ="//*[@id='product-list']/ul[1]/div[1]/li[1]/div[2]/div[3]/div[1]")
28 29 WebElement confirmAdd;
29 30  
... ... @@ -40,9 +41,13 @@ public class KeywordResultPage extends BasePage {
40 41 WebElement count;
41 42  
42 43 //活动商品-添加购物车
43   - @FindBy (xpath ="//*[text()='Add to Cart']")
  44 + @FindBy (xpath ="//*[@class='btn-box']/div[2]")
44 45 WebElement addToCart1;
45 46  
  47 + //查询输入框
  48 + @FindBy (xpath ="//*[@class='search-tx']/input")
  49 + WebElement searchText;
  50 +
46 51 /*
47 52 * 页面方法
48 53 */
... ... @@ -51,13 +56,12 @@ public class KeywordResultPage extends BasePage {
51 56 * @return ShoppingCartPage
52 57 */
53 58 public ShoppingCartPage addToCart() {
54   - //判断商品是活动中还是非活动中,此处有坑,活动如果满足要求要走代办
55   - if (Model.getIsactivity() == 0) {
  59 + if (Model.getIsactivity() == 0) {//该sku为非活动商品
56 60 click(addToCart);
57 61 forceWait(1000);
58 62 click(count);
59 63 sendKeys(count, "50");
60   - }else if (Model.getIsactivity() == 1) {
  64 + }else if (Model.getIsactivity() == 1) {//该sku为活动商品
61 65 click(addToCart1);
62 66 forceWait(1000);
63 67 click(count);
... ... @@ -65,17 +69,18 @@ public class KeywordResultPage extends BasePage {
65 69 }
66 70  
67 71 click(confirmAdd);
68   - while(!isVisibility(By.xpath("//*[@class='util-bill-pd']"))) {
69   - forceWait(1000);
70   - }
  72 + dynamicWait(By.xpath("//*[@class='util-bill-pd']"));
71 73 forceWait(1000);
72 74 click(minicart);
  75 + if (Model.getIsactivity() == 1) {
  76 + getManager();//找出对应的类目经理
  77 + }
73 78 return new ShoppingCartPage(driver);
74 79 }
75 80 /**
76 81 * 由于操作过快,系统会提示:有人正在操作
77 82 * sku加入到购物车,但不进入购物车,防止无法操作后续的拼柜
78   - *
  83 + * 此方法与addToCart()一样,只是不进入购物车
79 84 */
80 85 public void addSku() {
81 86 if (Model.getIsactivity() == 0) {
... ... @@ -90,9 +95,22 @@ public class KeywordResultPage extends BasePage {
90 95 sendKeys(count, "200");
91 96 }
92 97 click(confirmAdd);
93   - while(!isVisibility(By.xpath("//*[@class='util-bill-pd']"))) {
94   - forceWait(1000);
  98 + dynamicWait(By.xpath("//*[@class='util-bill-pd']"));
  99 + if (Model.getIsactivity() == 1) {
  100 + sendKeys(searchText, "查询数据库ing……程序还在进行,无聊可以先去撩撩妹子呀!");
  101 + getManager();//找出对应的类目经理
95 102 }
96   - forceWait(1000);
  103 + }
  104 +
  105 + /**
  106 + * 根据sql查出商品对应类目经理,并在model类中设置其值
  107 + */
  108 + public void getManager() {
  109 + //查找商品对应的类目经理sql
  110 + String sql = "SELECT u.account_name from prd_goods g \r\n" +
  111 + "LEFT JOIN prd_goods_sku s on g.id = s.goods_id\r\n" +
  112 + "LEFT JOIN pri_user u on u.id = g.category_manager_id\r\n" +
  113 + "where s.`no` in ("+Model.getSkuNo()+");";
  114 + Model.setManager(DBSqlSearch(sql, "account_name"));
97 115 }
98 116 }
... ...
src/test/java/com/buyer/pageObject/OrderPreviewPage.java
... ... @@ -33,9 +33,10 @@ public class OrderPreviewPage extends BasePage {
33 33 * @return PayDepositPage
34 34 */
35 35 public PayDepositPage submit() {
36   - while(!(isVisibility(By.xpath("//*[@ng-checked='list.isAuthorExchange==1']")))) {
37   - forceWait(1000);
38   - }
  36 +// while(!(isVisibility(By.xpath("//*[@ng-checked='list.isAuthorExchange==1']")))) {
  37 +// forceWait(1000);
  38 +// }
  39 + dynamicWait(By.xpath("//*[@ng-checked='list.isAuthorExchange==1']"));
39 40 moveHeightScroll("50");
40 41 forceWait(500);
41 42 jsExecutorClick(agree);
... ...
src/test/java/com/buyer/pageObject/PayDepositPage.java
... ... @@ -52,9 +52,10 @@ public class PayDepositPage extends BasePage {
52 52 }
53 53  
54 54 public void operate() {
55   - while (!(isVisibility(By.xpath("//*[contains(text(),'PO information')]")))) {
  55 + /*while (!(isVisibility(By.xpath("//*[contains(text(),'PO information')]")))) {
56 56 forceWait(1000);
57   - }
  57 + }*/
  58 + dynamicWait(By.xpath("//*[contains(text(),'PO information')]"));
58 59 Model.setPoNum(poNum.getText());
59 60 if (isVisibility(By.xpath("//button[@class='submit-payment-deposit-button btn btn-primary']"))) {
60 61 //如果是可用资金不足,跳转到资金管理
... ...
src/test/java/com/buyer/pageObject/SettingMarksPage.java
... ... @@ -33,9 +33,10 @@ public class SettingMarksPage extends BasePage {
33 33 * @return SettingStickerPage
34 34 */
35 35 public SettingStickerPage setMarks() {
36   - while(!(isVisibility(By.xpath("//*[@title='No shipping marks for these products']")))) {
  36 + /*while(!(isVisibility(By.xpath("//*[@title='No shipping marks for these products']")))) {
37 37 forceWait(1000);
38   - }
  38 + }*/
  39 + dynamicWait(By.xpath("//*[@title='No shipping marks for these products']"));
39 40 click(noNeedMarks);
40 41 click(next);
41 42 forceWait(500);
... ...
src/test/java/com/buyer/pageObject/SettingStickerPage.java
... ... @@ -32,9 +32,10 @@ public class SettingStickerPage extends BasePage {
32 32 * @return OrderPreviewPage
33 33 */
34 34 public OrderPreviewPage setSticker() {
35   - while (!(isVisibility(By.xpath("//*[@title='No stickers for these products']")))) {
  35 + /*while (!(isVisibility(By.xpath("//*[@title='No stickers for these products']")))) {
36 36 forceWait(1000);
37   - }
  37 + }*/
  38 + dynamicWait(By.xpath("//*[@title='No stickers for these products']"));
38 39 click(noNeedSticker);
39 40 click(next);
40 41 click(ok);
... ...
src/test/java/com/buyer/pageObject/ShoppingCartPage.java
... ... @@ -40,6 +40,10 @@ public class ShoppingCartPage extends BasePage {
40 40 @FindBy (xpath ="//button[contains(text(),' Start consolidation')]")
41 41 WebElement startConslidation;
42 42  
  43 + //确认采购按钮
  44 + @FindBy (xpath = "//*[@class='products-list ng-scope']/div[2]/div/div[1]/div/span[5]/div/button")
  45 + WebElement confirmOrder;
  46 +
43 47 /*
44 48 * 页面方法
45 49 */
... ... @@ -67,4 +71,11 @@ public class ShoppingCartPage extends BasePage {
67 71 return new ConslidationPage(driver);
68 72 }
69 73  
  74 + /**
  75 + * 确认采购
  76 + */
  77 + public void confirmOrder() {
  78 + dynamicLoad(By.xpath("//*[@class='products-list ng-scope']/div[2]/div/div[1]/div/span[5]/div/button"));
  79 + click(confirmOrder);
  80 + }
70 81 }
... ...
src/test/java/com/buyer/testSuite/TestAddToCart.java
... ... @@ -25,6 +25,8 @@ public class TestAddToCart extends BaseTest {
25 25 initBuyer();
26 26 loginBuyerValid(Model.getBuyerAccount(),Model.getBuyerPassword());
27 27 // loginBuyerValid("buyer51551@essa.cn","essa123");
  28 +// Model.setIsactivity(1);
  29 +// Model.setSkuNo("");
28 30 }
29 31 @AfterClass
30 32 public void tearDown() {
... ... @@ -34,7 +36,7 @@ public class TestAddToCart extends BaseTest {
34 36 /**
35 37 * 关键字查询,并将搜到的结果加入购物车
36 38 */
37   - @Test(description="关键字搜索,并将sku加入购物车")
  39 + @Test(description="关键字搜索,并将sku加入购物车",groups= {"first"})
38 40 public void keywordToCart() {
39 41 this.driver = getDriver();
40 42 IndexPage indexPage = PageFactory.initElements(driver, IndexPage.class);
... ...
src/test/java/com/essa/framework/BasePage.java
... ... @@ -159,6 +159,7 @@ public class BasePage {
159 159 Iterator<String> it = handles.iterator();
160 160 while (it.hasNext()) {
161 161 if (currentWindow == it.next()) {
  162 + driver.close();
162 163 continue;
163 164 }
164 165 try {
... ... @@ -175,6 +176,20 @@ public class BasePage {
175 176 }
176 177  
177 178 /**
  179 + * 处理多窗口之间切换
  180 + * 将会关闭当前的窗口
  181 + */
  182 + protected void switchMoreWindow() {
  183 +
  184 + String handle = driver.getWindowHandle();
  185 + for(String temhandle : driver.getWindowHandles()) {
  186 + if (!temhandle.equals(handle)) {
  187 + driver.close();
  188 + driver.switchTo().window(temhandle);
  189 + }
  190 + }
  191 + }
  192 + /**
178 193 * 浏览器弹框操作,true确认弹框,false取消弹框
179 194 * @param isAccept
180 195 */
... ... @@ -485,7 +500,7 @@ public class BasePage {
485 500 */
486 501 protected void mywait(WebElement element) {
487 502  
488   - WebDriverWait wait = new WebDriverWait(driver, 5);
  503 + WebDriverWait wait = new WebDriverWait(driver, 7);
489 504 // Logger.Output(LogType.LogTypeName.INFO, "等待元素在页面上加载可见,最多5秒");
490 505 wait.until(ExpectedConditions.visibilityOf(element));
491 506 }
... ... @@ -630,11 +645,21 @@ public class BasePage {
630 645 }
631 646 }
632 647 /**
633   - * 动态等待,如果元素不存在,等待一秒直到元素出现
  648 + * 动态等待,如果元素不存在,等待一秒直到元素出现,最长7秒
634 649 * @param by
635 650 */
636 651 protected void dynamicWait(By by) {
637   - while (!(isVisibility(by))) {
  652 + for(int count=0;count<7&&!(isVisibility(by));count++) {
  653 + forceWait(1000);
  654 + }
  655 + }
  656 +
  657 + /**
  658 + * 与上面的方法相反,如果元素存在,等待直到元素不存在,最长7秒
  659 + * @param by
  660 + */
  661 + protected void dynamicLoad(By by) {
  662 + for(int count=0;count<7&&isVisibility(by);count++) {
638 663 forceWait(1000);
639 664 }
640 665 }
... ...
src/test/java/com/essa/framework/Model.java
... ... @@ -16,9 +16,27 @@ public class Model {
16 16 public static String buyerAccount;//采购商账号
17 17 public static String buyerPassword;//采购商密码
18 18 public static String poNum;//po单号
19   - public static int isactivity;//是否是活动商品 1:是 0:否
  19 + public static int isactivity=0;//是否是活动商品 1:是 0:否
  20 + public static String manager;//商品的类目经理
  21 + public static String serialNum;//待办流水号
20 22  
21 23  
  24 + public static String getSerialNum() {
  25 + return serialNum;
  26 + }
  27 +
  28 + public static void setSerialNum(String serialNum) {
  29 + Model.serialNum = serialNum;
  30 + }
  31 +
  32 + public static String getManager() {
  33 + return manager;
  34 + }
  35 +
  36 + public static void setManager(String manager) {
  37 + Model.manager = manager;
  38 + }
  39 +
22 40 public static int getIsactivity() {
23 41 return isactivity;
24 42 }
... ...
src/test/java/com/essa/pageObject/GoodsManage/AddMarketGoodsPage.java
... ... @@ -131,6 +131,10 @@ public class AddMarketGoodsPage extends BasePage {
131 131 @FindBy (xpath="//*[@ng-model='model.factoryNo']")
132 132 WebElement factoryNo;
133 133  
  134 + //包装语言
  135 + @FindBy (xpath = "//*[@dic-list='包装语言']/div[1]")
  136 + WebElement packageLanguage;
  137 +
134 138 //自有版权
135 139 @FindBy (xpath="//*[text()='自有版权']")
136 140 WebElement ownCopyright;
... ... @@ -248,7 +252,7 @@ public class AddMarketGoodsPage extends BasePage {
248 252 WebElement count;
249 253  
250 254 //装量:1
251   - @FindBy (xpath="//*[@placeholder='请选择装量']/../../div[3]/div/span[1]")
  255 + @FindBy (xpath="//*[@placeholder='请选择装量']/../../div[3]/div/span[2]")
252 256 WebElement count2;
253 257  
254 258 //包装类型
... ... @@ -344,10 +348,7 @@ public class AddMarketGoodsPage extends BasePage {
344 348 * @throws InterruptedException
345 349 */
346 350 public void selectSupplier(){
347   -// forceWait(2000);
348   -//// isThisPage("选择...", selectSupplier);
349 351 dynamicWait(By.xpath("//*[@ng-click='supplier()']"));
350   -// mywait(selectSupplier);
351 352 selectElement(auditor, "邢昌勇");
352 353 click(selectSupplier);
353 354 click(showSelect);
... ... @@ -407,6 +408,7 @@ public class AddMarketGoodsPage extends BasePage {
407 408 click(english);
408 409 sendKeys(goodsName, "Market"+skuNameNo);
409 410 sendKeys(factoryNo, Tools.getFactoryNo());
  411 + click(packageLanguage);
410 412 click(ownCopyright);
411 413 click(sevenDays);
412 414 }
... ... @@ -472,9 +474,10 @@ public class AddMarketGoodsPage extends BasePage {
472 474 public void updatePic() {
473 475 click(updatePic);
474 476 uploadFile(Model.getPicPath());
475   - while(!isElementExist(isUpudate)) {
  477 + /*while(!isElementExist(isUpudate)) {
476 478 forceWait(1000);
477   - }
  479 + }*/
  480 + dynamicWait(By.xpath("//*[contains(@ng-click,'deleteInfo')]"));
478 481 forceWait(1000);
479 482 click(submit);
480 483 forceWait(1000);
... ...
src/test/java/com/essa/pageObject/GoodsManage/AddOriginalGoodsPage.java
... ... @@ -8,8 +8,6 @@ import org.openqa.selenium.support.FindBy;
8 8 import com.essa.framework.BasePage;
9 9 import com.essa.framework.Tools;
10 10  
11   -import bsh.This;
12   -
13 11 /**
14 12 * 新增原厂商品页面
15 13 * @author Administrator
... ... @@ -131,6 +129,10 @@ public class AddOriginalGoodsPage extends BasePage {
131 129 @FindBy (xpath="//*[@ng-model='model.factoryNo']")
132 130 WebElement factoryNo;
133 131  
  132 + //包装语言
  133 + @FindBy (xpath = "//*[@dic-list='包装语言']/div[1]")
  134 + WebElement packageLanguage;
  135 +
134 136 //自有版权
135 137 @FindBy (xpath="//*[text()='自有版权']")
136 138 WebElement ownCopyright;
... ... @@ -247,8 +249,8 @@ public class AddOriginalGoodsPage extends BasePage {
247 249 @FindBy (xpath="//*[@placeholder='请选择装量']")
248 250 WebElement count;
249 251  
250   - //装量:1
251   - @FindBy (xpath="//*[@placeholder='请选择装量']/../../div[3]/div/span[1]")
  252 + //装量:9 装量的具体值
  253 + @FindBy (xpath="//*[@placeholder='请选择装量']/../../div[3]/div/span[2]")
252 254 WebElement count2;
253 255  
254 256 //包装类型
... ... @@ -334,7 +336,6 @@ public class AddOriginalGoodsPage extends BasePage {
334 336 */
335 337 public void selectSupplier(String supplierName){
336 338 forceWait(2000);
337   -// isThisPage("选择...", selectSupplier);
338 339 dynamicWait(By.xpath("//*[@ng-click='supplier()']"));
339 340 click(selectSupplier);
340 341 click(showSelect);
... ... @@ -342,7 +343,6 @@ public class AddOriginalGoodsPage extends BasePage {
342 343 sendKeys(queryKeyword,supplierName);
343 344 click(search);
344 345 forceWait(1000);
345   -// mywait(firstRestult);
346 346 dynamicWait(By.xpath("//*[@id='spTableParams']/tbody/tr[1]"));
347 347 click(firstRestult);
348 348 click(sureBotton);
... ... @@ -354,7 +354,6 @@ public class AddOriginalGoodsPage extends BasePage {
354 354 public void selectBrand() {
355 355 forceWait(1000);
356 356 click(brandName);
357   -// mywait(firstBrand);
358 357 dynamicWait(By.xpath("//*[@class='msgLayer']/li[1]"));
359 358 click(firstBrand);
360 359 click(sureBotton);
... ... @@ -400,6 +399,7 @@ public class AddOriginalGoodsPage extends BasePage {
400 399 click(english);
401 400 sendKeys(goodsName, "Original"+skuNameNo);
402 401 sendKeys(factoryNo, Tools.getFactoryNo());
  402 + click(packageLanguage);
403 403 click(ownCopyright);
404 404 click(sevenDays);
405 405 }
... ...
src/test/java/com/essa/pageObject/GoodsManage/GoodsBankPage.java
... ... @@ -39,8 +39,6 @@ public class GoodsBankPage extends BasePage {
39 39 * @return No
40 40 */
41 41 public String getNo() {
42   -// forceWait(2000);
43   -// mywait(getSkuName());
44 42 dynamicWait(By.xpath("//*[@id='undercarriageGoods']/tbody[1]/tr[1]/td[1]/input"));
45 43 String skuNo = getSkuNo().getText();
46 44 Model.setSkuNo(skuNo);
... ...
src/test/java/com/essa/pageObject/GoodsManage/GoodsRelesePage.java
... ... @@ -55,8 +55,7 @@ public class GoodsRelesePage extends BasePage {
55 55 * @return UpdatePicPage
56 56 */
57 57 public UpdatePicPage toUpDatePic() {
58   - forceWait(1000);
59   - isThisPage("商品发布", checkPoint);
  58 + forceWait(2000);
60 59 dynamicWait(By.xpath("//*[@ng-table='preUploadCtrlTableParams']/tbody[1]/tr[1]/td[1]/input"));
61 60 click(getCheckBox());
62 61 click(updatePic);
... ...
src/test/java/com/essa/pageObject/GoodsManage/UpdatePicPage.java
... ... @@ -60,20 +60,21 @@ public class UpdatePicPage extends BasePage {
60 60 */
61 61 public GoodsRelesePage upDatePic() {
62 62 forceWait(2000);
63   -// isThisPage("SPU信息", checkPoint);
64 63 dynamicWait(By.xpath("//*[text()='SPU信息']"));
65 64 click(spuUploadPic);
66 65 uploadFile(picPath);
67 66 //如果spu图片还在上传,则等待2秒
68   - while(!isElementExist(spuPic)) {
  67 + /*while(!isElementExist(spuPic)) {
69 68 forceWait(2000);
70   - }
  69 + }*/
  70 + dynamicWait(By.xpath("//*[@class='load-pic']"));
71 71 click(skuUploadPic);
72 72 uploadFile(picPath);
73 73 //如果默认的sku图片还存在,说明图片还在上传,继续等待
74   - while (!isElementExist(skuPic)) {
  74 + /*while (!isElementExist(skuPic)) {
75 75 forceWait(2000);
76   - }
  76 + }*/
  77 + dynamicWait(By.xpath("//*[contains(@ng-click,'picInfo,')]"));
77 78 forceWait(1000);
78 79 click(save);
79 80 return new GoodsRelesePage(driver);
... ...
src/test/java/com/essa/pageObject/HomePage.java
... ... @@ -4,6 +4,7 @@ import org.openqa.selenium.WebDriver;
4 4 import org.openqa.selenium.WebElement;
5 5 import org.openqa.selenium.support.FindBy;
6 6 import com.essa.framework.BasePage;
  7 +import com.essa.framework.Model;
7 8 import com.essa.pageObject.GoodsManage.AddOriginalGoodsPage;
8 9 import com.essa.pageObject.GoodsManage.AuditMarketGoodsPage;
9 10 import com.essa.pageObject.GoodsManage.AuditOriginalGoodsPage;
... ... @@ -12,9 +13,10 @@ import com.essa.pageObject.GoodsManage.GoodsRelesePage;
12 13 import com.essa.pageObject.GoodsManage.MarketGoodsRelesePage;
13 14 import com.essa.pageObject.buyPlaneManage.SkuCategoryManagerCongfigPage;
14 15 import com.essa.pageObject.buyerManage.InvateCodePage;
15   -import com.essa.pageObject.inquiryManage.ProductInquiryTask;
  16 +import com.essa.pageObject.inquiryManage.ProductInquiryTaskPage;
16 17 import com.essa.pageObject.marketingManage.GroupControlPage;
17   -import com.essa.pageObject.marketingManage.GroupSettingPage;
  18 +import com.essa.pageObject.marketingManage.GroupSettingPage;
  19 +import com.essa.pageObject.needDealt.NeedDealtApplyPage;
18 20  
19 21 /**
20 22 * @author Administrator
... ... @@ -125,7 +127,21 @@ public class HomePage extends BasePage{
125 127 @FindBy (xpath ="//*[text()='项目立项书查询']")
126 128 WebElement quiryProject;
127 129  
  130 + //待办中的"采购计划审核流程"
  131 + @FindBy (xpath = "//*[@title='采购计划审核流程']")
  132 + WebElement purchasePlaneProcess;
128 133  
  134 + //第一条待办
  135 + @FindBy (xpath = "//*[@ng-table='tableParams']/tbody/tr[1]")
  136 + WebElement firstNeedDealt;
  137 +
  138 + //待办搜索文本框
  139 + @FindBy (xpath ="//*[@name='searchForm']/div/input")
  140 + WebElement searchText;
  141 +
  142 + //待办搜索按钮
  143 + @FindBy (xpath = "//*[@name='searchForm']/div/span/button")
  144 + WebElement search;
129 145  
130 146 /*
131 147 * 方法
... ... @@ -253,10 +269,10 @@ public class HomePage extends BasePage{
253 269 * 进入成品询价任务列表
254 270 * @return ProductInquiryTask
255 271 */
256   - public ProductInquiryTask toProductInquiryTask() {
  272 + public ProductInquiryTaskPage toProductInquiryTask() {
257 273 click(inquiryManage);
258 274 click(productInquiryTask);
259   - return new ProductInquiryTask(driver);
  275 + return new ProductInquiryTaskPage(driver);
260 276 }
261 277  
262 278  
... ... @@ -290,4 +306,42 @@ public class HomePage extends BasePage{
290 306 public void logout() {
291 307 click(logout);
292 308 }
  309 +
  310 + /**
  311 + * 点击退出,有弹框确认是否离开时,用这个
  312 + */
  313 + public void sureLogout() {
  314 + click(logout);
  315 + alert(true);
  316 + forceWait(1000);
  317 + }
  318 +
  319 + /**
  320 + * 团购活动达成,类目经理采购计划单申请
  321 + * @return 询价待办申请页面
  322 + */
  323 + public NeedDealtApplyPage applyPurchasePlane() {
  324 + mywait(firstNeedDealt);
  325 + click(purchasePlaneProcess);
  326 + forceWait(500);
  327 + click(firstNeedDealt);
  328 + switchWindow();
  329 + return new NeedDealtApplyPage(driver);
  330 + }
  331 +
  332 + /**
  333 + * 待办详情页
  334 + * @return 进入待办详情页
  335 + */
  336 + public NeedDealtApplyPage toNeedDealtDetailPage() {
  337 + mywait(firstNeedDealt);
  338 + sendKeys(searchText, Model.getSerialNum());
  339 + click(search);
  340 + forceWait(1000);
  341 + mywait(firstNeedDealt);
  342 + click(firstNeedDealt);
  343 +// switchWindow();
  344 + switchMoreWindow();
  345 + return new NeedDealtApplyPage(driver);
  346 + }
293 347 }
294 348 \ No newline at end of file
... ...
src/test/java/com/essa/pageObject/buyPlaneManage/SkuCategoryManagerCongfigPage.java
... ... @@ -62,6 +62,7 @@ public class SkuCategoryManagerCongfigPage extends BasePage {
62 62 /*
63 63 * 页面方法
64 64 */
  65 +
65 66 /**
66 67 * 商品分配类目经理
67 68 * @return SkuCategoryManagerCongfigPage
... ... @@ -71,14 +72,12 @@ public class SkuCategoryManagerCongfigPage extends BasePage {
71 72 mywait(advancedQuery);
72 73 click(advancedQuery);
73 74 sendKeys(skuNoQuery, Model.getSkuNo());
74   -// sendKeys(skuNoQuery, "200299305");
75 75 click(query);
76 76 mywait(firstCheckBox);
77 77 click(firstCheckBox);
78 78 click(distribute);
79 79 mywait(confirm);
80 80 selectElement(selectManager, "林荣");
81   -// forceWait(1000);
82 81 click(confirm);
83 82 return new SkuCategoryManagerCongfigPage(driver);
84 83 }
... ...
src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryFeedback.java deleted
... ... @@ -1,76 +0,0 @@
1   -package com.essa.pageObject.inquiryManage;
2   -
3   -import org.openqa.selenium.By;
4   -import org.openqa.selenium.WebDriver;
5   -import org.openqa.selenium.WebElement;
6   -import org.openqa.selenium.support.FindBy;
7   -
8   -import com.essa.framework.BasePage;
9   -import com.essa.framework.Model;
10   -
11   -/**
12   - * @author Administrator
13   - *成品询价反馈页
14   - */
15   -public class ProductInquiryFeedback extends BasePage {
16   - public ProductInquiryFeedback(WebDriver driver) {
17   - super(driver);
18   - }
19   - /*
20   - * 元素定位
21   - */
22   - //查询类型
23   - @FindBy (xpath ="//*[@ng-change='changeSearchType()']")
24   - WebElement searchType;
25   -
26   - //查询条件输入框
27   - @FindBy (xpath="//*[@placeholder='请输入查询条件']")
28   - WebElement searchText;
29   -
30   - //查询按钮
31   - @FindBy (xpath ="//button[@ng-click='getFeedbackDetailBySearchInfo()']")
32   - WebElement search;
33   -
34   - //单箱金额
35   - @FindBy (xpath="//*[contains(text(),'单箱金额')]")
36   - WebElement singlePrice;
37   -
38   - //待反馈任务
39   - @FindBy (xpath="//*[contains(text(),'待反馈任务')]")
40   - WebElement waitFeedback;
41   -
42   - //提交审核
43   - @FindBy (xpath="//*[@ng-click='submitFeedback(1)']")
44   - WebElement submit;
45   -
46   - /*
47   - * 页面方法
48   - */
49   - /**
50   - * 提交询价任务
51   - * @return ProductInquiryTask
52   - */
53   - public ProductInquiryTask submit() {
54   - //根据单箱价格是否为空来判断页面是否加载成功
55   - while ("单箱金额:".equals(getText(singlePrice))) {
56   - forceWait(1000);
57   - }
58   - selectElement(searchType, "商品编号");
59   - sendKeys(searchText,Model.getSkuNo());
60   - //根据sku编号来判断是否加载出想要的sku信息
61   - click(search);
62   - boolean b = isVisibility(By.xpath("//*[contains(text(),'"+Model.getSkuNo()+"')]"));
63   - while (!b) {
64   - forceWait(1000);
65   - }
66   - click(waitFeedback);
67   - //判断是否加载待反馈视图
68   - boolean b1 = isVisibility(By.xpath("//*[contains(text(),'询价要求完成时间')]"));
69   - while(!b1) {
70   - forceWait(1000);
71   - }
72   - moveHeightScroll("100");
73   - click(submit);
74   - return new ProductInquiryTask(driver);
75   - }
76   -}
src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryFeedbackPage.java 0 → 100644
... ... @@ -0,0 +1,113 @@
  1 +package com.essa.pageObject.inquiryManage;
  2 +
  3 +import org.openqa.selenium.By;
  4 +import org.openqa.selenium.WebDriver;
  5 +import org.openqa.selenium.WebElement;
  6 +import org.openqa.selenium.support.FindBy;
  7 +
  8 +import com.essa.framework.BasePage;
  9 +import com.essa.framework.Model;
  10 +
  11 +/**
  12 + * @author Administrator 成品询价反馈页
  13 + */
  14 +public class ProductInquiryFeedbackPage extends BasePage {
  15 + public ProductInquiryFeedbackPage(WebDriver driver) {
  16 + super(driver);
  17 + }
  18 +
  19 + /*
  20 + * 元素定位
  21 + */
  22 + // 查询类型
  23 + @FindBy(xpath = "//*[@ng-change='changeSearchType()']")
  24 + WebElement searchType;
  25 +
  26 + // 查询条件输入框
  27 + @FindBy(xpath = "//*[@placeholder='请输入查询条件']")
  28 + WebElement searchText;
  29 +
  30 + // 查询按钮
  31 + @FindBy(xpath = "//button[@ng-click='getFeedbackDetailBySearchInfo()']")
  32 + WebElement search;
  33 +
  34 + // 单箱金额
  35 + @FindBy(xpath = "//*[contains(text(),'单箱金额')]")
  36 + WebElement singlePrice;
  37 +
  38 + // 待反馈任务
  39 + @FindBy(xpath = "//*[contains(text(),'待反馈任务')]")
  40 + WebElement waitFeedback;
  41 +
  42 + // 提交审核
  43 + @FindBy(xpath = "//*[@ng-click='submitFeedback(1)']")
  44 + WebElement submit;
  45 +
  46 + /*
  47 + * 页面方法
  48 + */
  49 + /**
  50 + * 提交询价任务
  51 + *
  52 + * @return ProductInquiryTask
  53 + */
  54 + public ProductInquiryTaskPage submit() {
  55 + // 根据单箱价格是否为空来判断页面是否加载成功
  56 + for (int count = 0;"单箱金额:".equals(getText(singlePrice))&& count < 7;count++) {
  57 + forceWait(1000);
  58 + }
  59 + selectElement(searchType, "商品编号");
  60 + sendKeys(searchText, Model.getSkuNo());
  61 + // 根据sku编号来判断是否加载出想要的sku信息
  62 + click(search);
  63 +// boolean b = isVisibility(By.xpath("//*[contains(text(),'" + Model.getSkuNo() + "')]"));
  64 +// while (!b) {
  65 +// forceWait(1000);
  66 +// }
  67 + dynamicWait(By.xpath("//*[contains(text(),'" + Model.getSkuNo() + "')]"));
  68 + click(waitFeedback);
  69 + // 判断是否加载待反馈视图
  70 +// boolean b1 = isVisibility(By.xpath("//*[contains(text(),'询价要求完成时间')]"));
  71 +// while (!b1) {
  72 +// forceWait(1000);
  73 +// }
  74 + dynamicWait(By.xpath("//*[contains(text(),'询价要求完成时间')]"));
  75 + moveHeightScroll("100");
  76 + click(submit);
  77 + return new ProductInquiryTaskPage(driver);
  78 + }
  79 +
  80 + /**
  81 + * 根据PO单,询价
  82 + * @return
  83 + */
  84 + public ProductInquiryTaskPage POsubmit() {
  85 + // 根据单箱价格是否为空来判断页面是否加载成功
  86 + for (int count=0;"单箱金额:".equals(getText(singlePrice))&&count<7;count++) {
  87 + forceWait(1000);
  88 + }
  89 + selectElement(searchType, "来源PO单/成品采购单号");
  90 + sendKeys(searchText, Model.getPoNum());
  91 + click(search);
  92 +// while (!(isVisibility(By.xpath("//*[@id='mask' and @style='display: none;']")))) {
  93 +// forceWait(1000);
  94 +// }
  95 + dynamicLoad(By.xpath("//*[@id='mask' and @style='display: none;']"));
  96 + forceWait(1000);
  97 + click(waitFeedback);
  98 + dynamicWait(By.xpath("//*[contains(text(),'询价要求完成时间')]"));
  99 + moveHeightScroll("100");
  100 + toSubmit();
  101 + return new ProductInquiryTaskPage(driver);
  102 + }
  103 +
  104 + /**
  105 + * 如果【提交审核】在页面中存在,则一直点击,最多等7秒
  106 + */
  107 + private void toSubmit() {
  108 + for (int count =0;isVisibility(By.xpath("//*[@ng-click='submitFeedback(1)']"))&&count<7;count++) {
  109 + click(submit);
  110 + forceWait(1000);
  111 + }
  112 + }
  113 +}
... ...
src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryTask.java renamed to src/test/java/com/essa/pageObject/inquiryManage/ProductInquiryTaskPage.java
... ... @@ -9,47 +9,53 @@ import com.essa.framework.BasePage;
9 9 import com.essa.framework.Model;
10 10  
11 11 /**
12   - * @author Administrator
13   - *成品询价任务列表
  12 + * @author Administrator 成品询价任务列表
14 13 */
15   -public class ProductInquiryTask extends BasePage {
16   - public ProductInquiryTask(WebDriver driver) {
  14 +public class ProductInquiryTaskPage extends BasePage {
  15 + public ProductInquiryTaskPage(WebDriver driver) {
17 16 super(driver);
18 17 }
  18 +
19 19 /*
20 20 * 元素定位
21 21 */
22   - //高级查询
23   - @FindBy (xpath ="//*[contains(text(),'高级查询')]")
  22 + // 高级查询
  23 + @FindBy(xpath = "//*[contains(text(),'高级查询')]")
24 24 WebElement advancedQuery;
25   -
26   - //商品编码查询
27   - @FindBy (xpath="//*[text()='商品编码']/../div/input")
  25 +
  26 + // 商品编码查询
  27 + @FindBy(xpath = "//*[text()='商品编码']/../div/input")
28 28 WebElement skuNoQuery;
29   -
30   - //高级查询-查询按钮
31   - @FindBy (xpath="//*[@name='advSearch']/div[12]/button[1]")
  29 +
  30 + // 根据PO查询
  31 + @FindBy(xpath = "//*[text()='来源单号']/../div[1]/input")
  32 + WebElement POQuery;
  33 +
  34 + // 高级查询-查询按钮
  35 + @FindBy(xpath = "//*[@name='advSearch']/div[12]/button[1]")
32 36 WebElement search;
33   -
34   - //列表第一行数据
35   - @FindBy (xpath ="//*[@ng-table='tableParams1']/tbody/tr[1]")
  37 +
  38 + // 列表第一行数据
  39 + @FindBy(xpath = "//*[@ng-table='tableParams1']/tbody/tr[1]")
36 40 WebElement firstRow;
37   -
38   - //询价反馈
39   - @FindBy (xpath ="//*[contains(text(),'询价反馈')]")
  41 +
  42 + // 询价反馈
  43 + @FindBy(xpath = "//*[contains(text(),'询价反馈')]")
40 44 WebElement feedBack;
41   -
42   - //暂无数据--用于检查是否已经成功
43   - @FindBy (xpath="//*[text()='暂无数据']")
  45 +
  46 + // 暂无数据--用于检查是否已经成功
  47 + @FindBy(xpath = "//*[text()='暂无数据']")
44 48 WebElement isSucceed;
  49 +
45 50 /*
46 51 * 页面方法
47 52 */
48 53 /**
49 54 * 查出要成品询价的商品,进入成品询价反馈页面
  55 + *
50 56 * @return ProductInquiryFeedback
51 57 */
52   - public ProductInquiryFeedback toFeedback() {
  58 + public ProductInquiryFeedbackPage toFeedback() {
53 59 // mywait(firstRow);
54 60 click(advancedQuery);
55 61 sendKeys(skuNoQuery, Model.getSkuNo());
... ... @@ -57,11 +63,12 @@ public class ProductInquiryTask extends BasePage {
57 63 mywait(firstRow);
58 64 click(firstRow);
59 65 click(feedBack);
60   - return new ProductInquiryFeedback(driver);
  66 + return new ProductInquiryFeedbackPage(driver);
61 67 }
62   -
  68 +
63 69 /**
64 70 * 判断页面是否查询不到该商品
  71 + *
65 72 * @return boolean
66 73 */
67 74 public boolean isSucceed() {
... ... @@ -71,4 +78,44 @@ public class ProductInquiryTask extends BasePage {
71 78 forceWait(1000);
72 79 return isVisibility(By.xpath("//*[text()='暂无数据']"));
73 80 }
  81 +
  82 + /**
  83 + * 判断根据po单查询,是否全部询价完成
  84 + *
  85 + * @return boolean
  86 + */
  87 + public boolean isPOSucceed() {
  88 + forceWait(1000);
  89 + return isVisibility(By.xpath("//*[@ng-table='tableParams1']/tbody/tr[1]"));
  90 + }
  91 +
  92 + /**
  93 + * 根据PO单号查询询价
  94 + *
  95 + * @return 询价反馈页面
  96 + */
  97 + public ProductInquiryFeedbackPage POtoFeedback() {
  98 + dynamicWait(By.xpath("//*[@ng-table='tableParams1']/tbody/tr[1]"));
  99 + click(advancedQuery);
  100 + sendKeys(POQuery, Model.getPoNum());
  101 + click(search);
  102 + dynamicWait(By.xpath("//*[@id='mask' and @style='display: none;']"));
  103 +// dynamicWait(By.xpath("//*[@ng-table='tableParams1']/tbody/tr[1]"));
  104 +// mywait(firstRow);
  105 +// forceWait(2000);
  106 + click(firstRow);
  107 + click(feedBack);
  108 + return new ProductInquiryFeedbackPage(driver);
  109 + }
  110 +
  111 + /**
  112 + * 如果列表中还存在待询价的单,循环方法,继续询价
  113 + *
  114 + * @return
  115 + */
  116 + public ProductInquiryFeedbackPage POcircle() {
  117 + click(firstRow);
  118 + click(feedBack);
  119 + return new ProductInquiryFeedbackPage(driver);
  120 + }
74 121 }
... ...
src/test/java/com/essa/pageObject/marketingManage/CollectBillSettingPage.java
... ... @@ -133,12 +133,11 @@ public class CollectBillSettingPage extends BasePage {
133 133 public void addSku() {
134 134 mywait(addSku);
135 135 click(addSku);
136   -// System.out.println(Model.getSkuNo());
137   - while (isVisibility(By.xpath("//*[@class='loading ng-scope']"))) {
  136 + /*while (isVisibility(By.xpath("//*[@class='loading ng-scope']"))) {
138 137 forceWait(1000);
139   - };
  138 + };*/
  139 + dynamicLoad(By.xpath("//*[@class='loading ng-scope']"));
140 140 sendKeys(searchContent, Model.getSkuNo());
141   -// sendKeys(searchContent, "200299327");
142 141 click(addSkuSearch);
143 142 forceWait(1000);
144 143 click(showSku);
... ... @@ -153,7 +152,6 @@ public class CollectBillSettingPage extends BasePage {
153 152 forceWait(1000);
154 153 mywait(firstCheckBox);
155 154 sendKeys(content, Model.getSkuNo());
156   -// sendKeys(searchContent, "200299345");
157 155 click(search);
158 156 mywait(firstCheckBox);
159 157 click(firstCheckBox);
... ... @@ -171,7 +169,6 @@ public class CollectBillSettingPage extends BasePage {
171 169 click(setPrice);
172 170 mywait(creatLadder);
173 171 int firstCost = getFirstCost();
174   - System.out.println(firstCost);
175 172 sendKeys(minPrice, firstCost+30+"");
176 173 sendKeys(maxPrice, firstCost+100+"");
177 174 sendKeys(ladderCount, "2");
... ... @@ -191,6 +188,7 @@ public class CollectBillSettingPage extends BasePage {
191 188 click(easternEurope);
192 189 click(southeastAsia);
193 190 click(middleEast);
  191 + forceWait(500);
194 192 click(confirm);
195 193 forceWait(1000);
196 194 click(confirm);
... ...
src/test/java/com/essa/pageObject/marketingManage/GroupSettingPage.java
... ... @@ -133,12 +133,11 @@ public class GroupSettingPage extends BasePage {
133 133 public void addSku() {
134 134 mywait(addSku);
135 135 click(addSku);
136   -// System.out.println(Model.getSkuNo());
137   - while (isVisibility(By.xpath("//*[@class='loading ng-scope']"))) {
  136 + /*while (isVisibility(By.xpath("//*[@class='loading ng-scope']"))) {
138 137 forceWait(1000);
139   - };
  138 + };*/
  139 + dynamicLoad(By.xpath("//*[@class='loading ng-scope']"));
140 140 sendKeys(searchContent, Model.getSkuNo());
141   -// sendKeys(searchContent, "200299327");
142 141 click(addSkuSearch);
143 142 forceWait(1000);
144 143 click(showSku);
... ... @@ -153,7 +152,6 @@ public class GroupSettingPage extends BasePage {
153 152 forceWait(1000);
154 153 mywait(firstCheckBox);
155 154 sendKeys(content, Model.getSkuNo());
156   -// sendKeys(searchContent, "200299345");
157 155 click(search);
158 156 mywait(firstCheckBox);
159 157 click(firstCheckBox);
... ... @@ -170,7 +168,6 @@ public class GroupSettingPage extends BasePage {
170 168 click(setPrice);
171 169 mywait(creatLadder);
172 170 int firstCost = getFirstCost();
173   - System.out.println(firstCost);
174 171 sendKeys(minPrice, firstCost+30+"");
175 172 sendKeys(maxPrice, firstCost+100+"");
176 173 sendKeys(ladderCount, "2");
... ... @@ -190,6 +187,7 @@ public class GroupSettingPage extends BasePage {
190 187 click(easternEurope);
191 188 click(southeastAsia);
192 189 click(middleEast);
  190 + forceWait(500);
193 191 click(confirm);
194 192 forceWait(1000);
195 193 click(confirm);
... ...
src/test/java/com/essa/testSuite/TestAddOriginalGoods.java
... ... @@ -43,7 +43,6 @@ public class TestAddOriginalGoods extends BaseTest {
43 43 HomePage homePage = PageFactory.initElements(driver, HomePage.class);
44 44 homePage.tOriginalGoodsPage();
45 45 AddOriginalGoodsPage addOriginalGoodsPage = PageFactory.initElements(driver, AddOriginalGoodsPage.class);
46   -// addOriginalGoodsPage.addOriginalGoods("物料分析");
47 46 addOriginalGoodsPage.addOriginalGoods();
48 47  
49 48 }
... ...
src/test/java/com/essa/testSuite/TestDevelopmentAbility.java
... ... @@ -49,25 +49,17 @@ public class TestDevelopmentAbility extends BaseTest {
49 49  
50 50 }
51 51  
52   - // 进入“平台运营跟进管理” 选择供应商,进入其综合实力评估页
53 52 @Test(dataProvider = "suppliers", dependsOnMethods = { "toSupplierOperationsTrack" })
54 53 public void editDevelopmentAbility(String supplier) throws Exception {
55 54  
56   - SupplierOperationsTrackPage sotp = PageFactory.initElements(driver, SupplierOperationsTrackPage.class);
57   -
58   - // 断言是否进入页面
59   -
  55 + SupplierOperationsTrackPage sotp =
  56 + PageFactory.initElements(driver, SupplierOperationsTrackPage.class);
60 57 SoftAssert softAssert = new SoftAssert();
61   -
62 58 softAssert.assertEquals(sotp.isSucceed(), true, "进入平台运营跟进管理失败!");
63 59  
64   -
65   - // 在列表中查找出要编辑的供应商(excel中的)进入实力评估页面
66   -
67 60 sotp.goToSupplierStrengthPage(supplier);
68   -
69   - SupplierStrengthPage strengthPage = PageFactory.initElements(driver, SupplierStrengthPage.class);
70   -
  61 + SupplierStrengthPage strengthPage =
  62 + PageFactory.initElements(driver, SupplierStrengthPage.class);
71 63 softAssert.assertEquals(strengthPage.isSucceed(), true, "进入实力评估页面失败!");
72 64  
73 65 /*
... ...
src/test/java/com/essa/testSuite/TestProductInquiry.java
... ... @@ -9,15 +9,14 @@ import org.testng.asserts.SoftAssert;
9 9  
10 10 import com.essa.pageObject.BaseTest;
11 11 import com.essa.pageObject.HomePage;
12   -import com.essa.pageObject.inquiryManage.ProductInquiryFeedback;
13   -import com.essa.pageObject.inquiryManage.ProductInquiryTask;
  12 +import com.essa.pageObject.inquiryManage.ProductInquiryFeedbackPage;
  13 +import com.essa.pageObject.inquiryManage.ProductInquiryTaskPage;
14 14  
15 15 /**
16   - * @author Administrator
17   - *测试用例:成品询价
  16 + * @author Administrator 测试用例:成品询价
18 17 */
19 18 public class TestProductInquiry extends BaseTest {
20   -
  19 +
21 20 WebDriver driver;
22 21  
23 22 @BeforeClass
... ... @@ -25,24 +24,26 @@ public class TestProductInquiry extends BaseTest {
25 24 initsetUp();
26 25 loginValid("chenhong");
27 26 }
  27 +
28 28 @AfterClass
29 29 public void tearDown() {
30 30 driver.quit();
31 31 }
32   -
  32 +
33 33 /**
34 34 * 成品询价
35 35 */
36   - @Test(description="成品询价流程")
  36 + @Test(description = "成品询价流程")
37 37 public void productInquiry() {
38 38 this.driver = getDriver();
39 39 HomePage homePage = PageFactory.initElements(driver, HomePage.class);
40 40 homePage.toProductInquiryTask();
41   - ProductInquiryTask productInquiryTask = PageFactory.initElements(driver, ProductInquiryTask.class);
  41 + ProductInquiryTaskPage productInquiryTask = PageFactory.initElements(driver, ProductInquiryTaskPage.class);
42 42 productInquiryTask.toFeedback();
43   - ProductInquiryFeedback productInquiryFeedback = PageFactory.initElements(driver, ProductInquiryFeedback.class);
  43 + ProductInquiryFeedbackPage productInquiryFeedback = PageFactory.initElements(driver,
  44 + ProductInquiryFeedbackPage.class);
44 45 productInquiryFeedback.submit();
45   - //断言
  46 + // 断言
46 47 SoftAssert softAssert = new SoftAssert();
47 48 softAssert.assertEquals(productInquiryTask.isSucceed(), true, "成品询价失败!");
48 49 softAssert.assertAll();
... ...
src/test/java/swing/SwingMain.java
... ... @@ -8,16 +8,31 @@ import javax.swing.JButton;
8 8 import java.awt.event.ActionListener;
9 9 import java.io.BufferedReader;
10 10 import java.io.File;
  11 +import java.io.FileInputStream;
  12 +import java.io.FileNotFoundException;
  13 +import java.io.FileOutputStream;
  14 +import java.io.IOException;
11 15 import java.io.InputStream;
12 16 import java.io.InputStreamReader;
  17 +import java.io.RandomAccessFile;
  18 +import java.io.StringReader;
13 19 import java.text.SimpleDateFormat;
14 20 import java.util.ArrayList;
15 21 import java.util.Date;
16 22 import java.util.List;
  23 +import java.util.Properties;
  24 +import java.util.concurrent.Executors;
  25 +import java.util.concurrent.ScheduledExecutorService;
  26 +import java.util.concurrent.TimeUnit;
17 27 import java.awt.event.ActionEvent;
18 28 import javax.swing.JTextField;
19 29  
20 30 import org.apache.xmlbeans.impl.xb.xsdschema.Public;
  31 +import org.jdom.Document;
  32 +import org.jdom.Element;
  33 +import org.jdom.JDOMException;
  34 +import org.jdom.input.SAXBuilder;
  35 +import org.jdom.output.XMLOutputter;
21 36 import org.testng.TestNG;
22 37  
23 38 import com.essa.framework.BrowserEngine;
... ... @@ -59,11 +74,11 @@ import java.awt.TextField;
59 74 import java.awt.Panel;
60 75 import javax.swing.JScrollBar;
61 76 import javax.swing.ScrollPaneConstants;
  77 +import javax.swing.SwingWorker;
62 78 import javax.swing.border.LineBorder;
63 79  
64 80 /**
65   - * @author Administrator
66   - *图形化
  81 + * @author Administrator 图形化
67 82 */
68 83 public class SwingMain {
69 84  
... ... @@ -72,10 +87,16 @@ public class SwingMain {
72 87 private JTextField buyerNo2;
73 88 public static String no;
74 89 private JTextField account;
75   - private JTextField SkuNo;
  90 + private JTextArea SkuNo;
76 91 private JTextField password;
77 92 private JTextField registerAccount;
  93 + private JTextArea ja;
  94 + private JTextField po;
78 95  
  96 + private String buyerAccount;//采购商账号,存储于配置文件中,记录上一次使用的账号
  97 + private String supplier;//供应商
  98 + private String buyerNo;//采购商编号
  99 +
79 100 /**
80 101 * Launch the application.
81 102 */
... ... @@ -96,18 +117,64 @@ public class SwingMain {
96 117 * Create the application.
97 118 */
98 119 public SwingMain() {
99   - initialize();
100 120  
  121 + initData();
  122 + initialize();
  123 + }
  124 +
  125 + /**
  126 + * 读取data.xml文件保存的用户使用的数据,用于读取该用户上一次输入的数据
  127 + * @throws JDOMException
  128 + * @throws IOException
  129 + */
  130 + public void initData() {
  131 + try {
  132 + SAXBuilder builder = new SAXBuilder();
  133 + Document document = builder.build(new File(".\\resources\\data.xml"));
  134 + Element root = document.getRootElement();
  135 + Element element = root.getChild("data");
  136 + this.buyerAccount = element.getChildText("buyerAccount");
  137 + this.supplier = element.getChildText("supplier");
  138 + this.buyerNo = element.getChildText("buyerNo");
  139 + } catch (Exception e) {
  140 + e.printStackTrace();
  141 + }
101 142 }
102   - public String getCurrentTime() {
103   - SimpleDateFormat format = new SimpleDateFormat("[yyyy-MM-dd HH:mm:ss] ");
104   - Date today = new Date();
105   - String time = format.format(today);
106   - return time;
  143 +
  144 + /**
  145 + * 将用户输入过的数据保存在data.xml文件中
  146 + * @param key 字段名
  147 + * @param value 参数值
  148 + * @throws JDOMException
  149 + * @throws IOException
  150 + */
  151 + public void setData(String key,String value) {
  152 + try {
  153 + SAXBuilder builder = new SAXBuilder();
  154 + Document document = builder.build(new File(".\\resources\\data.xml"));
  155 + Element root = document.getRootElement();
  156 + Element element = root.getChild("data");
  157 + element.getChild(key).setText(value);
  158 + XMLOutputter XMLOut = new XMLOutputter();
  159 + XMLOut.output(document,new FileOutputStream(".\\resources\\data.xml"));
  160 + } catch (Exception e) {
  161 + e.printStackTrace();
  162 + }
  163 + }
  164 +
  165 + /**
  166 + * 获取当前时间
  167 + * @return
  168 + */
  169 + public String getCurrentTime() {
  170 + SimpleDateFormat format = new SimpleDateFormat("[yyyy-MM-dd HH:mm:ss] ");
  171 + Date today = new Date();
  172 + String time = format.format(today);
  173 + return time;
107 174 }
108 175  
109 176 /**
110   - * Initialize the contents of the frame.
  177 + * frame初始化.
111 178 */
112 179 private void initialize() {
113 180 frmvBy = new JFrame("ESSA自动化测试工具v1.0.0");
... ... @@ -122,90 +189,123 @@ public class SwingMain {
122 189 frmvBy.setSize(686, 405);
123 190 frmvBy.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
124 191 frmvBy.getContentPane().setLayout(null);
125   -
126   - final JTextArea ja;
  192 +
  193 + //日志
127 194 JScrollPane jsp;
128 195 ja = new JTextArea();
129 196 jsp = new JScrollPane(ja);
130 197 jsp.setBounds(22, 186, 631, 134);
131 198 frmvBy.getContentPane().add(jsp);
132   -
  199 +
133 200 ja.setEditable(false);
134 201 ja.setWrapStyleWord(true);
135 202 ja.setLineWrap(true);
136 203 ja.setFont(new Font("微软雅黑", Font.PLAIN, 13));
137   -// ja.append("提示:建议使用版本号为68.0的Chrome浏览器\r\n");
138   - ja.append(getCurrentTime()+"默认选择场景:新增原厂商品\r\n");
139   -
  204 + ja.append(getCurrentTime() + "默认选择场景:新增原厂商品\r\n");
  205 +
  206 + //操作环境选择
140 207 JLabel label = new JLabel("操作环境:");
141 208 label.setBounds(24, 53, 78, 15);
142 209 label.setFont(new Font("微软雅黑", Font.PLAIN, 14));
143 210 frmvBy.getContentPane().add(label);
144   -
  211 +
  212 + //加入到购物车场景
145 213 final JPanel ToCart = new JPanel();
146 214 ToCart.setBounds(231, 42, 230, 128);
147 215 ToCart.setVisible(false);
148 216 frmvBy.getContentPane().add(ToCart);
149 217 ToCart.setLayout(null);
150   -
  218 +
  219 + //可视化操作选项
151 220 JLabel label_1 = new JLabel("可视化操作:");
152 221 label_1.setBounds(10, 119, 88, 15);
153 222 label_1.setFont(new Font("微软雅黑", Font.PLAIN, 14));
154 223 frmvBy.getContentPane().add(label_1);
155   -
  224 +
  225 + //可视化
156 226 JRadioButton view = new JRadioButton("是");
157 227 view.setBounds(103, 115, 42, 23);
158 228 view.setFont(new Font("微软雅黑", Font.PLAIN, 14));
159 229 view.setSelected(true);
160 230 frmvBy.getContentPane().add(view);
161   -
  231 +
  232 + //无头浏览器
162 233 JRadioButton notView = new JRadioButton("否");
163 234 notView.setBounds(160, 115, 44, 23);
164 235 notView.setFont(new Font("微软雅黑", Font.PLAIN, 14));
165 236 notView.setEnabled(false);
166 237 frmvBy.getContentPane().add(notView);
167   -
  238 +
168 239 ButtonGroup group = new ButtonGroup();
169 240 group.add(view);
170 241 group.add(notView);
171   -
  242 +
  243 + //po询价场景
  244 + final JPanel POInquiry = new JPanel();
  245 + POInquiry.setBounds(231, 42, 234, 134);
  246 + frmvBy.getContentPane().add(POInquiry);
  247 + POInquiry.setVisible(false);
  248 + POInquiry.setLayout(null);
  249 +
  250 + // po单号字段
  251 + JLabel POnum = new JLabel("PO单号:");
  252 + POnum.setFont(new Font("微软雅黑", Font.PLAIN, 14));
  253 + POnum.setBounds(25, 5, 68, 25);
  254 + POInquiry.add(POnum);
  255 +
  256 + // po单号文本值
  257 + po = new JTextField();
  258 + po.setBounds(90, 6, 110, 25);
  259 + POInquiry.add(po);
  260 + po.setColumns(10);
  261 +
  262 + //必填文本
  263 + JLabel lblNewLabel = new JLabel("*必填");
  264 + lblNewLabel.setFont(new Font("微软雅黑", Font.PLAIN, 12));
  265 + lblNewLabel.setForeground(Color.RED);
  266 + lblNewLabel.setBounds(200, 10, 44, 15);
  267 + POInquiry.add(lblNewLabel);
  268 +
  269 + //右侧流程介绍文本
172 270 final JLabel process = new JLabel();
173 271 process.setBounds(474, 25, 179, 170);
174 272 process.setForeground(Color.GRAY);
175 273 process.setFont(new Font("微软雅黑", Font.PLAIN, 12));
176   - process.setText("<html><body>新增原厂商品场景流程:<br>1.商品建档<br>2.更新商品图片<br>3.审核商品<br>4.检查商品库,验证是否新增成功<br>PS:以上均由账号(linxun)操作<br><br></body></html>");
  274 + process.setText(
  275 + "<html><body>新增原厂商品场景流程:<br>1.商品建档<br>2.更新商品图片<br>3.审核商品<br>4.检查商品库,验证是否新增成功<br>PS:以上均由账号(linxun)操作<br><br></body></html>");
177 276 frmvBy.getContentPane().add(process);
178   -
  277 +
  278 + //操作场景
179 279 JLabel label_2 = new JLabel("操作场景:");
180 280 label_2.setBounds(24, 87, 78, 15);
181 281 label_2.setFont(new Font("微软雅黑", Font.PLAIN, 14));
182 282 frmvBy.getContentPane().add(label_2);
183   -
184   -
  283 +
  284 + //新增原厂商品场景
185 285 final JPanel addOriginal = new JPanel();
186 286 addOriginal.setBounds(231, 37, 234, 134);
187 287 addOriginal.setVisible(true);
188 288 frmvBy.getContentPane().add(addOriginal);
189 289 addOriginal.setLayout(null);
190   -
  290 +
  291 + //场景选择,插入对应的值,并打印在日志上
191 292 final JComboBox selectSystem = new JComboBox<String>();
192 293 selectSystem.setBounds(102, 51, 114, 20);
193 294 selectSystem.addActionListener(new ActionListener() {
194 295 public void actionPerformed(ActionEvent e) {
195   - if ("SIT".equals((String)selectSystem.getSelectedItem())) {
  296 + if ("SIT".equals((String) selectSystem.getSelectedItem())) {
196 297 Model.setEnv("SIT");
197   - ja.append(getCurrentTime()+"已选择环境:SIT\r\n");
198   - }else if ("DIT".equals((String)selectSystem.getSelectedItem())) {
  298 + ja.append(getCurrentTime() + "已选择环境:SIT\r\n");
  299 + } else if ("DIT".equals((String) selectSystem.getSelectedItem())) {
199 300 Model.setEnv("DIT");
200   - ja.append(getCurrentTime()+"已选择环境:DIT\r\n");
201   - }else if ("HOTFIX".equals((String)selectSystem.getSelectedItem())) {
  301 + ja.append(getCurrentTime() + "已选择环境:DIT\r\n");
  302 + } else if ("HOTFIX".equals((String) selectSystem.getSelectedItem())) {
202 303 Model.setEnv("HOTFIX");
203   - ja.append(getCurrentTime()+"已选择环境:HOTFIX\r\n");
204   - }else if ("UAT".equals((String)selectSystem.getSelectedItem())){
  304 + ja.append(getCurrentTime() + "已选择环境:HOTFIX\r\n");
  305 + } else if ("UAT".equals((String) selectSystem.getSelectedItem())) {
205 306 Model.setEnv("UAT");
206   - ja.append(getCurrentTime()+"已选择环境:UAT\r\n");
  307 + ja.append(getCurrentTime() + "已选择环境:UAT\r\n");
207 308 }
208   -// Model.setEnv((String)selectSystem.getSelectedItem());
209 309 }
210 310 });
211 311 selectSystem.setFont(new Font("微软雅黑", Font.PLAIN, 14));
... ... @@ -214,180 +314,203 @@ public class SwingMain {
214 314 selectSystem.addItem("UAT");
215 315 selectSystem.addItem("DIT");
216 316 frmvBy.getContentPane().add(selectSystem);
217   -
  317 +
  318 + //添加市场商品
218 319 final JPanel addMarket = new JPanel();
219 320 addMarket.setBounds(0, 67, 230, 46);
220 321 addOriginal.add(addMarket);
221 322 addMarket.setVisible(false);
222 323 addMarket.setLayout(null);
223 324  
  325 + //采购商注册
  326 + final JPanel register = new JPanel();
  327 + register.setBounds(231, 42, 224, 134);
  328 + frmvBy.getContentPane().add(register);
  329 +
  330 + //浏览器选择
224 331 final JComboBox browser = new JComboBox();
225 332 browser.setEnabled(false);
226 333 browser.setFont(new Font("微软雅黑", Font.PLAIN, 14));
227 334 browser.setBounds(102, 147, 114, 20);
228   - browser.setModel(new DefaultComboBoxModel(new String[] {"Chrome", "Firefox", "IE"}));
  335 + browser.setModel(new DefaultComboBoxModel(new String[] { "Chrome", "Firefox", "IE" }));
229 336 frmvBy.getContentPane().add(browser);
230 337  
  338 + //场景选择,根据随选场景做对应的交互
231 339 final JComboBox selectScene = new JComboBox();
232 340 selectScene.setBounds(102, 85, 114, 20);
233 341 selectScene.setForeground(Color.BLACK);
234 342 selectScene.setFont(new Font("微软雅黑", Font.PLAIN, 14));
235 343 selectScene.addActionListener(new ActionListener() {
236 344 public void actionPerformed(ActionEvent e) {
237   - if ("新增原厂商品".equals((String)selectScene.getSelectedItem())) {
238   - process.setText("<html><body>新增原厂商品场景流程:<br>1.商品建档<br>2.更新商品图片<br>3.审核商品<br>4.检查商品库,验证是否新增成功<br>PS:以上均由账号(linxun)操作<br><br></body></html>");
  345 + //此处为默认将所有的场景视图先隐藏,后续根据所选场景显示对应的视图
  346 + addOriginal.setVisible(false);
  347 + addMarket.setVisible(false);
  348 + ToCart.setVisible(false);
  349 + POInquiry.setVisible(false);
  350 + register.setVisible(false);
  351 + if ("新增原厂商品".equals((String) selectScene.getSelectedItem())) {
  352 + process.setText(
  353 + "<html><body>新增原厂商品场景流程:<br>1.商品建档<br>2.更新商品图片<br>3.审核商品<br>4.检查商品库,验证是否新增成功<br>PS:以上均由账号(linxun)操作<br><br></body></html>");
  354 + addOriginal.setVisible(true);
  355 + ja.append(getCurrentTime() + "已选择场景:新增原厂商品\r\n");
  356 + } else if ("新增市场商品".equals((String) selectScene.getSelectedItem())) {
  357 + process.setText("<html><body>新增市场商品场景流程:<br>" + "1.指定采购商编号(默认:RUS00833)<br>"
  358 + + "2.使用账号(maomeixiang)对指定采购商进行市场商品建档并选择审核人为\"邢昌勇\"<br>"
  359 + + "3.使用账号(xingchangyong)对市场商品审核<br></body></html>");
239 360 addOriginal.setVisible(true);
240   - addMarket.setVisible(false);
241   - ToCart.setVisible(false);
242   - ja.append(getCurrentTime()+"已选择场景:新增原厂商品\r\n");
243   - }else if("新增市场商品".equals((String)selectScene.getSelectedItem())) {
244   - process.setText("<html><body>新增市场商品场景流程:<br>" +
245   - "1.指定采购商编号(默认:RUS00833)<br>" +
246   - "2.使用账号(maomeixiang)对指定采购商进行市场商品建档并选择审核人为\"邢昌勇\"<br>" +
247   - "3.使用账号(xingchangyong)对市场商品审核<br></body></html>");
248 361 addMarket.setVisible(true);
249   - ToCart.setVisible(false);
250   - ja.append(getCurrentTime()+"已选择场景:新增市场商品\r\n");
251   - }else if("发布团购".equals((String)selectScene.getSelectedItem())) {
252   - ja.append(getCurrentTime()+"已选择场景:发布团购,运行过程中将会打开关闭浏览器2次!\r\n");
253   - process.setText("<html><body>发布团购场景流程:<br><font color=\"red\">1.先执行新增原厂商品流程,生成一个原厂SKU</font><br>2.使用账号(linrong)为新增的SKU分配类目经理<br>3.团购设置中添加该SKU,并发布团购,验证团购发布结果</body></html>");
  362 + ja.append(getCurrentTime() + "已选择场景:新增市场商品\r\n");
  363 + } else if ("发布团购".equals((String) selectScene.getSelectedItem())) {
  364 + ja.append(getCurrentTime() + "已选择场景:发布团购,运行过程中将会打开关闭浏览器2次!\r\n");
  365 + process.setText(
  366 + "<html><body>发布团购场景流程:<br><font color=\"red\">1.先执行新增原厂商品流程,生成一个原厂SKU</font><br>2.使用账号(linrong)为新增的SKU分配类目经理<br>3.团购设置中添加该SKU,并发布团购,验证团购发布结果</body></html>");
254 367 addOriginal.setVisible(true);
255   - addMarket.setVisible(false);
256   - ToCart.setVisible(false);
257   - }else if ("采购商注册".equals((String)selectScene.getSelectedItem())) {
258   - addOriginal.setVisible(false);
259   - ToCart.setVisible(false);
260   - ja.append(getCurrentTime()+"已选择场景:采购商注册,运行过程中将会打开关闭浏览器2次!\r\n");
261   - process.setText("<html><body>采购商注册流程:<br>1.使用账号(admin)在bpms后台生成一个邀请码<br>2.采购商平台填写注册信息,并填入上一步生成的邀请码<br>PS:新账号密码默认为:essa123<br><br><br></body></html>");
262   - }else if ("添加SKU至购物车".equals((String)selectScene.getSelectedItem())) {
263   - addOriginal.setVisible(false);
  368 + } else if ("采购商注册".equals((String) selectScene.getSelectedItem())) {
  369 + register.setVisible(true);
  370 + ja.append(getCurrentTime() + "已选择场景:采购商注册,运行过程中将会打开关闭浏览器2次!\r\n");
  371 + process.setText(
  372 + "<html><body>采购商注册流程:<br>1.使用账号(admin)在bpms后台生成一个邀请码<br>2.采购商平台填写注册信息,并填入上一步生成的邀请码<br>PS:新账号密码默认为:essa123<br><br><br></body></html>");
  373 + } else if ("添加SKU至购物车".equals((String) selectScene.getSelectedItem())) {
264 374 ToCart.setVisible(true);
265   - ja.append(getCurrentTime()+"已选择场景:添加SKU至购物车\r\n");
266   - process.setText("<html><body>添加SKU至购物车流程:<br>1.Buyer平台根据填入的采购<br>商信息进行登录操作<br>2.若未填写商品编号,将从数<br>据库随机查出一个符合要求的<br>sku添加至购物车<br><br><br></body></html>");
267   - }else if ("成品询价".equals((String)selectScene.getSelectedItem())) {
  375 + ja.append(getCurrentTime() + "已选择场景:添加SKU至购物车\r\n");
  376 + process.setText(
  377 + "<html><body>添加SKU至购物车流程:<br>1.Buyer平台根据填入的采购<br>商信息进行登录操作<br>2.若未填写商品编号,将从数<br>据库随机查出一个符合要求的<br>sku添加至购物车<br><br><br></body></html>");
  378 + } else if ("成品询价".equals((String) selectScene.getSelectedItem())) {
268 379 ToCart.setVisible(true);
269   - ja.append(getCurrentTime()+"已选择场景:成品询价,运行过程中将会打开关闭浏览器2次!\r\n");
270   - process.setText("<html><body>成品询价流程:<br>1.Buyer平台根据填入的采购<br>商信息加入sku,若未填写sku<br>编号,将随机从数据库获取符<br>合要求的sku<br>2.bpms后台登录账号(chenhong)对该sku进行成<br>品询价审核<br></body></html>");
271   - }else if ("提交PO".equals((String)selectScene.getSelectedItem())) {
  380 + ja.append(getCurrentTime() + "已选择场景:成品询价,将重启浏览器多次\r\n");
  381 + process.setText(
  382 + "<html><body>成品询价流程:<br>1.Buyer平台根据填入的采购<br>商信息加入sku,若未填写sku<br>编号,将随机从数据库获取符<br>合要求的sku<br>2.bpms后台登录账号(chenhong)对该sku进行成<br>品询价审核<br></body></html>");
  383 + } else if ("生成PO".equals((String) selectScene.getSelectedItem())) {
272 384 ToCart.setVisible(true);
273   - ja.append(getCurrentTime()+"已选择场景:提交PO,运行过程中将会打开关闭浏览器3次!\r\n");
274   - process.setText("<html><body>提交PO流程:<br>1.采购商平台加入商品至购物车<br>2.bpms后台登录账号(chenhong)对该sku进行成品询价审核<br>3.再次登录采购商平台,进行拼柜、设置唛头、贴纸和提交PO操作</body></html>");
  385 + ja.append(getCurrentTime() + "已选择场景:生成PO,将重启浏览器多次\r\n");
  386 + process.setText(
  387 + "<html><body>生成PO流程:<br>1.采购商平台加入商品至购物车<br>2.bpms后台登录账号(chenhong)对该sku进行成品询价审核<br>3.再次登录采购商平台,进行拼柜、设置唛头、贴纸和提交PO操作</body></html>");
  388 + } else if ("PO询价".equals((String) selectScene.getSelectedItem())) {
  389 + POInquiry.setVisible(true);
  390 + ja.append(getCurrentTime() + "已选择场景:PO询价\r\n");
  391 + process.setText("<html><body>PO询价使用介绍:<br>1.填入需要询价的PO单号<br>2.工具将对该PO单号循环进行询价,直到所有商品均询价完成<br>3.如果运行过程中出现询价异常等弹框,手工关闭弹窗后脚本仍会继续执行之后的操作</body></html>");
275 392 }
276 393 }
277 394 });
278   - selectScene.setModel(new DefaultComboBoxModel(new String[] {"新增原厂商品", "新增市场商品", "发布团购", "采购商注册", "成品询价", "提交PO"}));
  395 + selectScene.setModel(
  396 + new DefaultComboBoxModel(new String[] { "新增原厂商品", "新增市场商品", "发布团购", "采购商注册", "成品询价", "生成PO", "PO询价" }));
279 397 frmvBy.getContentPane().add(selectScene);
280   -
  398 +
281 399 JLabel label_3 = new JLabel("供应商名称:");
282 400 label_3.setFont(new Font("微软雅黑", Font.PLAIN, 14));
283 401 label_3.setBounds(9, 15, 91, 15);
284 402 addOriginal.add(label_3);
285   -
  403 +
  404 + //供应商名称
286 405 supplierName = new JTextField();
287 406 supplierName.setFont(new Font("微软雅黑", Font.PLAIN, 14));
288 407 supplierName.setForeground(Color.BLACK);
289 408 supplierName.setBounds(92, 10, 114, 25);
290 409 addOriginal.add(supplierName);
291   - supplierName.setText("ESSA");
  410 + supplierName.setText(supplier);
292 411 supplierName.setColumns(10);
293   -
  412 +
  413 + //选择图片
294 414 JButton button = new JButton("选择图片");
295 415 button.setFont(new Font("微软雅黑", Font.PLAIN, 14));
296 416 button.setBounds(91, 44, 91, 23);
297 417 addOriginal.add(button);
298   -
  418 +
299 419 JLabel lblSku = new JLabel("商品图片:");
300 420 lblSku.setFont(new Font("微软雅黑", Font.PLAIN, 14));
301 421 lblSku.setBounds(22, 48, 70, 15);
302 422 addOriginal.add(lblSku);
303   -
  423 +
304 424 final JLabel label_7 = new JLabel("*必填");
305 425 label_7.setFont(new Font("微软雅黑", Font.PLAIN, 12));
306 426 label_7.setBounds(192, 48, 42, 15);
307 427 addOriginal.add(label_7);
308 428 label_7.setForeground(Color.RED);
309   -
  429 +
  430 + //图片地址
310 431 final JLabel picPath = new JLabel("");
311 432 picPath.setVisible(false);
312 433 addOriginal.add(picPath);
313   -
  434 +
314 435 JLabel label_5 = new JLabel("采购商编号:");
315 436 label_5.setFont(new Font("微软雅黑", Font.PLAIN, 14));
316 437 label_5.setBounds(8, 15, 86, 15);
317 438 addMarket.add(label_5);
318   -
  439 +
  440 + //采购商编号
319 441 buyerNo2 = new JTextField();
320 442 buyerNo2.setBounds(93, 11, 114, 25);
321 443 addMarket.add(buyerNo2);
322 444 buyerNo2.setFont(new Font("宋体", Font.PLAIN, 14));
323   - buyerNo2.setText("RUS00833");
  445 + buyerNo2.setText(buyerNo);
324 446 buyerNo2.setColumns(10);
325   -
  447 +
  448 + //选择图片按钮
326 449 button.addActionListener(new ActionListener() {
327 450 public void actionPerformed(ActionEvent e) {
328 451 JFileChooser jf = new JFileChooser();
329   - jf.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES );
  452 + jf.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
330 453 jf.showDialog(new JLabel(), "选择图片");
331   - File file=jf.getSelectedFile();
  454 + File file = jf.getSelectedFile();
332 455 String s = null;
333 456 try {
334 457 s = file.getAbsolutePath();
335 458 } catch (NullPointerException exception) {
336 459 }
337   - if(s == "" || s == null) {
338   - ja.append(getCurrentTime()+"您未选择图片,请选择图片\r\n");
339   - }else {
340   - ja.append(getCurrentTime()+"选择的图片为:"+s+"\r\n");
  460 + if (s == "" || s == null) {
  461 + ja.append(getCurrentTime() + "您未选择图片,请选择图片\r\n");
  462 + } else {
  463 + ja.append(getCurrentTime() + "选择的图片为:" + s + "\r\n");
341 464 picPath.setText(s);
342 465 label_7.setText("已选");
343 466 }
344 467 }
345 468 });
346   -
  469 +
347 470 JLabel label_4 = new JLabel("浏览器:");
348 471 label_4.setBounds(38, 149, 62, 15);
349 472 label_4.setFont(new Font("微软雅黑", Font.PLAIN, 14));
350 473 frmvBy.getContentPane().add(label_4);
351   -
  474 +
  475 + //开始按钮
352 476 JButton btnNewButton = new JButton("开 始");
353 477 btnNewButton.setBounds(551, 325, 101, 35);
354 478 frmvBy.getContentPane().add(btnNewButton);
355 479 btnNewButton.setFont(new Font("微软雅黑", Font.PLAIN, 17));
356 480  
357   -
358 481 JLabel lblEssav = new JLabel("ESSA自动化测试工具 V1.0.1");
359 482 lblEssav.setBounds(225, 10, 228, 29);
360 483 lblEssav.setFont(new Font("微软雅黑", Font.BOLD, 16));
361 484 frmvBy.getContentPane().add(lblEssav);
362   -
363   - JLabel lblwindowsjdkbug = new JLabel("<html><body>提示:1.建议使用版本号为68.0的Chrome浏览器<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.由于部分操作会用到鼠标事件,若运行时手动切换界面可能会导致运行出错</body></html>");
  485 +
  486 + JLabel lblwindowsjdkbug = new JLabel(
  487 + "<html><body>提示:1.建议使用版本号为68.0的Chrome浏览器<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.由于部分操作会用到鼠标事件,若运行时手动切换界面可能会导致运行出错</body></html>");
364 488 lblwindowsjdkbug.setFont(new Font("微软雅黑", Font.PLAIN, 12));
365 489 lblwindowsjdkbug.setBounds(25, 323, 456, 40);
366 490 frmvBy.getContentPane().add(lblwindowsjdkbug);
367   -
368   -
  491 +
369 492 JLabel Account = new JLabel("采购商账号:");
370 493 Account.setFont(new Font("微软雅黑", Font.PLAIN, 14));
371 494 Account.setBounds(9, 10, 88, 15);
372 495 ToCart.add(Account);
373   -
  496 +
374 497 JLabel Password = new JLabel("密码:");
375 498 Password.setFont(new Font("微软雅黑", Font.PLAIN, 14));
376 499 Password.setBounds(50, 41, 65, 15);
377 500 ToCart.add(Password);
378   -
  501 +
379 502 JLabel No = new JLabel("商品编号:");
380 503 No.setFont(new Font("微软雅黑", Font.PLAIN, 14));
381   - No.setBounds(22, 75, 88, 15);
  504 + No.setBounds(22, 100, 88, 15);
382 505 ToCart.add(No);
383   -
  506 +
384 507 account = new JTextField();
385   - account.setText("buyer11159@essa.cn");
  508 + account.setText(buyerAccount);
386 509 account.setFont(new Font("微软雅黑", Font.PLAIN, 12));
387 510 account.setBounds(92, 4, 130, 25);
388 511 ToCart.add(account);
389 512 account.setColumns(10);
390   -
  513 +
391 514 password = new JTextField();
392 515 password.setText("essa123");
393 516 password.setToolTipText("");
... ... @@ -395,32 +518,67 @@ public class SwingMain {
395 518 password.setBounds(92, 37, 130, 25);
396 519 ToCart.add(password);
397 520 password.setColumns(10);
398   -
399   - SkuNo = new JTextField();
400   - SkuNo.setText("选填,勿填活动商品");
  521 +
  522 + //sku编号
  523 + SkuNo = new JTextArea();
  524 + SkuNo.setText("选填,勿填活动商品");
401 525 SkuNo.setForeground(Color.LIGHT_GRAY);
402   - SkuNo.setFont(new Font("微软雅黑", Font.PLAIN, 13));
  526 + SkuNo.setFont(new Font("微软雅黑", Font.PLAIN, 12));
  527 + SkuNo.setLineWrap(true);
403 528 SkuNo.addMouseListener(new MouseAdapter() {
404 529 @Override
405 530 public void mouseClicked(MouseEvent e) {
406   - if (SkuNo.getText().equals("选填,勿填活动商品")) {
  531 + if (SkuNo.getText().equals("选填,勿填活动商品") || SkuNo.getText().equals("选填,勿填非活动商品") ) {
407 532 SkuNo.setForeground(Color.black);
408 533 SkuNo.setText("");
409 534 }
410 535 }
411 536 });
412   - SkuNo.setBounds(92, 70, 130, 25);
  537 + SkuNo.setBounds(92, 100, 130, 25);
  538 + SkuNo.setBorder(new LineBorder(new java.awt.Color(127,157,185), 1, false));
413 539 ToCart.add(SkuNo);
414 540 SkuNo.setColumns(10);
415 541  
416   - JPanel register = new JPanel();
417   - register.setBounds(231, 42, 224, 134);
418   - frmvBy.getContentPane().add(register);
  542 + //商品类型
  543 + JLabel kind = new JLabel("商品类型:");
  544 + kind.setFont(new Font("微软雅黑", Font.PLAIN, 14));
  545 + kind.setBounds(22, 75, 70, 15);
  546 + ToCart.add(kind);
  547 +
  548 + //非活动商品
  549 + JRadioButton notActivity = new JRadioButton("非活动");
  550 + notActivity.addActionListener(new ActionListener() {
  551 + public void actionPerformed(ActionEvent arg0) {
  552 + Model.setIsactivity(0);
  553 + SkuNo.setText("选填,勿填活动商品");
  554 + }
  555 + });
  556 + notActivity.setFont(new Font("微软雅黑", Font.PLAIN, 14));
  557 + notActivity.setBounds(92, 71, 70, 23);
  558 + ToCart.add(notActivity);
419 559  
  560 + //活动商品
  561 + JRadioButton isActivity = new JRadioButton("活动");
  562 + isActivity.addActionListener(new ActionListener() {
  563 + public void actionPerformed(ActionEvent e) {
  564 + Model.setIsactivity(1);
  565 + SkuNo.setText("选填,勿填非活动商品");
  566 + }
  567 + });
  568 + isActivity.setFont(new Font("微软雅黑", Font.PLAIN, 14));
  569 + isActivity.setBounds(165, 71, 64, 23);
  570 + ToCart.add(isActivity);
  571 +
  572 + //活动和非活动单选
  573 + ButtonGroup group1 = new ButtonGroup();
  574 + group1.add(notActivity);
  575 + group1.add(isActivity);
  576 + notActivity.setSelected(true);
  577 +
420 578 JLabel RegisterAccount = new JLabel("采购商邮箱:");
421 579 register.add(RegisterAccount);
422 580 RegisterAccount.setFont(new Font("微软雅黑", Font.PLAIN, 14));
423   -
  581 +
424 582 registerAccount = new JTextField();
425 583 registerAccount.setForeground(Color.LIGHT_GRAY);
426 584 registerAccount.setText("若不填写将自动生成");
... ... @@ -437,85 +595,107 @@ public class SwingMain {
437 595 registerAccount.setFont(new Font("微软雅黑", Font.PLAIN, 13));
438 596 registerAccount.setColumns(10);
439 597  
440   -
441 598 btnNewButton.addActionListener(new ActionListener() {
442 599 public void actionPerformed(ActionEvent e) {
443   - String Environment = (String) selectSystem.getSelectedItem();
444   - String Scene = (String) selectScene.getSelectedItem();
445   - String Browser = (String) browser.getSelectedItem();
446   - BrowserEngine.setInit(Environment, Browser);
447   - TestNG testNG = new TestNG();
448   - List<String> suites = new ArrayList<String>();
449   - if (Scene == "新增原厂商品") {
450   - AddOriginalGoodsPage.setSupplierName(supplierName.getText());
451   - UpdatePicPage.setPicPath(picPath.getText());
452   -// suites.add(".\\suites\\addOriginalGoods.xml");
453   - suites.add(".\\resources\\suites\\addOriginalGoods.xml");//图形界面
454   - }else if (Scene == "新增市场商品") {
455   - Model.setBuyerNo(buyerNo2.getText());
456   - Model.setPicPath(picPath.getText());
457   - Model.setSupplierName(supplierName.getText());
458   -// suites.add(".\\suites\\addMarketGoods.xml");
459   - suites.add(".\\resources\\suites\\addMarketGoods.xml");//图形界面
460   - } else if (Scene == "发布团购") {
461   - AddOriginalGoodsPage.setSupplierName(supplierName.getText());
462   - UpdatePicPage.setPicPath(picPath.getText());
463   -// suites.add(".\\suites\\publishGroupPurchase.xml");
464   - suites.add(".\\resources\\suites\\publishGroupPurchase.xml");//图形界面
465   - } else if (Scene == "采购商注册") {
466   -// suites.add(".\\suites\\buyerRegister.xml");
467   - if (!(registerAccount.getText().equals("") ||registerAccount.getText().equals("若不填写将自动生成"))) {
468   - Model.setEmail(registerAccount.getText());
469   - }
470   - suites.add(".\\resources\\suites\\buyerRegister.xml");//图形界面
471   - } else if (Scene == "添加SKU至购物车") {
472   - Model.setBuyerAccount(account.getText());
473   - Model.setBuyerPassword(password.getText());
474   - Model.setSkuNo(SkuNo.getText());
475   - suites.add(".\\resources\\suites\\addSkuToCart.xml");//暂时舍弃
476   - } else if (Scene == "成品询价") {
477   - Model.setBuyerAccount(account.getText());
478   - Model.setBuyerPassword(password.getText());
479   - Model.setSkuNo(SkuNo.getText());
480   - System.out.println("打印:"+SkuNo);//===============================================
481   - suites.add(".\\resources\\suites\\productInquiry.xml");
482   - } else if (Scene == "提交PO") {
483   - Model.setBuyerAccount(account.getText());
484   - Model.setBuyerPassword(password.getText());
485   - Model.setSkuNo(SkuNo.getText());
486   - suites.add(".\\resources\\suites\\sendPO.xml");
487   - }
488   - testNG.setTestSuites(suites);
489   - testNG.run();
490   - ja.append(getCurrentTime()+"======="+Scene+"场景,执行完毕!=======\r\n");
491   - if (Scene == "新增原厂商品" || Scene == "新增市场商品" || Scene == "发布团购") {
492   - no = Model.getSkuNo();
493   - if (no != null) {
494   - ja.append(getCurrentTime()+"SKU商品编号:"+no+"\r\n");
495   - }else {
496   - ja.append(getCurrentTime()+"程序执行失败了!\r\n你可查看目录中test-output/index.html的测试报告,或者查看Log中的执行日志检查原因");
497   - }
498   - }else if (Scene == "采购商注册") {
499   - String code = Model.getInvateCode();
500   - String email = Model.getEmail();
501   - if (code !=null && email != null) {
502   - ja.append(getCurrentTime()+"生成的邀请码:"+Model.getInvateCode()+"\r\n");
503   - ja.append(getCurrentTime()+"新采购商邮箱:"+Model.getEmail()+"\r\n");
504   - }else {
505   - ja.append(getCurrentTime()+"程序执行失败了!\r\n你可以分析目录中test-output/index.html的测试报告,或者查看目录中Log文件夹生成的执行日志");
  600 + SwingWorker<Void, Void> worker = new SwingWorker<Void, Void>() {// 加入线程
  601 +
  602 + @Override
  603 + protected Void doInBackground() throws Exception {
  604 + String Environment = (String) selectSystem.getSelectedItem();
  605 + String Scene = (String) selectScene.getSelectedItem();
  606 + String Browser = (String) browser.getSelectedItem();
  607 + //记录用户输入的数据,下次读取
  608 + setData("supplier", supplierName.getText());
  609 + setData("buyerNo", buyerNo2.getText());
  610 + setData("buyerAccount", account.getText());
  611 + ja.append(getCurrentTime() + "程序正在启动中……切勿双击【开始】\r\n");
  612 + BrowserEngine.setInit(Environment, Browser);
  613 + TestNG testNG = new TestNG();
  614 + List<String> suites = new ArrayList<String>();
  615 + if (Scene == "新增原厂商品") {
  616 + AddOriginalGoodsPage.setSupplierName(supplierName.getText());
  617 + UpdatePicPage.setPicPath(picPath.getText());
  618 + suites.add(".\\resources\\suites\\addOriginalGoods.xml");// 图形界面
  619 + } else if (Scene == "新增市场商品") {
  620 + Model.setBuyerNo(buyerNo2.getText());
  621 + Model.setPicPath(picPath.getText());
  622 + Model.setSupplierName(supplierName.getText());
  623 + suites.add(".\\resources\\suites\\addMarketGoods.xml");// 图形界面
  624 + } else if (Scene == "发布团购") {
  625 + AddOriginalGoodsPage.setSupplierName(supplierName.getText());
  626 + UpdatePicPage.setPicPath(picPath.getText());
  627 + suites.add(".\\resources\\suites\\publishGroupPurchase.xml");// 图形界面
  628 + } else if (Scene == "采购商注册") {
  629 + if (!(registerAccount.getText().equals("")
  630 + || registerAccount.getText().equals("若不填写将自动生成"))) {
  631 + Model.setEmail(registerAccount.getText());
  632 + }
  633 + suites.add(".\\resources\\suites\\buyerRegister.xml");// 图形界面
  634 + } else if (Scene == "添加SKU至购物车") {// 暂时舍弃
  635 + Model.setBuyerAccount(account.getText());
  636 + Model.setBuyerPassword(password.getText());
  637 + Model.setSkuNo(SkuNo.getText());
  638 + suites.add(".\\resources\\suites\\addSkuToCart.xml");
  639 + } else if (Scene == "成品询价") {
  640 + Model.setBuyerAccount(account.getText());
  641 + Model.setBuyerPassword(password.getText());
  642 + Model.setSkuNo(SkuNo.getText());
  643 + if (Model.getIsactivity() == 1) {
  644 + suites.add(".\\resources\\suites\\activityInquiry.xml");
  645 + }else {
  646 + suites.add(".\\resources\\suites\\productInquiry.xml");
  647 + }
  648 + } else if (Scene == "生成PO") {
  649 + Model.setBuyerAccount(account.getText());
  650 + Model.setBuyerPassword(password.getText());
  651 + Model.setSkuNo(SkuNo.getText());
  652 + if (Model.getIsactivity() == 1) {
  653 + suites.add(".\\resources\\suites\\activitySendPO.xml");
  654 + }else {
  655 + suites.add(".\\resources\\suites\\sendPO.xml");
  656 + }
  657 + } else if (Scene == "PO询价") {
  658 + Model.setPoNum(po.getText());
  659 + suites.add(".\\resources\\suites\\POInquiry.xml");
  660 + }
  661 + testNG.setTestSuites(suites);
  662 + testNG.run();
  663 + ja.append(getCurrentTime() + "=======" + Scene + "场景,执行完毕!=======\r\n");
  664 + if (Scene == "新增原厂商品" || Scene == "新增市场商品" || Scene == "发布团购") {
  665 + no = Model.getSkuNo();
  666 + if (no != null) {
  667 + ja.append(getCurrentTime() + "SKU商品编号:" + no + "\r\n");
  668 + } else {
  669 + ja.append(getCurrentTime()
  670 + + "程序执行失败了!\r\n你可查看目录中test-output/index.html的测试报告,或者查看Log中的执行日志检查原因\r\n");
  671 + }
  672 + } else if (Scene == "采购商注册") {
  673 + String code = Model.getInvateCode();
  674 + String email = Model.getEmail();
  675 + if (code != null && email != null) {
  676 + ja.append(getCurrentTime() + "生成的邀请码:" + Model.getInvateCode() + "\r\n");
  677 + ja.append(getCurrentTime() + "新采购商邮箱:" + Model.getEmail() + "\r\n");
  678 + } else {
  679 + ja.append(getCurrentTime()
  680 + + "程序执行失败了!\r\n你可以分析目录中test-output/index.html的测试报告,或者查看目录中Log文件夹生成的执行日志\r\n");
  681 + }
  682 + } else if (Scene == "添加SKU至购物车") {
  683 + ja.append(getCurrentTime() + "所选采购商账号:" + Model.getBuyerAccount() + "\r\n");
  684 + ja.append(getCurrentTime() + "添加的SKU编号为:" + Model.getSkuNo() + "\r\n");
  685 + } else if (Scene == "成品询价") {
  686 + ja.append(getCurrentTime() + "采购商账号:" + Model.getBuyerAccount() + "\r\n");
  687 + ja.append(getCurrentTime() + "SKU编号:" + Model.getSkuNo() + "\r\n");
  688 + } else if (Scene == "生成PO") {
  689 + ja.append(getCurrentTime() + "采购商账号:" + Model.getBuyerAccount() + "\r\n");
  690 + ja.append(getCurrentTime() + "PO单号:" + Model.getPoNum() + "\r\n");
  691 + }
  692 + return null;
506 693 }
507   - }else if (Scene == "添加SKU至购物车") {
508   - ja.append(getCurrentTime()+"所选采购商账号:"+Model.getBuyerAccount()+"\r\n");
509   - ja.append(getCurrentTime()+"添加的SKU编号为:"+Model.getSkuNo()+"\r\n");
510   - }else if (Scene == "成品询价") {
511   - ja.append(getCurrentTime()+"采购商账号:"+Model.getBuyerAccount()+"\r\n");
512   - ja.append(getCurrentTime()+"SKU编号:"+Model.getSkuNo()+"\r\n");
513   - }else if (Scene == "提交PO") {
514   - ja.append(getCurrentTime()+"采购商账号:"+Model.getBuyerAccount()+"\r\n");
515   - ja.append(getCurrentTime()+"PO单号:"+Model.getPoNum()+"\r\n");
516   - }
  694 + };
  695 + worker.execute();
  696 +
517 697 }
518 698 });
519   -
  699 +
520 700 }
521 701 }
... ...
target/classes/META-INF/MANIFEST.MF
1 1 Manifest-Version: 1.0
2 2 Built-By: Administrator
3   -Build-Jdk: 10.0.2
  3 +Build-Jdk: 1.8.0_181
4 4 Created-By: Maven Integration for Eclipse
5 5  
... ...
target/classes/META-INF/maven/com.essatest/essa/pom.properties
1 1 #Generated by Maven Integration for Eclipse
2   -#Thu Aug 30 10:15:43 CST 2018
3   -m2e.projectLocation=D\:\\workspace\\demo
4   -m2e.projectName=demo
  2 +#Tue Oct 23 15:18:34 CST 2018
  3 +version=0.0.1-SNAPSHOT
5 4 groupId=com.essatest
  5 +m2e.projectName=EssaAuto
  6 +m2e.projectLocation=D\:\\WorkSpace\\EssaAuto
6 7 artifactId=essa
7   -version=0.0.1-SNAPSHOT
... ...
target/classes/META-INF/maven/com.essatest/essa/pom.xml
1   -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2   - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3   - <modelVersion>4.0.0</modelVersion>
4   -
5   - <groupId>com.essatest</groupId>
6   - <artifactId>essa</artifactId>
7   - <version>0.0.1-SNAPSHOT</version>
8   - <packaging>jar</packaging>
9   -
10   - <name>essa</name>
11   - <url>http://maven.apache.org</url>
12   -
13   - <properties>
14   - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
15   - </properties>
16   -
17   -<dependencies>
18   -
19   - <dependency>
20   - <groupId>org.testng</groupId>
21   - <artifactId>testng</artifactId>
22   - <version>6.14.3</version>
23   - <!-- <scope>test</scope>-->
24   - </dependency>
25   -
26   - <dependency>
27   - <groupId>org.seleniumhq.selenium</groupId>
28   - <artifactId>selenium-java</artifactId>
29   - <version>3.11.0</version>
30   - </dependency>
31   -
32   -
33   - <dependency>
34   - <groupId>org.seleniumhq.selenium</groupId>
35   - <artifactId>selenium-firefox-driver</artifactId>
36   - <version>3.11.0</version>
37   - </dependency>
38   -
39   - <dependency>
40   - <groupId>org.seleniumhq.selenium</groupId>
41   - <artifactId>selenium-chrome-driver</artifactId>
42   - <version>3.11.0</version>
43   - </dependency>
44   -
45   - <dependency>
46   - <groupId>org.seleniumhq.selenium</groupId>
47   - <artifactId>selenium-safari-driver</artifactId>
48   - <version>3.11.0</version>
49   - </dependency>
50   -
51   - <dependency>
52   - <groupId>org.seleniumhq.selenium</groupId>
53   - <artifactId>selenium-ie-driver</artifactId>
54   - <version>3.11.0</version>
55   - </dependency>
56   -
57   -
58   - <dependency>
59   - <groupId>org.seleniumhq.selenium</groupId>
60   - <artifactId>selenium-support</artifactId>
61   - <version>2.46.0</version>
62   - </dependency>
63   -
64   - <dependency>
65   - <groupId>javax.mail</groupId>
66   - <artifactId>mail</artifactId>
67   - <version>1.4</version>
68   - </dependency>
69   -
70   - <dependency>
71   - <groupId>org.apache.commons</groupId>
72   - <artifactId>commons-collections4</artifactId>
73   - <version>4.1</version>
74   - </dependency>
75   -
76   - <dependency>
77   - <groupId>org.apache.poi</groupId>
78   - <artifactId>poi</artifactId>
79   - <version>3.14</version>
80   - </dependency>
81   -
82   - <dependency>
83   - <groupId>org.apache.poi</groupId>
84   - <artifactId>poi-ooxml</artifactId>
85   - <version>3.14</version>
86   - </dependency>
87   -
88   - <dependency>
89   - <groupId>org.apache.poi</groupId>
90   - <artifactId>poi-ooxml-schemas</artifactId>
91   - <version>3.14</version>
92   - </dependency>
93   -
94   - <dependency>
95   - <groupId>org.apache.commons</groupId>
96   - <artifactId>commons-io</artifactId>
97   - <version>1.3.2</version>
98   - </dependency>
99   -
100   - <dependency>
101   - <groupId>mysql</groupId>
102   - <artifactId>mysql-connector-java</artifactId>
103   - <version>6.0.6</version>
104   - </dependency>
105   - <dependency>
106   - <groupId>org.dbunit</groupId>
107   - <artifactId>dbunit</artifactId>
108   - <version>2.5.4</version>
109   - </dependency>
110   - </dependencies>
111   -
112   - <build>
113   - <plugins>
114   - <plugin>
115   - <groupId>org.apache.maven.plugins</groupId>
116   - <artifactId>maven-surefire-plugin</artifactId>
117   - <version>2.7.1</version>
118   - <configuration>
119   - <!--<testFailureIgnore>true</testFailureIgnore>-->
120   - <suiteXmlFiles>
121   - <suiteXmlFile>resources/suites/testng.xml</suiteXmlFile>
122   - <!--此处testng.xml即为要运行的testng.xml文件-->
123   - </suiteXmlFiles>
124   - </configuration>
125   - </plugin>
126   - </plugins>
127   - </build>
128   -
  1 +<project xmlns="http://maven.apache.org/POM/4.0.0"
  2 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4 + <modelVersion>4.0.0</modelVersion>
  5 +
  6 + <groupId>com.essatest</groupId>
  7 + <artifactId>essa</artifactId>
  8 + <version>0.0.1-SNAPSHOT</version>
  9 + <packaging>jar</packaging>
  10 +
  11 + <name>essa</name>
  12 + <url>http://maven.apache.org</url>
  13 +
  14 + <properties>
  15 + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  16 + </properties>
  17 +
  18 + <dependencies>
  19 +
  20 + <dependency>
  21 + <groupId>org.testng</groupId>
  22 + <artifactId>testng</artifactId>
  23 + <version>6.14.3</version>
  24 + <!-- <scope>test</scope> -->
  25 + </dependency>
  26 +
  27 + <dependency>
  28 + <groupId>org.seleniumhq.selenium</groupId>
  29 + <artifactId>selenium-java</artifactId>
  30 + <version>3.11.0</version>
  31 + </dependency>
  32 +
  33 +
  34 + <dependency>
  35 + <groupId>org.seleniumhq.selenium</groupId>
  36 + <artifactId>selenium-firefox-driver</artifactId>
  37 + <version>3.11.0</version>
  38 + </dependency>
  39 +
  40 + <dependency>
  41 + <groupId>org.seleniumhq.selenium</groupId>
  42 + <artifactId>selenium-chrome-driver</artifactId>
  43 + <version>3.11.0</version>
  44 + </dependency>
  45 +
  46 + <dependency>
  47 + <groupId>org.seleniumhq.selenium</groupId>
  48 + <artifactId>selenium-safari-driver</artifactId>
  49 + <version>3.11.0</version>
  50 + </dependency>
  51 +
  52 + <dependency>
  53 + <groupId>org.seleniumhq.selenium</groupId>
  54 + <artifactId>selenium-ie-driver</artifactId>
  55 + <version>3.11.0</version>
  56 + </dependency>
  57 +
  58 +
  59 + <dependency>
  60 + <groupId>org.seleniumhq.selenium</groupId>
  61 + <artifactId>selenium-support</artifactId>
  62 + <version>2.46.0</version>
  63 + </dependency>
  64 +
  65 + <dependency>
  66 + <groupId>javax.mail</groupId>
  67 + <artifactId>mail</artifactId>
  68 + <version>1.4</version>
  69 + </dependency>
  70 +
  71 + <dependency>
  72 + <groupId>org.apache.commons</groupId>
  73 + <artifactId>commons-collections4</artifactId>
  74 + <version>4.1</version>
  75 + </dependency>
  76 +
  77 + <dependency>
  78 + <groupId>org.apache.poi</groupId>
  79 + <artifactId>poi</artifactId>
  80 + <version>3.14</version>
  81 + </dependency>
  82 +
  83 + <dependency>
  84 + <groupId>org.apache.poi</groupId>
  85 + <artifactId>poi-ooxml</artifactId>
  86 + <version>3.14</version>
  87 + </dependency>
  88 +
  89 + <dependency>
  90 + <groupId>org.apache.poi</groupId>
  91 + <artifactId>poi-ooxml-schemas</artifactId>
  92 + <version>3.14</version>
  93 + </dependency>
  94 +
  95 + <dependency>
  96 + <groupId>org.apache.commons</groupId>
  97 + <artifactId>commons-io</artifactId>
  98 + <version>1.3.2</version>
  99 + </dependency>
  100 +
  101 + <dependency>
  102 + <groupId>mysql</groupId>
  103 + <artifactId>mysql-connector-java</artifactId>
  104 + <version>6.0.6</version>
  105 + </dependency>
  106 + <dependency>
  107 + <groupId>org.dbunit</groupId>
  108 + <artifactId>dbunit</artifactId>
  109 + <version>2.5.4</version>
  110 + </dependency>
  111 + <dependency>
  112 + <groupId>jdom</groupId>
  113 + <artifactId>jdom</artifactId>
  114 + <version>1.0</version>
  115 + </dependency>
  116 + </dependencies>
  117 +
  118 + <build>
  119 + <plugins>
  120 + <plugin>
  121 + <groupId>org.apache.maven.plugins</groupId>
  122 + <artifactId>maven-surefire-plugin</artifactId>
  123 + <version>2.7.1</version>
  124 + <configuration>
  125 + <!--<testFailureIgnore>true</testFailureIgnore> -->
  126 + <suiteXmlFiles>
  127 + <suiteXmlFile>resources/suites/testng.xml</suiteXmlFile>
  128 + <!--此处testng.xml即为要运行的testng.xml文件 -->
  129 + </suiteXmlFiles>
  130 + </configuration>
  131 + </plugin>
  132 + </plugins>
  133 + </build>
  134 +
129 135 </project>
... ...
target/test-classes/com/essa/framework/BasePage.class
No preview for this file type
target/test-classes/com/essa/pageObject/HomePage.class
No preview for this file type
test-output/Default suite/Default test.html
... ... @@ -55,11 +55,11 @@ function toggleAllBoxes() {
55 55 <body>
56 56 <h2 align='center'>Default test</h2><table border='1' align="center">
57 57 <tr>
58   -<td>Tests passed/Failed/Skipped:</td><td>0/1/0</td>
  58 +<td>Tests passed/Failed/Skipped:</td><td>0/0/0</td>
59 59 </tr><tr>
60   -<td>Started on:</td><td>Fri Aug 31 11:50:34 CST 2018</td>
  60 +<td>Started on:</td><td>Tue Oct 16 11:58:40 CST 2018</td>
61 61 </tr>
62   -<tr><td>Total time:</td><td>11 seconds (11417 ms)</td>
  62 +<tr><td>Total time:</td><td>0 seconds (8 ms)</td>
63 63 </tr><tr>
64 64 <td>Included groups:</td><td></td>
65 65 </tr><tr>
... ... @@ -67,75 +67,5 @@ function toggleAllBoxes() {
67 67 </tr>
68 68 </table><p/>
69 69 <small><i>(Hover the method name to see the test class name)</i></small><p/>
70   -<table width='100%' border='1' class='invocation-failed'>
71   -<tr><td colspan='4' align='center'><b>FAILED TESTS</b></td></tr>
72   -<tr><td><b>Test method</b></td>
73   -<td width="30%"><b>Exception</b></td>
74   -<td width="10%"><b>Time (seconds)</b></td>
75   -<td><b>Instance</b></td>
76   -</tr>
77   -<tr>
78   -<td title='com.buyer.testSuite.TestBuyGoods.keywordToCart()'><b>keywordToCart</b><br>Test class: com.buyer.testSuite.TestBuyGoods<br>Test method: 关键字搜索,并将sku加入购物车</td>
79   -<td><div><pre>java.lang.NullPointerException
80   - at com.buyer.pageObject.IndexPage.keywordSearch(IndexPage.java:89)
81   - at com.buyer.testSuite.TestBuyGoods.keywordToCart(TestBuyGoods.java:46)
82   - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
83   - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
84   - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
85   - at java.base/java.lang.reflect.Method.invoke(Method.java:564)
86   - at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
87   - at org.testng.internal.Invoker.invokeMethod(Invoker.java:583)
88   - at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)
89   - at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989)
90   - at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
91   - at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
92   - at org.testng.TestRunner.privateRun(TestRunner.java:648)
93   - at org.testng.TestRunner.run(TestRunner.java:505)
94   - at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
95   - at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
96   - at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
97   - at org.testng.SuiteRunner.run(SuiteRunner.java:364)
98   - at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
99   - at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
100   - at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
101   - at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
102   - at org.testng.TestNG.runSuites(TestNG.java:1049)
103   - at org.testng.TestNG.run(TestNG.java:1017)
104   - at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
105   - at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
106   - at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
107   -</pre></div><a href='#' onClick='toggleBox("stack-trace1917784974", this, "Click to show all stack frames", "Click to hide stack frames")'>Click to show all stack frames</a>
108   -<div class='stack-trace' id='stack-trace1917784974'><pre>java.lang.NullPointerException
109   - at com.buyer.pageObject.IndexPage.keywordSearch(IndexPage.java:89)
110   - at com.buyer.testSuite.TestBuyGoods.keywordToCart(TestBuyGoods.java:46)
111   - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
112   - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
113   - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
114   - at java.base/java.lang.reflect.Method.invoke(Method.java:564)
115   - at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
116   - at org.testng.internal.Invoker.invokeMethod(Invoker.java:583)
117   - at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)
118   - at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989)
119   - at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
120   - at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
121   - at org.testng.TestRunner.privateRun(TestRunner.java:648)
122   - at org.testng.TestRunner.run(TestRunner.java:505)
123   - at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
124   - at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
125   - at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
126   - at org.testng.SuiteRunner.run(SuiteRunner.java:364)
127   - at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
128   - at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
129   - at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
130   - at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
131   - at org.testng.TestNG.runSuites(TestNG.java:1049)
132   - at org.testng.TestNG.run(TestNG.java:1017)
133   - at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
134   - at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
135   - at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
136   -</pre></div></td>
137   -<td>1</td>
138   -<td>com.buyer.testSuite.TestBuyGoods@44a7bfbc</td></tr>
139   -</table><p>
140 70 </body>
141 71 </html>
142 72 \ No newline at end of file
... ...
test-output/Default suite/Default test.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!-- Generated by org.testng.reporters.JUnitXMLReporter -->
3   -<testsuite ignored="1" hostname="A4O1M5DMPNJ0AZF" failures="1" tests="1" name="Default test" time="11.417" errors="0" timestamp="31 8月 2018 03:50:46 GMT">
4   - <testcase classname="com.buyer.testSuite.TestBuyGoods" name="keywordToCart" time="1.128">
5   - <failure type="java.lang.NullPointerException">
6   - <![CDATA[java.lang.NullPointerException
7   -at com.buyer.pageObject.IndexPage.keywordSearch(IndexPage.java:89)
8   -at com.buyer.testSuite.TestBuyGoods.keywordToCart(TestBuyGoods.java:46)
9   -at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
10   -at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
11   -at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
12   -at java.base/java.lang.reflect.Method.invoke(Method.java:564)
13   -at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
14   -at org.testng.internal.Invoker.invokeMethod(Invoker.java:583)
15   -at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)
16   -at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989)
17   -at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
18   -at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
19   -at org.testng.TestRunner.privateRun(TestRunner.java:648)
20   -at org.testng.TestRunner.run(TestRunner.java:505)
21   -at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
22   -at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
23   -at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
24   -at org.testng.SuiteRunner.run(SuiteRunner.java:364)
25   -at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
26   -at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
27   -at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
28   -at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
29   -at org.testng.TestNG.runSuites(TestNG.java:1049)
30   -at org.testng.TestNG.run(TestNG.java:1017)
31   -at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
32   -at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
33   -at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
34   -]]>
35   - </failure>
36   - </testcase> <!-- keywordToCart -->
37   - <testcase classname="com.buyer.testSuite.TestBuyGoods" name="conslidation" time="0.0">
38   - <ignored/>
39   - </testcase> <!-- conslidation -->
40   -</testsuite> <!-- Default test -->
  3 +<testsuite hostname="4F5EY2X7DB7A4UR" ignored="0" tests="0" failures="0" timestamp="16 十月 2018 03:58:40 GMT" time="0.008" errors="0">
  4 +</testsuite>
... ...
test-output/Default suite/testng-failed.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
3   -<suite name="Failed suite [Default suite]" guice-stage="DEVELOPMENT">
  3 +<suite guice-stage="DEVELOPMENT" name="Failed suite [Default suite]">
4 4 <test thread-count="5" name="Default test(failed)">
5 5 <classes>
6   - <class name="com.buyer.testSuite.TestBuyGoods">
  6 + <class name="com.essa.testSuite.TestSelenium">
7 7 <methods>
8   - <include name="setUp"/>
9   - <include name="keywordToCart"/>
10   - <include name="tearDown"/>
  8 + <include name="testEssa"/>
11 9 </methods>
12   - </class> <!-- com.buyer.testSuite.TestBuyGoods -->
  10 + </class> <!-- com.essa.testSuite.TestSelenium -->
13 11 </classes>
14 12 </test> <!-- Default test(failed) -->
15 13 </suite> <!-- Failed suite [Default suite] -->
... ...
test-output/emailable-report.html
... ... @@ -8,12 +8,14 @@
8 8 <body>
9 9 <table>
10 10 <tr><th>Test</th><th># Passed</th><th># Skipped</th><th># Failed</th><th>Time (ms)</th><th>Included Groups</th><th>Excluded Groups</th></tr>
11   -<tr><th colspan="7">成品询价</th></tr>
12   -<tr><td><a href="#t0">productInquiry</a></td><td class="num">2</td><td class="num">0</td><td class="num">0</td><td class="num">60,225</td><td></td><td></td></tr>
  11 +<tr><th colspan="7">新增原厂商品</th></tr>
  12 +<tr><td><a href="#t0">addOriginalGoods</a></td><td class="num">4</td><td class="num">0</td><td class="num">0</td><td class="num">69,357</td><td></td><td></td></tr>
13 13 </table>
14   -<table id='summary'><thead><tr><th>Class</th><th>Method</th><th>Start</th><th>Time (ms)</th></tr></thead><tbody><tr><th colspan="4">成品询价</th></tr></tbody><tbody id="t0"><tr><th colspan="4">productInquiry &#8212; passed</th></tr><tr class="passedeven"><td rowspan="1">com.buyer.testSuite.TestAddToCart</td><td><a href="#m0">keywordToCart</a></td><td rowspan="1">1536029721587</td><td rowspan="1">23097</td></tr><tr class="passedodd"><td rowspan="1">com.essa.testSuite.TestProductInquiry</td><td><a href="#m1">productInquiry</a></td><td rowspan="1">1536029753288</td><td rowspan="1">18216</td></tr></tbody>
  14 +<table id='summary'><thead><tr><th>Class</th><th>Method</th><th>Start</th><th>Time (ms)</th></tr></thead><tbody><tr><th colspan="4">新增原厂商品</th></tr></tbody><tbody id="t0"><tr><th colspan="4">addOriginalGoods &#8212; passed</th></tr><tr class="passedeven"><td rowspan="4">com.essa.testSuite.TestAddOriginalGoods</td><td><a href="#m0">auditOriginal</a></td><td rowspan="1">1540280132523</td><td rowspan="1">14207</td></tr><tr class="passedeven"><td><a href="#m1">getSkuNo</a></td><td rowspan="1">1540280146731</td><td rowspan="1">2285</td></tr><tr class="passedeven"><td><a href="#m2">toAddOriginalGoodsPage</a></td><td rowspan="1">1540280088278</td><td rowspan="1">29443</td></tr><tr class="passedeven"><td><a href="#m3">updatePic</a></td><td rowspan="1">1540280117723</td><td rowspan="1">14799</td></tr></tbody>
15 15 </table>
16   -<h2>productInquiry</h2><h3 id="m0">com.buyer.testSuite.TestAddToCart#keywordToCart</h3><table class="result"><tr><th class="invisible"/></tr></table><p class="totop"><a href="#summary">back to summary</a></p>
17   -<h3 id="m1">com.essa.testSuite.TestProductInquiry#productInquiry</h3><table class="result"><tr><th class="invisible"/></tr></table><p class="totop"><a href="#summary">back to summary</a></p>
  16 +<h2>addOriginalGoods</h2><h3 id="m0">com.essa.testSuite.TestAddOriginalGoods#auditOriginal</h3><table class="result"><tr><th class="invisible"/></tr></table><p class="totop"><a href="#summary">back to summary</a></p>
  17 +<h3 id="m1">com.essa.testSuite.TestAddOriginalGoods#getSkuNo</h3><table class="result"><tr><th class="invisible"/></tr></table><p class="totop"><a href="#summary">back to summary</a></p>
  18 +<h3 id="m2">com.essa.testSuite.TestAddOriginalGoods#toAddOriginalGoodsPage</h3><table class="result"><tr><th class="invisible"/></tr></table><p class="totop"><a href="#summary">back to summary</a></p>
  19 +<h3 id="m3">com.essa.testSuite.TestAddOriginalGoods#updatePic</h3><table class="result"><tr><th class="invisible"/></tr></table><p class="totop"><a href="#summary">back to summary</a></p>
18 20 </body>
19 21 </html>
... ...
test-output/index.html
... ... @@ -29,16 +29,16 @@
29 29 <div class="navigator-root">
30 30 <div class="navigator-suite-header">
31 31 <span>All suites</span>
32   - <a href="#" title="Collapse/expand all the suites" class="collapse-all-link">
33   - <img src="collapseall.gif" class="collapse-all-icon">
  32 + <a href="#" class="collapse-all-link" title="Collapse/expand all the suites">
  33 + <img class="collapse-all-icon" src="collapseall.gif">
34 34 </img> <!-- collapse-all-icon -->
35 35 </a> <!-- collapse-all-link -->
36 36 </div> <!-- navigator-suite-header -->
37 37 <div class="suite">
38 38 <div class="rounded-window">
39 39 <div class="suite-header light-rounded-window-top">
40   - <a href="#" panel-name="suite-成品询价" class="navigator-link">
41   - <span class="suite-name border-passed">成品询价</span>
  40 + <a href="#" class="navigator-link" panel-name="suite-新增原厂商品">
  41 + <span class="suite-name border-passed">新增原厂商品</span>
42 42 </a> <!-- navigator-link -->
43 43 </div> <!-- suite-header light-rounded-window-top -->
44 44 <div class="navigator-suite-content">
... ... @@ -48,37 +48,37 @@
48 48 <div class="suite-section-content">
49 49 <ul>
50 50 <li>
51   - <a href="#" panel-name="test-xml-成品询价" class="navigator-link ">
52   - <span>D:\workspace\demo\resources\suites\productInquiry.xml</span>
  51 + <a href="#" class="navigator-link " panel-name="test-xml-新增原厂商品">
  52 + <span>D:\WorkSpace\EssaAuto\resources\suites\addOriginalGoods.xml</span>
53 53 </a> <!-- navigator-link -->
54 54 </li>
55 55 <li>
56   - <a href="#" panel-name="testlist-成品询价" class="navigator-link ">
  56 + <a href="#" class="navigator-link " panel-name="testlist-新增原厂商品">
57 57 <span class="test-stats">1 test</span>
58 58 </a> <!-- navigator-link -->
59 59 </li>
60 60 <li>
61   - <a href="#" panel-name="group-成品询价" class="navigator-link ">
  61 + <a href="#" class="navigator-link " panel-name="group-新增原厂商品">
62 62 <span>0 groups</span>
63 63 </a> <!-- navigator-link -->
64 64 </li>
65 65 <li>
66   - <a href="#" panel-name="times-成品询价" class="navigator-link ">
  66 + <a href="#" class="navigator-link " panel-name="times-新增原厂商品">
67 67 <span>Times</span>
68 68 </a> <!-- navigator-link -->
69 69 </li>
70 70 <li>
71   - <a href="#" panel-name="reporter-成品询价" class="navigator-link ">
  71 + <a href="#" class="navigator-link " panel-name="reporter-新增原厂商品">
72 72 <span>Reporter output</span>
73 73 </a> <!-- navigator-link -->
74 74 </li>
75 75 <li>
76   - <a href="#" panel-name="ignored-methods-成品询价" class="navigator-link ">
  76 + <a href="#" class="navigator-link " panel-name="ignored-methods-新增原厂商品">
77 77 <span>Ignored methods</span>
78 78 </a> <!-- navigator-link -->
79 79 </li>
80 80 <li>
81   - <a href="#" panel-name="chronological-成品询价" class="navigator-link ">
  81 + <a href="#" class="navigator-link " panel-name="chronological-新增原厂商品">
82 82 <span>Chronological view</span>
83 83 </a> <!-- navigator-link -->
84 84 </li>
... ... @@ -91,26 +91,36 @@
91 91 <div class="suite-section-content">
92 92 <ul>
93 93 <li>
94   - <span class="method-stats">2 methods, 2 passed</span>
  94 + <span class="method-stats">4 methods, 4 passed</span>
95 95 </li>
96 96 <li>
97 97 <span class="method-list-title passed">Passed methods</span>
98 98 <span class="show-or-hide-methods passed">
99   - <a href="#" panel-name="suite-成品询价" class="hide-methods passed suite-成品询价"> (hide)</a> <!-- hide-methods passed suite-成品询价 -->
100   - <a href="#" panel-name="suite-成品询价" class="show-methods passed suite-成品询价"> (show)</a> <!-- show-methods passed suite-成品询价 -->
  99 + <a href="#" panel-name="suite-新增原厂商品" class="hide-methods passed suite-新增原厂商品"> (hide)</a> <!-- hide-methods passed suite-新增原厂商品 -->
  100 + <a href="#" panel-name="suite-新增原厂商品" class="show-methods passed suite-新增原厂商品"> (show)</a> <!-- show-methods passed suite-新增原厂商品 -->
101 101 </span>
102   - <div class="method-list-content passed suite-成品询价">
  102 + <div class="method-list-content passed suite-新增原厂商品">
103 103 <span>
104   - <img src="passed.png" width="3%"/>
105   - <a href="#" panel-name="suite-成品询价" title="com.buyer.testSuite.TestAddToCart" class="method navigator-link" hash-for-method="keywordToCart">keywordToCart</a> <!-- method navigator-link -->
  104 + <img width="3%" src="passed.png"/>
  105 + <a href="#" class="method navigator-link" panel-name="suite-新增原厂商品" title="com.essa.testSuite.TestAddOriginalGoods" hash-for-method="auditOriginal">auditOriginal</a> <!-- method navigator-link -->
106 106 </span>
107 107 <br/>
108 108 <span>
109   - <img src="passed.png" width="3%"/>
110   - <a href="#" panel-name="suite-成品询价" title="com.essa.testSuite.TestProductInquiry" class="method navigator-link" hash-for-method="productInquiry">productInquiry</a> <!-- method navigator-link -->
  109 + <img width="3%" src="passed.png"/>
  110 + <a href="#" class="method navigator-link" panel-name="suite-新增原厂商品" title="com.essa.testSuite.TestAddOriginalGoods" hash-for-method="getSkuNo">getSkuNo</a> <!-- method navigator-link -->
111 111 </span>
112 112 <br/>
113   - </div> <!-- method-list-content passed suite-成品询价 -->
  113 + <span>
  114 + <img width="3%" src="passed.png"/>
  115 + <a href="#" class="method navigator-link" panel-name="suite-新增原厂商品" title="com.essa.testSuite.TestAddOriginalGoods" hash-for-method="toAddOriginalGoodsPage">toAddOriginalGoodsPage</a> <!-- method navigator-link -->
  116 + </span>
  117 + <br/>
  118 + <span>
  119 + <img width="3%" src="passed.png"/>
  120 + <a href="#" class="method navigator-link" panel-name="suite-新增原厂商品" title="com.essa.testSuite.TestAddOriginalGoods" hash-for-method="updatePic">updatePic</a> <!-- method navigator-link -->
  121 + </span>
  122 + <br/>
  123 + </div> <!-- method-list-content passed suite-新增原厂商品 -->
114 124 </li>
115 125 </ul>
116 126 </div> <!-- suite-section-content -->
... ... @@ -121,175 +131,182 @@
121 131 </div> <!-- navigator-root -->
122 132 <div class="wrapper">
123 133 <div class="main-panel-root">
124   - <div panel-name="suite-成品询价" class="panel 成品询价">
125   - <div class="suite-成品询价-class-passed">
  134 + <div panel-name="suite-新增原厂商品" class="panel 新增原厂商品">
  135 + <div class="suite-新增原厂商品-class-passed">
126 136 <div class="main-panel-header rounded-window-top">
127 137 <img src="passed.png"/>
128   - <span class="class-name">com.buyer.testSuite.TestAddToCart</span>
  138 + <span class="class-name">com.essa.testSuite.TestAddOriginalGoods</span>
129 139 </div> <!-- main-panel-header rounded-window-top -->
130 140 <div class="main-panel-content rounded-window-bottom">
131 141 <div class="method">
132 142 <div class="method-content">
133   - <a name="keywordToCart">
134   - </a> <!-- keywordToCart -->
135   - <span class="method-name">keywordToCart</span>
  143 + <a name="auditOriginal">
  144 + </a> <!-- auditOriginal -->
  145 + <span class="method-name">auditOriginal</span>
136 146 <em>
137   -(关键字搜索,并将sku加入购物车) </em>
  147 +(原厂商品审核) </em>
  148 + </div> <!-- method-content -->
  149 + </div> <!-- method -->
  150 + <div class="method">
  151 + <div class="method-content">
  152 + <a name="getSkuNo">
  153 + </a> <!-- getSkuNo -->
  154 + <span class="method-name">getSkuNo</span>
  155 + <em>
  156 +(去商品库获取添加的sku编号) </em>
  157 + </div> <!-- method-content -->
  158 + </div> <!-- method -->
  159 + <div class="method">
  160 + <div class="method-content">
  161 + <a name="toAddOriginalGoodsPage">
  162 + </a> <!-- toAddOriginalGoodsPage -->
  163 + <span class="method-name">toAddOriginalGoodsPage</span>
  164 + <em>
  165 +(原厂商品建档) </em>
138 166 </div> <!-- method-content -->
139 167 </div> <!-- method -->
140   - </div> <!-- main-panel-content rounded-window-bottom -->
141   - </div> <!-- suite-成品询价-class-passed -->
142   - <div class="suite-成品询价-class-passed">
143   - <div class="main-panel-header rounded-window-top">
144   - <img src="passed.png"/>
145   - <span class="class-name">com.essa.testSuite.TestProductInquiry</span>
146   - </div> <!-- main-panel-header rounded-window-top -->
147   - <div class="main-panel-content rounded-window-bottom">
148 168 <div class="method">
149 169 <div class="method-content">
150   - <a name="productInquiry">
151   - </a> <!-- productInquiry -->
152   - <span class="method-name">productInquiry</span>
  170 + <a name="updatePic">
  171 + </a> <!-- updatePic -->
  172 + <span class="method-name">updatePic</span>
153 173 <em>
154   -(成品询价流程) </em>
  174 +(更新图片) </em>
155 175 </div> <!-- method-content -->
156 176 </div> <!-- method -->
157 177 </div> <!-- main-panel-content rounded-window-bottom -->
158   - </div> <!-- suite-成品询价-class-passed -->
159   - </div> <!-- panel 成品询价 -->
160   - <div panel-name="test-xml-成品询价" class="panel">
  178 + </div> <!-- suite-新增原厂商品-class-passed -->
  179 + </div> <!-- panel 新增原厂商品 -->
  180 + <div panel-name="test-xml-新增原厂商品" class="panel">
161 181 <div class="main-panel-header rounded-window-top">
162   - <span class="header-content">D:\workspace\demo\resources\suites\productInquiry.xml</span>
  182 + <span class="header-content">D:\WorkSpace\EssaAuto\resources\suites\addOriginalGoods.xml</span>
163 183 </div> <!-- main-panel-header rounded-window-top -->
164 184 <div class="main-panel-content rounded-window-bottom">
165 185 <pre>
166 186 &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
167 187 &lt;!DOCTYPE suite SYSTEM &quot;http://testng.org/testng-1.0.dtd&quot;&gt;
168   -&lt;suite name=&quot;成品询价&quot; guice-stage=&quot;DEVELOPMENT&quot;&gt;
169   - &lt;test thread-count=&quot;5&quot; name=&quot;productInquiry&quot;&gt;
  188 +&lt;suite guice-stage=&quot;DEVELOPMENT&quot; name=&quot;新增原厂商品&quot;&gt;
  189 + &lt;test thread-count=&quot;5&quot; name=&quot;addOriginalGoods&quot;&gt;
170 190 &lt;classes&gt;
171   - &lt;class name=&quot;com.buyer.testSuite.TestAddToCart&quot;&gt;
  191 + &lt;class name=&quot;com.essa.testSuite.TestAddOriginalGoods&quot;&gt;
172 192 &lt;methods&gt;
173   - &lt;include name=&quot;keywordToCart&quot;/&gt;
  193 + &lt;include name=&quot;toAddOriginalGoodsPage&quot;/&gt;
  194 + &lt;include name=&quot;toGoodsRelesePage&quot;/&gt;
  195 + &lt;include name=&quot;updatePic&quot;/&gt;
  196 + &lt;include name=&quot;auditOriginal&quot;/&gt;
  197 + &lt;include name=&quot;getSkuNo&quot;/&gt;
174 198 &lt;/methods&gt;
175   - &lt;/class&gt; &lt;!-- com.buyer.testSuite.TestAddToCart --&gt;
176   - &lt;class name=&quot;com.essa.testSuite.TestProductInquiry&quot;&gt;
177   - &lt;methods&gt;
178   - &lt;include name=&quot;productInquiry&quot;/&gt;
179   - &lt;/methods&gt;
180   - &lt;/class&gt; &lt;!-- com.essa.testSuite.TestProductInquiry --&gt;
  199 + &lt;/class&gt; &lt;!-- com.essa.testSuite.TestAddOriginalGoods --&gt;
181 200 &lt;/classes&gt;
182   - &lt;/test&gt; &lt;!-- productInquiry --&gt;
183   -&lt;/suite&gt; &lt;!-- 成品询价 --&gt;
  201 + &lt;/test&gt; &lt;!-- addOriginalGoods --&gt;
  202 +&lt;/suite&gt; &lt;!-- 新增原厂商品 --&gt;
184 203 </pre>
185 204 </div> <!-- main-panel-content rounded-window-bottom -->
186 205 </div> <!-- panel -->
187   - <div panel-name="testlist-成品询价" class="panel">
  206 + <div panel-name="testlist-新增原厂商品" class="panel">
188 207 <div class="main-panel-header rounded-window-top">
189   - <span class="header-content">Tests for 成品询价</span>
  208 + <span class="header-content">Tests for 新增原厂商品</span>
190 209 </div> <!-- main-panel-header rounded-window-top -->
191 210 <div class="main-panel-content rounded-window-bottom">
192 211 <ul>
193 212 <li>
194   - <span class="test-name">productInquiry (2 classes)</span>
  213 + <span class="test-name">addOriginalGoods (1 class)</span>
195 214 </li>
196 215 </ul>
197 216 </div> <!-- main-panel-content rounded-window-bottom -->
198 217 </div> <!-- panel -->
199   - <div panel-name="group-成品询价" class="panel">
  218 + <div panel-name="group-新增原厂商品" class="panel">
200 219 <div class="main-panel-header rounded-window-top">
201   - <span class="header-content">Groups for 成品询价</span>
  220 + <span class="header-content">Groups for 新增原厂商品</span>
202 221 </div> <!-- main-panel-header rounded-window-top -->
203 222 <div class="main-panel-content rounded-window-bottom">
204 223 </div> <!-- main-panel-content rounded-window-bottom -->
205 224 </div> <!-- panel -->
206   - <div panel-name="times-成品询价" class="panel">
  225 + <div panel-name="times-新增原厂商品" class="panel">
207 226 <div class="main-panel-header rounded-window-top">
208   - <span class="header-content">Times for 成品询价</span>
  227 + <span class="header-content">Times for 新增原厂商品</span>
209 228 </div> <!-- main-panel-header rounded-window-top -->
210 229 <div class="main-panel-content rounded-window-bottom">
211 230 <div class="times-div">
212 231 <script type="text/javascript">
213   -suiteTableInitFunctions.push('tableData_成品询价');
214   -function tableData_成品询价() {
  232 +suiteTableInitFunctions.push('tableData_新增原厂商品');
  233 +function tableData_新增原厂商品() {
215 234 var data = new google.visualization.DataTable();
216 235 data.addColumn('number', 'Number');
217 236 data.addColumn('string', 'Method');
218 237 data.addColumn('string', 'Class');
219 238 data.addColumn('number', 'Time (ms)');
220   -data.addRows(2);
  239 +data.addRows(4);
221 240 data.setCell(0, 0, 0)
222   -data.setCell(0, 1, 'keywordToCart')
223   -data.setCell(0, 2, 'com.buyer.testSuite.TestAddToCart')
224   -data.setCell(0, 3, 23097);
  241 +data.setCell(0, 1, 'toAddOriginalGoodsPage')
  242 +data.setCell(0, 2, 'com.essa.testSuite.TestAddOriginalGoods')
  243 +data.setCell(0, 3, 29443);
225 244 data.setCell(1, 0, 1)
226   -data.setCell(1, 1, 'productInquiry')
227   -data.setCell(1, 2, 'com.essa.testSuite.TestProductInquiry')
228   -data.setCell(1, 3, 18216);
229   -window.suiteTableData['成品询价']= { tableData: data, tableDiv: 'times-div-成品询价'}
  245 +data.setCell(1, 1, 'updatePic')
  246 +data.setCell(1, 2, 'com.essa.testSuite.TestAddOriginalGoods')
  247 +data.setCell(1, 3, 14799);
  248 +data.setCell(2, 0, 2)
  249 +data.setCell(2, 1, 'auditOriginal')
  250 +data.setCell(2, 2, 'com.essa.testSuite.TestAddOriginalGoods')
  251 +data.setCell(2, 3, 14207);
  252 +data.setCell(3, 0, 3)
  253 +data.setCell(3, 1, 'getSkuNo')
  254 +data.setCell(3, 2, 'com.essa.testSuite.TestAddOriginalGoods')
  255 +data.setCell(3, 3, 2285);
  256 +window.suiteTableData['新增原厂商品']= { tableData: data, tableDiv: 'times-div-新增原厂商品'}
230 257 return data;
231 258 }
232 259 </script>
233   - <span class="suite-total-time">Total running time: 41 seconds</span>
234   - <div id="times-div-成品询价">
235   - </div> <!-- times-div-成品询价 -->
  260 + <span class="suite-total-time">Total running time: 1 minutes</span>
  261 + <div id="times-div-新增原厂商品">
  262 + </div> <!-- times-div-新增原厂商品 -->
236 263 </div> <!-- times-div -->
237 264 </div> <!-- main-panel-content rounded-window-bottom -->
238 265 </div> <!-- panel -->
239   - <div panel-name="reporter-成品询价" class="panel">
  266 + <div panel-name="reporter-新增原厂商品" class="panel">
240 267 <div class="main-panel-header rounded-window-top">
241   - <span class="header-content">Reporter output for 成品询价</span>
  268 + <span class="header-content">Reporter output for 新增原厂商品</span>
242 269 </div> <!-- main-panel-header rounded-window-top -->
243 270 <div class="main-panel-content rounded-window-bottom">
244 271 </div> <!-- main-panel-content rounded-window-bottom -->
245 272 </div> <!-- panel -->
246   - <div panel-name="ignored-methods-成品询价" class="panel">
  273 + <div panel-name="ignored-methods-新增原厂商品" class="panel">
247 274 <div class="main-panel-header rounded-window-top">
248   - <span class="header-content">1 ignored method</span>
  275 + <span class="header-content">0 ignored methods</span>
249 276 </div> <!-- main-panel-header rounded-window-top -->
250 277 <div class="main-panel-content rounded-window-bottom">
251   - <div class="ignored-class-div">
252   - <span class="ignored-class-name">com.buyer.testSuite.TestAddToCart</span>
253   - <div class="ignored-methods-div">
254   - <span class="ignored-method-name">addSku</span>
255   - <br/>
256   - </div> <!-- ignored-methods-div -->
257   - </div> <!-- ignored-class-div -->
258 278 </div> <!-- main-panel-content rounded-window-bottom -->
259 279 </div> <!-- panel -->
260   - <div panel-name="chronological-成品询价" class="panel">
  280 + <div panel-name="chronological-新增原厂商品" class="panel">
261 281 <div class="main-panel-header rounded-window-top">
262 282 <span class="header-content">Methods in chronological order</span>
263 283 </div> <!-- main-panel-header rounded-window-top -->
264 284 <div class="main-panel-content rounded-window-bottom">
265 285 <div class="chronological-class">
266   - <div class="chronological-class-name">com.buyer.testSuite.TestAddToCart</div> <!-- chronological-class-name -->
  286 + <div class="chronological-class-name">com.essa.testSuite.TestAddOriginalGoods</div> <!-- chronological-class-name -->
267 287 <div class="configuration-class before">
268 288 <span class="method-name">setUp</span>
269 289 <span class="method-start">0 ms</span>
270 290 </div> <!-- configuration-class before -->
271 291 <div class="test-method">
272   - <span class="method-name">keywordToCart</span>
273   - <span class="method-start">9520 ms</span>
  292 + <span class="method-name">toAddOriginalGoodsPage</span>
  293 + <span class="method-start">7840 ms</span>
  294 + </div> <!-- test-method -->
  295 + <div class="test-method">
  296 + <span class="method-name">updatePic</span>
  297 + <span class="method-start">37285 ms</span>
  298 + </div> <!-- test-method -->
  299 + <div class="test-method">
  300 + <span class="method-name">auditOriginal</span>
  301 + <span class="method-start">52085 ms</span>
274 302 </div> <!-- test-method -->
275   - <div class="configuration-class after">
276   - <span class="method-name">tearDown</span>
277   - <span class="method-start">32618 ms</span>
278   - </div> <!-- configuration-class after -->
279   - </div> <!-- chronological-class -->
280   - <div class="chronological-class">
281   - <div class="chronological-class-name">com.essa.testSuite.TestProductInquiry</div> <!-- chronological-class-name -->
282   - <div class="configuration-class before">
283   - <span class="method-name">setUp</span>
284   - <span class="method-start">33381 ms</span>
285   - </div> <!-- configuration-class before -->
286 303 <div class="test-method">
287   - <span class="method-name">productInquiry</span>
288   - <span class="method-start">41221 ms</span>
  304 + <span class="method-name">getSkuNo</span>
  305 + <span class="method-start">66293 ms</span>
289 306 </div> <!-- test-method -->
290 307 <div class="configuration-class after">
291 308 <span class="method-name">tearDown</span>
292   - <span class="method-start">59438 ms</span>
  309 + <span class="method-start">68578 ms</span>
293 310 </div> <!-- configuration-class after -->
294 311 </div> <!-- main-panel-content rounded-window-bottom -->
295 312 </div> <!-- panel -->
... ...
test-output/junitreports/TEST-com.buyer.testSuite.TestAddToCart.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!-- Generated by org.testng.reporters.JUnitReportReporter -->
3   -<testsuite hostname="A4O1M5DMPNJ0AZF" failures="0" tests="1" name="com.buyer.testSuite.TestAddToCart" time="23.097" errors="0" timestamp="04 9月 2018 02:56:12 GMT" skipped="0">
4   - <testcase classname="com.buyer.testSuite.TestAddToCart" name="keywordToCart" time="23.097"/>
  3 +<testsuite skipped="0" hostname="4F5EY2X7DB7A4UR" name="com.buyer.testSuite.TestAddToCart" tests="1" failures="0" timestamp="23 十月 2018 07:22:28 GMT" time="8.120" errors="0">
  4 + <testcase name="addSku" time="8.120" classname="com.buyer.testSuite.TestAddToCart"/>
5 5 </testsuite> <!-- com.buyer.testSuite.TestAddToCart -->
... ...
test-output/junitreports/TEST-com.buyer.testSuite.TestRegister.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!-- Generated by org.testng.reporters.JUnitReportReporter -->
3   -<testsuite hostname="A4O1M5DMPNJ0AZF" failures="0" tests="1" name="com.buyer.testSuite.TestRegister" time="10.873" errors="0" timestamp="31 8月 2018 09:14:09 GMT" skipped="0">
4   - <testcase classname="com.buyer.testSuite.TestRegister" name="register" time="10.873"/>
  3 +<testsuite skipped="0" hostname="4F5EY2X7DB7A4UR" name="com.buyer.testSuite.TestRegister" tests="1" failures="1" timestamp="30 九月 2018 09:50:48 GMT" time="16.367" errors="0">
  4 + <testcase name="register" time="16.367" classname="com.buyer.testSuite.TestRegister">
  5 + <failure type="java.lang.AssertionError" message="The following asserts failed:
  6 + 采购商注册失败了! expected [true] but found [false]">
  7 + <![CDATA[java.lang.AssertionError: The following asserts failed:
  8 +采购商注册失败了! expected [true] but found [false]
  9 +at org.testng.asserts.SoftAssert.assertAll(SoftAssert.java:43)
  10 +at com.buyer.testSuite.TestRegister.register(TestRegister.java:39)
  11 +at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  12 +at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  13 +at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  14 +at java.lang.reflect.Method.invoke(Unknown Source)
  15 +at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
  16 +at org.testng.internal.Invoker.invokeMethod(Invoker.java:583)
  17 +at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)
  18 +at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989)
  19 +at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
  20 +at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
  21 +at org.testng.TestRunner.privateRun(TestRunner.java:648)
  22 +at org.testng.TestRunner.run(TestRunner.java:505)
  23 +at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
  24 +at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
  25 +at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
  26 +at org.testng.SuiteRunner.run(SuiteRunner.java:364)
  27 +at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
  28 +at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
  29 +at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
  30 +at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
  31 +at org.testng.TestNG.runSuites(TestNG.java:1049)
  32 +at org.testng.TestNG.run(TestNG.java:1017)
  33 +at swing.SwingMain$9$1.doInBackground(SwingMain.java:662)
  34 +at swing.SwingMain$9$1.doInBackground(SwingMain.java:1)
  35 +at javax.swing.SwingWorker$1.call(Unknown Source)
  36 +at java.util.concurrent.FutureTask.run(Unknown Source)
  37 +at javax.swing.SwingWorker.run(Unknown Source)
  38 +at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  39 +at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  40 +at java.lang.Thread.run(Unknown Source)
  41 +]]>
  42 + </failure>
  43 + </testcase> <!-- register -->
5 44 </testsuite> <!-- com.buyer.testSuite.TestRegister -->
... ...
test-output/junitreports/TEST-com.buyer.testSuite.TestSendPO.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!-- Generated by org.testng.reporters.JUnitReportReporter -->
3   -<testsuite hostname="A4O1M5DMPNJ0AZF" failures="0" tests="2" name="com.buyer.testSuite.TestSendPO" time="42.346" errors="0" timestamp="03 9月 2018 08:28:53 GMT" skipped="0">
4   - <testcase classname="com.buyer.testSuite.TestSendPO" name="conslidation" time="29.695"/>
5   - <testcase classname="com.buyer.testSuite.TestSendPO" name="sendPO" time="12.651"/>
  3 +<testsuite skipped="0" hostname="4F5EY2X7DB7A4UR" name="com.buyer.testSuite.TestSendPO" tests="2" failures="0" timestamp="23 十月 2018 07:22:28 GMT" time="45.319" errors="0">
  4 + <testcase name="conslidation" time="28.233" classname="com.buyer.testSuite.TestSendPO"/>
  5 + <testcase name="sendPO" time="17.086" classname="com.buyer.testSuite.TestSendPO"/>
6 6 </testsuite> <!-- com.buyer.testSuite.TestSendPO -->
... ...
test-output/junitreports/TEST-com.essa.testSuite.TestAddMarketGoods.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!-- Generated by org.testng.reporters.JUnitReportReporter -->
3   -<testsuite hostname="A4O1M5DMPNJ0AZF" failures="0" tests="3" name="com.essa.testSuite.TestAddMarketGoods" time="61.008" errors="0" timestamp="31 8月 2018 09:08:39 GMT" skipped="0">
4   - <testcase classname="com.essa.testSuite.TestAddMarketGoods" name="addMarketGoods" time="39.085"/>
5   - <testcase classname="com.essa.testSuite.TestAddMarketGoods" name="auditMarketGoods" time="16.595"/>
6   - <testcase classname="com.essa.testSuite.TestAddMarketGoods" name="toMarketGoodsRelesePage" time="5.328"/>
  3 +<testsuite skipped="0" hostname="4F5EY2X7DB7A4UR" name="com.essa.testSuite.TestAddMarketGoods" tests="3" failures="0" timestamp="30 九月 2018 09:45:52 GMT" time="59.548" errors="0">
  4 + <testcase name="auditMarketGoods" time="16.637" classname="com.essa.testSuite.TestAddMarketGoods"/>
  5 + <testcase name="addMarketGoods" time="37.398" classname="com.essa.testSuite.TestAddMarketGoods"/>
  6 + <testcase name="toMarketGoodsRelesePage" time="5.513" classname="com.essa.testSuite.TestAddMarketGoods"/>
7 7 </testsuite> <!-- com.essa.testSuite.TestAddMarketGoods -->
... ...
test-output/junitreports/TEST-com.essa.testSuite.TestAddOriginalGoods.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!-- Generated by org.testng.reporters.JUnitReportReporter -->
3   -<testsuite hostname="A4O1M5DMPNJ0AZF" failures="0" tests="4" name="com.essa.testSuite.TestAddOriginalGoods" time="57.392" errors="0" timestamp="31 8月 2018 09:12:13 GMT" skipped="0">
4   - <testcase classname="com.essa.testSuite.TestAddOriginalGoods" name="auditOriginal" time="14.310"/>
5   - <testcase classname="com.essa.testSuite.TestAddOriginalGoods" name="toAddOriginalGoodsPage" time="28.436"/>
6   - <testcase classname="com.essa.testSuite.TestAddOriginalGoods" name="updatePic" time="12.345"/>
7   - <testcase classname="com.essa.testSuite.TestAddOriginalGoods" name="getSkuNo" time="2.301"/>
  3 +<testsuite skipped="0" hostname="4F5EY2X7DB7A4UR" name="com.essa.testSuite.TestAddOriginalGoods" tests="4" failures="0" timestamp="23 十月 2018 07:35:49 GMT" time="60.734" errors="0">
  4 + <testcase name="auditOriginal" time="14.207" classname="com.essa.testSuite.TestAddOriginalGoods"/>
  5 + <testcase name="toAddOriginalGoodsPage" time="29.443" classname="com.essa.testSuite.TestAddOriginalGoods"/>
  6 + <testcase name="updatePic" time="14.799" classname="com.essa.testSuite.TestAddOriginalGoods"/>
  7 + <testcase name="getSkuNo" time="2.285" classname="com.essa.testSuite.TestAddOriginalGoods"/>
8 8 </testsuite> <!-- com.essa.testSuite.TestAddOriginalGoods -->
... ...
test-output/junitreports/TEST-com.essa.testSuite.TestGenrateCode.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!-- Generated by org.testng.reporters.JUnitReportReporter -->
3   -<testsuite hostname="A4O1M5DMPNJ0AZF" failures="0" tests="1" name="com.essa.testSuite.TestGenrateCode" time="5.025" errors="0" timestamp="31 8月 2018 09:14:09 GMT" skipped="0">
4   - <testcase classname="com.essa.testSuite.TestGenrateCode" name="genrateCode" time="5.025"/>
  3 +<testsuite skipped="0" hostname="4F5EY2X7DB7A4UR" name="com.essa.testSuite.TestGenrateCode" tests="1" failures="0" timestamp="30 九月 2018 09:50:48 GMT" time="5.161" errors="0">
  4 + <testcase name="genrateCode" time="5.161" classname="com.essa.testSuite.TestGenrateCode"/>
5 5 </testsuite> <!-- com.essa.testSuite.TestGenrateCode -->
... ...
test-output/junitreports/TEST-com.essa.testSuite.TestGroupPurchase.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!-- Generated by org.testng.reporters.JUnitReportReporter -->
3   -<testsuite hostname="A4O1M5DMPNJ0AZF" failures="0" tests="3" name="com.essa.testSuite.TestGroupPurchase" time="38.482" errors="0" timestamp="31 8月 2018 09:12:13 GMT" skipped="0">
4   - <testcase classname="com.essa.testSuite.TestGroupPurchase" name="publishGroupPurchase" time="28.834"/>
5   - <testcase classname="com.essa.testSuite.TestGroupPurchase" name="isPublish" time="4.364"/>
6   - <testcase classname="com.essa.testSuite.TestGroupPurchase" name="SkuCategoryManagerCongfig" time="5.284"/>
  3 +<testsuite skipped="0" hostname="4F5EY2X7DB7A4UR" name="com.essa.testSuite.TestGroupPurchase" tests="3" failures="0" timestamp="30 九月 2018 09:49:37 GMT" time="37.851" errors="0">
  4 + <testcase name="SkuCategoryManagerCongfig" time="5.388" classname="com.essa.testSuite.TestGroupPurchase"/>
  5 + <testcase name="isPublish" time="4.499" classname="com.essa.testSuite.TestGroupPurchase"/>
  6 + <testcase name="publishGroupPurchase" time="27.964" classname="com.essa.testSuite.TestGroupPurchase"/>
7 7 </testsuite> <!-- com.essa.testSuite.TestGroupPurchase -->
... ...
test-output/junitreports/TEST-com.essa.testSuite.TestProductInquiry.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!-- Generated by org.testng.reporters.JUnitReportReporter -->
3   -<testsuite hostname="A4O1M5DMPNJ0AZF" failures="0" tests="1" name="com.essa.testSuite.TestProductInquiry" time="18.216" errors="0" timestamp="04 9月 2018 02:56:12 GMT" skipped="0">
4   - <testcase classname="com.essa.testSuite.TestProductInquiry" name="productInquiry" time="18.216"/>
  3 +<testsuite skipped="0" hostname="4F5EY2X7DB7A4UR" name="com.essa.testSuite.TestProductInquiry" tests="1" failures="0" timestamp="23 十月 2018 07:22:28 GMT" time="16.265" errors="0">
  4 + <testcase name="productInquiry" time="16.265" classname="com.essa.testSuite.TestProductInquiry"/>
5 5 </testsuite> <!-- com.essa.testSuite.TestProductInquiry -->
... ...
test-output/old/Default suite/classes.html
... ... @@ -3,38 +3,4 @@
3 3 <th>Class name</th>
4 4 <th>Method name</th>
5 5 <th>Groups</th>
6   -</tr><tr>
7   -<td>com.buyer.testSuite.TestBuyGoods</td>
8   -<td>&nbsp;</td><td>&nbsp;</td></tr>
9   -<tr>
10   -<td align='center' colspan='3'>@Test</td>
11   -</tr>
12   -<tr>
13   -<td>&nbsp;</td>
14   -<td>conslidation</td>
15   -<td>&nbsp;</td></tr>
16   -<tr>
17   -<td>&nbsp;</td>
18   -<td>keywordToCart</td>
19   -<td>&nbsp;</td></tr>
20   -<tr>
21   -<td align='center' colspan='3'>@BeforeClass</td>
22   -</tr>
23   -<tr>
24   -<td>&nbsp;</td>
25   -<td>setUp</td>
26   -<td>&nbsp;</td></tr>
27   -<tr>
28   -<td align='center' colspan='3'>@BeforeMethod</td>
29   -</tr>
30   -<tr>
31   -<td align='center' colspan='3'>@AfterMethod</td>
32   -</tr>
33   -<tr>
34   -<td align='center' colspan='3'>@AfterClass</td>
35   -</tr>
36   -<tr>
37   -<td>&nbsp;</td>
38   -<td>tearDown</td>
39   -<td>&nbsp;</td></tr>
40   -</table>
  6 +</tr></table>
... ...
test-output/old/Default suite/methods-alphabetical.html
1 1 <h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>Default suite</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
2   -<table border="1">
3   -<tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
4   -<tr bgcolor="8c9a9c"> <td>18/08/31 11:50:44</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestBuyGoods.keywordToCart()[pri:0, instance:com.buyer.testSuite.TestBuyGoods@44a7bfbc]">keywordToCart</td>
5   - <td>main@890545344</td> <td></td> </tr>
6   -<tr bgcolor="8c9a9c"> <td>18/08/31 11:50:34</td> <td>-9441</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestBuyGoods.setUp()[pri:0, instance:com.buyer.testSuite.TestBuyGoods@44a7bfbc]">&gt;&gt;setUp</td>
7   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>main@890545344</td> <td></td> </tr>
8   -<tr bgcolor="8c9a9c"> <td>18/08/31 11:50:45</td> <td>1135</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestBuyGoods.tearDown()[pri:0, instance:com.buyer.testSuite.TestBuyGoods@44a7bfbc]">&lt;&lt;tearDown</td>
9   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>main@890545344</td> <td></td> </tr>
10 2 </table>
... ...
test-output/old/Default suite/methods-not-run.html
1 1 <h2>Methods that were not run</h2><table>
2   -<tr><td>com.buyer.testSuite.TestBuyGoods.conslidation<br/>&nbsp;&nbsp;&nbsp;&nbsp;<i>¿ªÊ¼Æ´¹ñ</i></td></tr>
3 2 </table>
4 3 \ No newline at end of file
... ...
test-output/old/Default suite/methods.html
1 1 <h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>Default suite</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
2   -<table border="1">
3   -<tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
4   -<tr bgcolor="8c9a9c"> <td>18/08/31 11:50:34</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestBuyGoods.setUp()[pri:0, instance:com.buyer.testSuite.TestBuyGoods@44a7bfbc]">&gt;&gt;setUp</td>
5   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>main@890545344</td> <td></td> </tr>
6   -<tr bgcolor="8c9a9c"> <td>18/08/31 11:50:44</td> <td>9441</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestBuyGoods.keywordToCart()[pri:0, instance:com.buyer.testSuite.TestBuyGoods@44a7bfbc]">keywordToCart</td>
7   - <td>main@890545344</td> <td></td> </tr>
8   -<tr bgcolor="8c9a9c"> <td>18/08/31 11:50:45</td> <td>10576</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestBuyGoods.tearDown()[pri:0, instance:com.buyer.testSuite.TestBuyGoods@44a7bfbc]">&lt;&lt;tearDown</td>
9   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>main@890545344</td> <td></td> </tr>
10 2 </table>
... ...
test-output/old/Default suite/testng.xml.html
1   -<html><head><title>testng.xml for Default suite</title></head><body><tt>&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"?&gt; <br/>&lt;!DOCTYPE&nbsp;suite&nbsp;SYSTEM&nbsp;"http://testng.org/testng-1.0.dtd"&gt; <br/>&lt;suite&nbsp;name="Default&nbsp;suite"&nbsp;guice-stage="DEVELOPMENT"&gt; <br/>&nbsp;&nbsp;&lt;test&nbsp;thread-count="5"&nbsp;name="Default&nbsp;test"&nbsp;verbose="2"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;classes&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.buyer.testSuite.TestBuyGoods"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="keywordToCart"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.buyer.testSuite.TestBuyGoods&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/classes&gt; <br/>&nbsp;&nbsp;&lt;/test&gt;&nbsp;&lt;!--&nbsp;Default&nbsp;test&nbsp;--&gt; <br/>&lt;/suite&gt;&nbsp;&lt;!--&nbsp;Default&nbsp;suite&nbsp;--&gt; <br/></tt></body></html>
2 1 \ No newline at end of file
  2 +<html><head><title>testng.xml for Default suite</title></head><body><tt>&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"?&gt; <br/>&lt;!DOCTYPE&nbsp;suite&nbsp;SYSTEM&nbsp;"http://testng.org/testng-1.0.dtd"&gt; <br/>&lt;suite&nbsp;guice-stage="DEVELOPMENT"&nbsp;name="Default&nbsp;suite"&gt; <br/>&nbsp;&nbsp;&lt;test&nbsp;thread-count="5"&nbsp;verbose="2"&nbsp;name="Default&nbsp;test"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;classes&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.essa.testSuite.TestSelenium"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="testEssa"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.essa.testSuite.TestSelenium&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/classes&gt; <br/>&nbsp;&nbsp;&lt;/test&gt;&nbsp;&lt;!--&nbsp;Default&nbsp;test&nbsp;--&gt; <br/>&lt;/suite&gt;&nbsp;&lt;!--&nbsp;Default&nbsp;suite&nbsp;--&gt; <br/></tt></body></html>
3 3 \ No newline at end of file
... ...
test-output/old/Default suite/toc.html
... ... @@ -9,11 +9,11 @@
9 9 <table border='1' width='100%'>
10 10 <tr valign='top'>
11 11 <td>1 test</td>
12   -<td><a target='mainFrame' href='classes.html'>1 class</a></td>
13   -<td>1 method:<br/>
  12 +<td><a target='mainFrame' href='classes.html'>0 class</a></td>
  13 +<td>0 method:<br/>
14 14 &nbsp;&nbsp;<a target='mainFrame' href='methods.html'>chronological</a><br/>
15 15 &nbsp;&nbsp;<a target='mainFrame' href='methods-alphabetical.html'>alphabetical</a><br/>
16   -&nbsp;&nbsp;<a target='mainFrame' href='methods-not-run.html'>not run (1)</a></td>
  16 +&nbsp;&nbsp;<a target='mainFrame' href='methods-not-run.html'>not run (0)</a></td>
17 17 </tr>
18 18 <tr>
19 19 <td><a target='mainFrame' href='groups.html'>0 group</a></td>
... ... @@ -22,7 +22,7 @@
22 22 </tr></table>
23 23 <table width='100%' class='test-failed'>
24 24 <tr><td>
25   -<table style='width: 100%'><tr><td valign='top'>Default test (0/1/0)</td><td valign='top' align='right'>
  25 +<table style='width: 100%'><tr><td valign='top'>Default test (0/0/0)</td><td valign='top' align='right'>
26 26 <a href='Default test.html' target='mainFrame'>Results</a>
27 27 </td></tr></table>
28 28 </td></tr><p/>
... ...
test-output/old/index.html
... ... @@ -4,6 +4,6 @@
4 4 </head><body>
5 5 <h2><p align='center'>Test results</p></h2>
6 6 <table border='1' width='100%' class='main-page'><tr><th>Suite</th><th>Passed</th><th>Failed</th><th>Skipped</th><th>testng.xml</th></tr>
7   -<tr align='center' class='invocation-passed'><td><em>Total</em></td><td><em>2</em></td><td><em>0</em></td><td><em>0</em></td><td>&nbsp;</td></tr>
8   -<tr align='center' class='invocation-passed'><td><a href='成品询价/index.html'>成品询价</a></td>
9   -<td>2</td><td>0</td><td>0</td><td><a href='成品询价/testng.xml.html'>Link</a></td></tr></table></body></html>
  7 +<tr align='center' class='invocation-passed'><td><em>Total</em></td><td><em>4</em></td><td><em>0</em></td><td><em>0</em></td><td>&nbsp;</td></tr>
  8 +<tr align='center' class='invocation-passed'><td><a href='新增原厂商品/index.html'>新增原厂商品</a></td>
  9 +<td>4</td><td>0</td><td>0</td><td><a href='新增原厂商品/testng.xml.html'>Link</a></td></tr></table></body></html>
... ...
test-output/old/发布团购商品/methods-alphabetical.html
1 1 <h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>发布团购商品</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
2 2 <table border="1">
3 3 <tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
4   -<tr bgcolor="61f199"> <td>18/08/31 17:11:34</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestGroupPurchase.SkuCategoryManagerCongfig()[pri:0, instance:com.essa.testSuite.TestGroupPurchase@e3267b8]">SkuCategoryManagerCongfig</td>
5   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
6   -<tr bgcolor="9b649b"> <td>18/08/31 17:11:09</td> <td>-24991</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.auditOriginal()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74f2fec8]">auditOriginal</td>
7   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
8   -<tr bgcolor="9b649b"> <td>18/08/31 17:11:23</td> <td>-10681</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.getSkuNo()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74f2fec8]">getSkuNo</td>
9   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
10   -<tr bgcolor="61f199"> <td>18/08/31 17:12:08</td> <td>34119</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestGroupPurchase.isPublish()[pri:0, instance:com.essa.testSuite.TestGroupPurchase@e3267b8]">isPublish</td>
11   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
12   -<tr bgcolor="61f199"> <td>18/08/31 17:11:39</td> <td>5284</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestGroupPurchase.publishGroupPurchase()[pri:0, instance:com.essa.testSuite.TestGroupPurchase@e3267b8]">publishGroupPurchase</td>
13   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
14   -<tr bgcolor="9b649b"> <td>18/08/31 17:10:20</td> <td>-74121</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestAddOriginalGoods.setUp()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74f2fec8]">&gt;&gt;setUp</td>
15   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
16   -<tr bgcolor="61f199"> <td>18/08/31 17:11:26</td> <td>-7522</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestGroupPurchase.setUp()[pri:0, instance:com.essa.testSuite.TestGroupPurchase@e3267b8]">&gt;&gt;setUp</td>
17   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
18   -<tr bgcolor="9b649b"> <td>18/08/31 17:11:26</td> <td>-8379</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestAddOriginalGoods.tearDown()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74f2fec8]">&lt;&lt;tearDown</td>
19   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
20   -<tr bgcolor="61f199"> <td>18/08/31 17:12:12</td> <td>38483</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestGroupPurchase.tearDown()[pri:0, instance:com.essa.testSuite.TestGroupPurchase@e3267b8]">&lt;&lt;tearDown</td>
21   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
22   -<tr bgcolor="9b649b"> <td>18/08/31 17:10:28</td> <td>-65773</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.toAddOriginalGoodsPage()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74f2fec8]">toAddOriginalGoodsPage</td>
23   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
24   -<tr bgcolor="9b649b"> <td>18/08/31 17:10:57</td> <td>-37337</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.updatePic()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74f2fec8]">updatePic</td>
25   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
  4 +<tr bgcolor="acb9bd"> <td>18/09/30 17:48:58</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestGroupPurchase.SkuCategoryManagerCongfig()[pri:0, instance:com.essa.testSuite.TestGroupPurchase@11a26533]">SkuCategoryManagerCongfig</td>
  5 + <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
  6 +<tr bgcolor="9c7fb2"> <td>18/09/30 17:48:34</td> <td>-24692</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.auditOriginal()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@b5e5354]">auditOriginal</td>
  7 + <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
  8 +<tr bgcolor="9c7fb2"> <td>18/09/30 17:48:48</td> <td>-10456</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.getSkuNo()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@b5e5354]">getSkuNo</td>
  9 + <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
  10 +<tr bgcolor="acb9bd"> <td>18/09/30 17:49:32</td> <td>33352</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestGroupPurchase.isPublish()[pri:0, instance:com.essa.testSuite.TestGroupPurchase@11a26533]">isPublish</td>
  11 + <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
  12 +<tr bgcolor="acb9bd"> <td>18/09/30 17:49:04</td> <td>5388</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestGroupPurchase.publishGroupPurchase()[pri:0, instance:com.essa.testSuite.TestGroupPurchase@11a26533]">publishGroupPurchase</td>
  13 + <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
  14 +<tr bgcolor="9c7fb2"> <td>18/09/30 17:47:44</td> <td>-74401</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestAddOriginalGoods.setUp()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@b5e5354]">&gt;&gt;setUp</td>
  15 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
  16 +<tr bgcolor="acb9bd"> <td>18/09/30 17:48:51</td> <td>-7210</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestGroupPurchase.setUp()[pri:0, instance:com.essa.testSuite.TestGroupPurchase@11a26533]">&gt;&gt;setUp</td>
  17 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
  18 +<tr bgcolor="9c7fb2"> <td>18/09/30 17:48:50</td> <td>-8038</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestAddOriginalGoods.tearDown()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@b5e5354]">&lt;&lt;tearDown</td>
  19 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
  20 +<tr bgcolor="acb9bd"> <td>18/09/30 17:49:36</td> <td>37852</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestGroupPurchase.tearDown()[pri:0, instance:com.essa.testSuite.TestGroupPurchase@11a26533]">&lt;&lt;tearDown</td>
  21 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
  22 +<tr bgcolor="9c7fb2"> <td>18/09/30 17:47:51</td> <td>-67349</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.toAddOriginalGoodsPage()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@b5e5354]">toAddOriginalGoodsPage</td>
  23 + <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
  24 +<tr bgcolor="9c7fb2"> <td>18/09/30 17:48:21</td> <td>-37771</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.updatePic()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@b5e5354]">updatePic</td>
  25 + <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
26 26 </table>
... ...
test-output/old/发布团购商品/methods.html
1 1 <h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>发布团购商品</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
2 2 <table border="1">
3 3 <tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
4   -<tr bgcolor="9b649b"> <td>18/08/31 17:10:20</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestAddOriginalGoods.setUp()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74f2fec8]">&gt;&gt;setUp</td>
5   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
6   -<tr bgcolor="9b649b"> <td>18/08/31 17:10:28</td> <td>8348</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.toAddOriginalGoodsPage()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74f2fec8]">toAddOriginalGoodsPage</td>
7   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
8   -<tr bgcolor="9b649b"> <td>18/08/31 17:10:57</td> <td>36784</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.updatePic()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74f2fec8]">updatePic</td>
9   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
10   -<tr bgcolor="9b649b"> <td>18/08/31 17:11:09</td> <td>49130</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.auditOriginal()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74f2fec8]">auditOriginal</td>
11   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
12   -<tr bgcolor="9b649b"> <td>18/08/31 17:11:23</td> <td>63440</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.getSkuNo()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74f2fec8]">getSkuNo</td>
13   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
14   -<tr bgcolor="9b649b"> <td>18/08/31 17:11:26</td> <td>65742</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestAddOriginalGoods.tearDown()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74f2fec8]">&lt;&lt;tearDown</td>
15   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
16   -<tr bgcolor="61f199"> <td>18/08/31 17:11:26</td> <td>66599</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestGroupPurchase.setUp()[pri:0, instance:com.essa.testSuite.TestGroupPurchase@e3267b8]">&gt;&gt;setUp</td>
17   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
18   -<tr bgcolor="61f199"> <td>18/08/31 17:11:34</td> <td>74121</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestGroupPurchase.SkuCategoryManagerCongfig()[pri:0, instance:com.essa.testSuite.TestGroupPurchase@e3267b8]">SkuCategoryManagerCongfig</td>
19   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
20   -<tr bgcolor="61f199"> <td>18/08/31 17:11:39</td> <td>79405</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestGroupPurchase.publishGroupPurchase()[pri:0, instance:com.essa.testSuite.TestGroupPurchase@e3267b8]">publishGroupPurchase</td>
21   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
22   -<tr bgcolor="61f199"> <td>18/08/31 17:12:08</td> <td>108240</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestGroupPurchase.isPublish()[pri:0, instance:com.essa.testSuite.TestGroupPurchase@e3267b8]">isPublish</td>
23   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
24   -<tr bgcolor="61f199"> <td>18/08/31 17:12:12</td> <td>112604</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestGroupPurchase.tearDown()[pri:0, instance:com.essa.testSuite.TestGroupPurchase@e3267b8]">&lt;&lt;tearDown</td>
25   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
  4 +<tr bgcolor="9c7fb2"> <td>18/09/30 17:47:44</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestAddOriginalGoods.setUp()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@b5e5354]">&gt;&gt;setUp</td>
  5 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
  6 +<tr bgcolor="9c7fb2"> <td>18/09/30 17:47:51</td> <td>7052</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.toAddOriginalGoodsPage()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@b5e5354]">toAddOriginalGoodsPage</td>
  7 + <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
  8 +<tr bgcolor="9c7fb2"> <td>18/09/30 17:48:21</td> <td>36630</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.updatePic()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@b5e5354]">updatePic</td>
  9 + <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
  10 +<tr bgcolor="9c7fb2"> <td>18/09/30 17:48:34</td> <td>49709</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.auditOriginal()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@b5e5354]">auditOriginal</td>
  11 + <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
  12 +<tr bgcolor="9c7fb2"> <td>18/09/30 17:48:48</td> <td>63945</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.getSkuNo()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@b5e5354]">getSkuNo</td>
  13 + <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
  14 +<tr bgcolor="9c7fb2"> <td>18/09/30 17:48:50</td> <td>66363</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestAddOriginalGoods.tearDown()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@b5e5354]">&lt;&lt;tearDown</td>
  15 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
  16 +<tr bgcolor="acb9bd"> <td>18/09/30 17:48:51</td> <td>67191</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestGroupPurchase.setUp()[pri:0, instance:com.essa.testSuite.TestGroupPurchase@11a26533]">&gt;&gt;setUp</td>
  17 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
  18 +<tr bgcolor="acb9bd"> <td>18/09/30 17:48:58</td> <td>74401</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestGroupPurchase.SkuCategoryManagerCongfig()[pri:0, instance:com.essa.testSuite.TestGroupPurchase@11a26533]">SkuCategoryManagerCongfig</td>
  19 + <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
  20 +<tr bgcolor="acb9bd"> <td>18/09/30 17:49:04</td> <td>79789</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestGroupPurchase.publishGroupPurchase()[pri:0, instance:com.essa.testSuite.TestGroupPurchase@11a26533]">publishGroupPurchase</td>
  21 + <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
  22 +<tr bgcolor="acb9bd"> <td>18/09/30 17:49:32</td> <td>107753</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestGroupPurchase.isPublish()[pri:0, instance:com.essa.testSuite.TestGroupPurchase@11a26533]">isPublish</td>
  23 + <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
  24 +<tr bgcolor="acb9bd"> <td>18/09/30 17:49:36</td> <td>112253</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestGroupPurchase.tearDown()[pri:0, instance:com.essa.testSuite.TestGroupPurchase@11a26533]">&lt;&lt;tearDown</td>
  25 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-3@424428761</td> <td></td> </tr>
26 26 </table>
... ...
test-output/old/发布团购商品/testng.xml.html
1   -<html><head><title>testng.xml for 发布团购商品</title></head><body><tt>&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"?&gt; <br/>&lt;!DOCTYPE&nbsp;suite&nbsp;SYSTEM&nbsp;"http://testng.org/testng-1.0.dtd"&gt; <br/>&lt;suite&nbsp;name="发布团购商品"&nbsp;guice-stage="DEVELOPMENT"&gt; <br/>&nbsp;&nbsp;&lt;test&nbsp;thread-count="5"&nbsp;name="publishGroupPurchase"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;classes&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.essa.testSuite.TestAddOriginalGoods"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="toAddOriginalGoodsPage"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="updatePic"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="auditOriginal"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="getSkuNo"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.essa.testSuite.TestAddOriginalGoods&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.essa.testSuite.TestGroupPurchase"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="SkuCategoryManagerCongfig"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="publishGroupPurchase"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="isPublish"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.essa.testSuite.TestGroupPurchase&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/classes&gt; <br/>&nbsp;&nbsp;&lt;/test&gt;&nbsp;&lt;!--&nbsp;publishGroupPurchase&nbsp;--&gt; <br/>&lt;/suite&gt;&nbsp;&lt;!--&nbsp;发布团购商品&nbsp;--&gt; <br/></tt></body></html>
2 1 \ No newline at end of file
  2 +<html><head><title>testng.xml for 发布团购商品</title></head><body><tt>&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"?&gt; <br/>&lt;!DOCTYPE&nbsp;suite&nbsp;SYSTEM&nbsp;"http://testng.org/testng-1.0.dtd"&gt; <br/>&lt;suite&nbsp;guice-stage="DEVELOPMENT"&nbsp;name="发布团购商品"&gt; <br/>&nbsp;&nbsp;&lt;test&nbsp;thread-count="5"&nbsp;name="publishGroupPurchase"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;classes&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.essa.testSuite.TestAddOriginalGoods"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="toAddOriginalGoodsPage"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="updatePic"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="auditOriginal"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="getSkuNo"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.essa.testSuite.TestAddOriginalGoods&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.essa.testSuite.TestGroupPurchase"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="SkuCategoryManagerCongfig"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="publishGroupPurchase"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="isPublish"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.essa.testSuite.TestGroupPurchase&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/classes&gt; <br/>&nbsp;&nbsp;&lt;/test&gt;&nbsp;&lt;!--&nbsp;publishGroupPurchase&nbsp;--&gt; <br/>&lt;/suite&gt;&nbsp;&lt;!--&nbsp;发布团购商品&nbsp;--&gt; <br/></tt></body></html>
3 3 \ No newline at end of file
... ...
test-output/old/成品询价/methods-alphabetical.html
1 1 <h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>成品询价</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
2 2 <table border="1">
3 3 <tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
4   -<tr bgcolor="cb6f9a"> <td>18/09/04 10:55:21</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddToCart.keywordToCart()[pri:0, instance:com.buyer.testSuite.TestAddToCart@1f2f0f50]">keywordToCart</td>
5   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
6   -<tr bgcolor="79726b"> <td>18/09/04 10:55:53</td> <td>31701</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestProductInquiry.productInquiry()[pri:0, instance:com.essa.testSuite.TestProductInquiry@7346ae3e]">productInquiry</td>
7   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
8   -<tr bgcolor="cb6f9a"> <td>18/09/04 10:55:12</td> <td>-9511</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestAddToCart.setUp()[pri:0, instance:com.buyer.testSuite.TestAddToCart@1f2f0f50]">&gt;&gt;setUp</td>
9   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
10   -<tr bgcolor="79726b"> <td>18/09/04 10:55:45</td> <td>23862</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestProductInquiry.setUp()[pri:0, instance:com.essa.testSuite.TestProductInquiry@7346ae3e]">&gt;&gt;setUp</td>
11   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
12   -<tr bgcolor="cb6f9a"> <td>18/09/04 10:55:44</td> <td>23099</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestAddToCart.tearDown()[pri:0, instance:com.buyer.testSuite.TestAddToCart@1f2f0f50]">&lt;&lt;tearDown</td>
13   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
14   -<tr bgcolor="79726b"> <td>18/09/04 10:56:11</td> <td>49918</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestProductInquiry.tearDown()[pri:0, instance:com.essa.testSuite.TestProductInquiry@7346ae3e]">&lt;&lt;tearDown</td>
15   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
  4 +<tr bgcolor="bbbc8c"> <td>18/09/28 11:24:17</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddToCart.keywordToCart()[pri:0, instance:com.buyer.testSuite.TestAddToCart@78b69ec7]">keywordToCart</td>
  5 + <td>SwingWorker-pool-1-thread-1@501200943</td> <td></td> </tr>
  6 +<tr bgcolor="65909a"> <td>18/09/28 11:24:44</td> <td>27112</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestProductInquiry.productInquiry()[pri:0, instance:com.essa.testSuite.TestProductInquiry@34f66c96]">productInquiry</td>
  7 + <td>SwingWorker-pool-1-thread-1@501200943</td> <td></td> </tr>
  8 +<tr bgcolor="bbbc8c"> <td>18/09/28 11:24:10</td> <td>-7530</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestAddToCart.setUp()[pri:0, instance:com.buyer.testSuite.TestAddToCart@78b69ec7]">&gt;&gt;setUp</td>
  9 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-1-thread-1@501200943</td> <td></td> </tr>
  10 +<tr bgcolor="65909a"> <td>18/09/28 11:24:39</td> <td>21860</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestProductInquiry.setUp()[pri:0, instance:com.essa.testSuite.TestProductInquiry@34f66c96]">&gt;&gt;setUp</td>
  11 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-1-thread-1@501200943</td> <td></td> </tr>
  12 +<tr bgcolor="bbbc8c"> <td>18/09/28 11:24:38</td> <td>20939</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestAddToCart.tearDown()[pri:0, instance:com.buyer.testSuite.TestAddToCart@78b69ec7]">&lt;&lt;tearDown</td>
  13 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-1-thread-1@501200943</td> <td></td> </tr>
16 14 </table>
... ...
test-output/old/成品询价/methods.html
1 1 <h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>成品询价</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
2 2 <table border="1">
3 3 <tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
4   -<tr bgcolor="cb6f9a"> <td>18/09/04 10:55:12</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestAddToCart.setUp()[pri:0, instance:com.buyer.testSuite.TestAddToCart@1f2f0f50]">&gt;&gt;setUp</td>
5   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
6   -<tr bgcolor="cb6f9a"> <td>18/09/04 10:55:21</td> <td>9511</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddToCart.keywordToCart()[pri:0, instance:com.buyer.testSuite.TestAddToCart@1f2f0f50]">keywordToCart</td>
7   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
8   -<tr bgcolor="cb6f9a"> <td>18/09/04 10:55:44</td> <td>32610</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestAddToCart.tearDown()[pri:0, instance:com.buyer.testSuite.TestAddToCart@1f2f0f50]">&lt;&lt;tearDown</td>
9   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
10   -<tr bgcolor="79726b"> <td>18/09/04 10:55:45</td> <td>33373</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestProductInquiry.setUp()[pri:0, instance:com.essa.testSuite.TestProductInquiry@7346ae3e]">&gt;&gt;setUp</td>
11   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
12   -<tr bgcolor="79726b"> <td>18/09/04 10:55:53</td> <td>41212</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestProductInquiry.productInquiry()[pri:0, instance:com.essa.testSuite.TestProductInquiry@7346ae3e]">productInquiry</td>
13   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
14   -<tr bgcolor="79726b"> <td>18/09/04 10:56:11</td> <td>59429</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestProductInquiry.tearDown()[pri:0, instance:com.essa.testSuite.TestProductInquiry@7346ae3e]">&lt;&lt;tearDown</td>
15   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
  4 +<tr bgcolor="bbbc8c"> <td>18/09/28 11:24:10</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestAddToCart.setUp()[pri:0, instance:com.buyer.testSuite.TestAddToCart@78b69ec7]">&gt;&gt;setUp</td>
  5 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-1-thread-1@501200943</td> <td></td> </tr>
  6 +<tr bgcolor="bbbc8c"> <td>18/09/28 11:24:17</td> <td>7530</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddToCart.keywordToCart()[pri:0, instance:com.buyer.testSuite.TestAddToCart@78b69ec7]">keywordToCart</td>
  7 + <td>SwingWorker-pool-1-thread-1@501200943</td> <td></td> </tr>
  8 +<tr bgcolor="bbbc8c"> <td>18/09/28 11:24:38</td> <td>28469</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestAddToCart.tearDown()[pri:0, instance:com.buyer.testSuite.TestAddToCart@78b69ec7]">&lt;&lt;tearDown</td>
  9 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-1-thread-1@501200943</td> <td></td> </tr>
  10 +<tr bgcolor="65909a"> <td>18/09/28 11:24:39</td> <td>29390</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestProductInquiry.setUp()[pri:0, instance:com.essa.testSuite.TestProductInquiry@34f66c96]">&gt;&gt;setUp</td>
  11 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-1-thread-1@501200943</td> <td></td> </tr>
  12 +<tr bgcolor="65909a"> <td>18/09/28 11:24:44</td> <td>34642</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestProductInquiry.productInquiry()[pri:0, instance:com.essa.testSuite.TestProductInquiry@34f66c96]">productInquiry</td>
  13 + <td>SwingWorker-pool-1-thread-1@501200943</td> <td></td> </tr>
16 14 </table>
... ...
test-output/old/成品询价/testng.xml.html
1   -<html><head><title>testng.xml for 成品询价</title></head><body><tt>&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"?&gt; <br/>&lt;!DOCTYPE&nbsp;suite&nbsp;SYSTEM&nbsp;"http://testng.org/testng-1.0.dtd"&gt; <br/>&lt;suite&nbsp;name="成品询价"&nbsp;guice-stage="DEVELOPMENT"&gt; <br/>&nbsp;&nbsp;&lt;test&nbsp;thread-count="5"&nbsp;name="productInquiry"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;classes&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.buyer.testSuite.TestAddToCart"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="keywordToCart"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.buyer.testSuite.TestAddToCart&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.essa.testSuite.TestProductInquiry"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="productInquiry"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.essa.testSuite.TestProductInquiry&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/classes&gt; <br/>&nbsp;&nbsp;&lt;/test&gt;&nbsp;&lt;!--&nbsp;productInquiry&nbsp;--&gt; <br/>&lt;/suite&gt;&nbsp;&lt;!--&nbsp;成品询价&nbsp;--&gt; <br/></tt></body></html>
2 1 \ No newline at end of file
  2 +<html><head><title>testng.xml for 成品询价</title></head><body><tt>&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"?&gt; <br/>&lt;!DOCTYPE&nbsp;suite&nbsp;SYSTEM&nbsp;"http://testng.org/testng-1.0.dtd"&gt; <br/>&lt;suite&nbsp;guice-stage="DEVELOPMENT"&nbsp;name="成品询价"&gt; <br/>&nbsp;&nbsp;&lt;test&nbsp;thread-count="5"&nbsp;name="productInquiry"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;classes&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.buyer.testSuite.TestAddToCart"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="keywordToCart"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.buyer.testSuite.TestAddToCart&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.essa.testSuite.TestProductInquiry"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="productInquiry"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.essa.testSuite.TestProductInquiry&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/classes&gt; <br/>&nbsp;&nbsp;&lt;/test&gt;&nbsp;&lt;!--&nbsp;productInquiry&nbsp;--&gt; <br/>&lt;/suite&gt;&nbsp;&lt;!--&nbsp;成品询价&nbsp;--&gt; <br/></tt></body></html>
3 3 \ No newline at end of file
... ...
test-output/old/成品询价/toc.html
... ... @@ -20,9 +20,9 @@
20 20 <td><a target='mainFrame' href='reporter-output.html'>reporter output</a></td>
21 21 <td><a target='mainFrame' href='testng.xml.html'>testng.xml</a></td>
22 22 </tr></table>
23   -<table width='100%' class='test-passed'>
  23 +<table width='100%' class='test-skipped'>
24 24 <tr><td>
25   -<table style='width: 100%'><tr><td valign='top'>productInquiry (2/0/0)</td><td valign='top' align='right'>
  25 +<table style='width: 100%'><tr><td valign='top'>productInquiry (1/0/1)</td><td valign='top' align='right'>
26 26 <a href='productInquiry.html' target='mainFrame'>Results</a>
27 27 </td></tr></table>
28 28 </td></tr><p/>
... ...
test-output/old/提交PO/classes.html
... ... @@ -46,7 +46,8 @@
46 46 <tr>
47 47 <td>&nbsp;</td>
48 48 <td>keywordToCart</td>
49   -<td>&nbsp;</td></tr>
  49 +<td>first </td>
  50 +</tr>
50 51 <tr>
51 52 <td align='center' colspan='3'>@BeforeClass</td>
52 53 </tr>
... ...
test-output/old/提交PO/methods-alphabetical.html
1 1 <h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>提交PO</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
2 2 <table border="1">
3 3 <tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
4   -<tr bgcolor="f7b6f4"> <td>18/09/03 16:27:23</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddToCart.addSku()[pri:0, instance:com.buyer.testSuite.TestAddToCart@14b27f40]">addSku</td>
5   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
6   -<tr bgcolor="ccb6bc"> <td>18/09/03 16:28:10</td> <td>46907</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestSendPO.conslidation()[pri:0, instance:com.buyer.testSuite.TestSendPO@47b60fe8]">conslidation</td>
7   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
8   -<tr bgcolor="a874f9"> <td>18/09/03 16:27:45</td> <td>22021</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestProductInquiry.productInquiry()[pri:0, instance:com.essa.testSuite.TestProductInquiry@14485d7]">productInquiry</td>
9   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
10   -<tr bgcolor="ccb6bc"> <td>18/09/03 16:28:40</td> <td>76603</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestSendPO.sendPO()[pri:0, instance:com.buyer.testSuite.TestSendPO@47b60fe8]">sendPO</td>
11   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
12   -<tr bgcolor="f7b6f4"> <td>18/09/03 16:27:14</td> <td>-9507</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestAddToCart.setUp()[pri:0, instance:com.buyer.testSuite.TestAddToCart@14b27f40]">&gt;&gt;setUp</td>
13   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
14   -<tr bgcolor="a874f9"> <td>18/09/03 16:27:37</td> <td>13519</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestProductInquiry.setUp()[pri:0, instance:com.essa.testSuite.TestProductInquiry@14485d7]">&gt;&gt;setUp</td>
15   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
16   -<tr bgcolor="ccb6bc"> <td>18/09/03 16:28:02</td> <td>38725</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestSendPO.setUp()[pri:0, instance:com.buyer.testSuite.TestSendPO@47b60fe8]">&gt;&gt;setUp</td>
17   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
18   -<tr bgcolor="f7b6f4"> <td>18/09/03 16:27:36</td> <td>12741</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestAddToCart.tearDown()[pri:0, instance:com.buyer.testSuite.TestAddToCart@14b27f40]">&lt;&lt;tearDown</td>
19   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
20   -<tr bgcolor="a874f9"> <td>18/09/03 16:28:01</td> <td>37909</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestProductInquiry.tearDown()[pri:0, instance:com.essa.testSuite.TestProductInquiry@14485d7]">&lt;&lt;tearDown</td>
21   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
22   -<tr bgcolor="ccb6bc"> <td>18/09/03 16:28:52</td> <td>89254</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestSendPO.tearDown()[pri:0, instance:com.buyer.testSuite.TestSendPO@47b60fe8]">&lt;&lt;tearDown</td>
23   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
  4 +<tr bgcolor="94a0eb"> <td>18/10/23 15:21:02</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddToCart.addSku()[pri:0, instance:com.buyer.testSuite.TestAddToCart@4de69ef7]">addSku</td>
  5 + <td>SwingWorker-pool-1-thread-1@189909386</td> <td></td> </tr>
  6 +<tr bgcolor="8485ec"> <td>18/10/23 15:21:42</td> <td>39416</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestSendPO.conslidation()[pri:0, instance:com.buyer.testSuite.TestSendPO@6c615156]">conslidation</td>
  7 + <td>SwingWorker-pool-1-thread-1@189909386</td> <td></td> </tr>
  8 +<tr bgcolor="fb946a"> <td>18/10/23 15:21:18</td> <td>15757</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestProductInquiry.productInquiry()[pri:0, instance:com.essa.testSuite.TestProductInquiry@2ebbddfb]">productInquiry</td>
  9 + <td>SwingWorker-pool-1-thread-1@189909386</td> <td></td> </tr>
  10 +<tr bgcolor="8485ec"> <td>18/10/23 15:22:10</td> <td>67650</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestSendPO.sendPO()[pri:0, instance:com.buyer.testSuite.TestSendPO@6c615156]">sendPO</td>
  11 + <td>SwingWorker-pool-1-thread-1@189909386</td> <td></td> </tr>
  12 +<tr bgcolor="94a0eb"> <td>18/10/23 15:20:52</td> <td>-10260</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestAddToCart.setUp()[pri:0, instance:com.buyer.testSuite.TestAddToCart@4de69ef7]">&gt;&gt;setUp</td>
  13 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-1-thread-1@189909386</td> <td></td> </tr>
  14 +<tr bgcolor="fb946a"> <td>18/10/23 15:21:11</td> <td>8873</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestProductInquiry.setUp()[pri:0, instance:com.essa.testSuite.TestProductInquiry@2ebbddfb]">&gt;&gt;setUp</td>
  15 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-1-thread-1@189909386</td> <td></td> </tr>
  16 +<tr bgcolor="8485ec"> <td>18/10/23 15:21:35</td> <td>32796</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestSendPO.setUp()[pri:0, instance:com.buyer.testSuite.TestSendPO@6c615156]">&gt;&gt;setUp</td>
  17 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-1-thread-1@189909386</td> <td></td> </tr>
  18 +<tr bgcolor="94a0eb"> <td>18/10/23 15:21:10</td> <td>8121</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestAddToCart.tearDown()[pri:0, instance:com.buyer.testSuite.TestAddToCart@4de69ef7]">&lt;&lt;tearDown</td>
  19 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-1-thread-1@189909386</td> <td></td> </tr>
  20 +<tr bgcolor="fb946a"> <td>18/10/23 15:21:34</td> <td>32022</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestProductInquiry.tearDown()[pri:0, instance:com.essa.testSuite.TestProductInquiry@2ebbddfb]">&lt;&lt;tearDown</td>
  21 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-1-thread-1@189909386</td> <td></td> </tr>
  22 +<tr bgcolor="8485ec"> <td>18/10/23 15:22:27</td> <td>84737</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestSendPO.tearDown()[pri:0, instance:com.buyer.testSuite.TestSendPO@6c615156]">&lt;&lt;tearDown</td>
  23 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-1-thread-1@189909386</td> <td></td> </tr>
24 24 </table>
... ...
test-output/old/提交PO/methods.html
1 1 <h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>提交PO</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
2 2 <table border="1">
3 3 <tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
4   -<tr bgcolor="f7b6f4"> <td>18/09/03 16:27:14</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestAddToCart.setUp()[pri:0, instance:com.buyer.testSuite.TestAddToCart@14b27f40]">&gt;&gt;setUp</td>
5   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
6   -<tr bgcolor="f7b6f4"> <td>18/09/03 16:27:23</td> <td>9507</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddToCart.addSku()[pri:0, instance:com.buyer.testSuite.TestAddToCart@14b27f40]">addSku</td>
7   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
8   -<tr bgcolor="f7b6f4"> <td>18/09/03 16:27:36</td> <td>22248</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestAddToCart.tearDown()[pri:0, instance:com.buyer.testSuite.TestAddToCart@14b27f40]">&lt;&lt;tearDown</td>
9   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
10   -<tr bgcolor="a874f9"> <td>18/09/03 16:27:37</td> <td>23026</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestProductInquiry.setUp()[pri:0, instance:com.essa.testSuite.TestProductInquiry@14485d7]">&gt;&gt;setUp</td>
11   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
12   -<tr bgcolor="a874f9"> <td>18/09/03 16:27:45</td> <td>31528</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestProductInquiry.productInquiry()[pri:0, instance:com.essa.testSuite.TestProductInquiry@14485d7]">productInquiry</td>
13   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
14   -<tr bgcolor="a874f9"> <td>18/09/03 16:28:01</td> <td>47416</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestProductInquiry.tearDown()[pri:0, instance:com.essa.testSuite.TestProductInquiry@14485d7]">&lt;&lt;tearDown</td>
15   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
16   -<tr bgcolor="ccb6bc"> <td>18/09/03 16:28:02</td> <td>48232</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestSendPO.setUp()[pri:0, instance:com.buyer.testSuite.TestSendPO@47b60fe8]">&gt;&gt;setUp</td>
17   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
18   -<tr bgcolor="ccb6bc"> <td>18/09/03 16:28:10</td> <td>56414</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestSendPO.conslidation()[pri:0, instance:com.buyer.testSuite.TestSendPO@47b60fe8]">conslidation</td>
19   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
20   -<tr bgcolor="ccb6bc"> <td>18/09/03 16:28:40</td> <td>86110</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestSendPO.sendPO()[pri:0, instance:com.buyer.testSuite.TestSendPO@47b60fe8]">sendPO</td>
21   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
22   -<tr bgcolor="ccb6bc"> <td>18/09/03 16:28:52</td> <td>98761</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestSendPO.tearDown()[pri:0, instance:com.buyer.testSuite.TestSendPO@47b60fe8]">&lt;&lt;tearDown</td>
23   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
  4 +<tr bgcolor="94a0eb"> <td>18/10/23 15:20:52</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestAddToCart.setUp()[pri:0, instance:com.buyer.testSuite.TestAddToCart@4de69ef7]">&gt;&gt;setUp</td>
  5 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-1-thread-1@189909386</td> <td></td> </tr>
  6 +<tr bgcolor="94a0eb"> <td>18/10/23 15:21:02</td> <td>10260</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddToCart.addSku()[pri:0, instance:com.buyer.testSuite.TestAddToCart@4de69ef7]">addSku</td>
  7 + <td>SwingWorker-pool-1-thread-1@189909386</td> <td></td> </tr>
  8 +<tr bgcolor="94a0eb"> <td>18/10/23 15:21:10</td> <td>18381</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestAddToCart.tearDown()[pri:0, instance:com.buyer.testSuite.TestAddToCart@4de69ef7]">&lt;&lt;tearDown</td>
  9 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-1-thread-1@189909386</td> <td></td> </tr>
  10 +<tr bgcolor="fb946a"> <td>18/10/23 15:21:11</td> <td>19133</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestProductInquiry.setUp()[pri:0, instance:com.essa.testSuite.TestProductInquiry@2ebbddfb]">&gt;&gt;setUp</td>
  11 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-1-thread-1@189909386</td> <td></td> </tr>
  12 +<tr bgcolor="fb946a"> <td>18/10/23 15:21:18</td> <td>26017</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestProductInquiry.productInquiry()[pri:0, instance:com.essa.testSuite.TestProductInquiry@2ebbddfb]">productInquiry</td>
  13 + <td>SwingWorker-pool-1-thread-1@189909386</td> <td></td> </tr>
  14 +<tr bgcolor="fb946a"> <td>18/10/23 15:21:34</td> <td>42282</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestProductInquiry.tearDown()[pri:0, instance:com.essa.testSuite.TestProductInquiry@2ebbddfb]">&lt;&lt;tearDown</td>
  15 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-1-thread-1@189909386</td> <td></td> </tr>
  16 +<tr bgcolor="8485ec"> <td>18/10/23 15:21:35</td> <td>43056</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestSendPO.setUp()[pri:0, instance:com.buyer.testSuite.TestSendPO@6c615156]">&gt;&gt;setUp</td>
  17 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-1-thread-1@189909386</td> <td></td> </tr>
  18 +<tr bgcolor="8485ec"> <td>18/10/23 15:21:42</td> <td>49676</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestSendPO.conslidation()[pri:0, instance:com.buyer.testSuite.TestSendPO@6c615156]">conslidation</td>
  19 + <td>SwingWorker-pool-1-thread-1@189909386</td> <td></td> </tr>
  20 +<tr bgcolor="8485ec"> <td>18/10/23 15:22:10</td> <td>77910</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestSendPO.sendPO()[pri:0, instance:com.buyer.testSuite.TestSendPO@6c615156]">sendPO</td>
  21 + <td>SwingWorker-pool-1-thread-1@189909386</td> <td></td> </tr>
  22 +<tr bgcolor="8485ec"> <td>18/10/23 15:22:27</td> <td>94997</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestSendPO.tearDown()[pri:0, instance:com.buyer.testSuite.TestSendPO@6c615156]">&lt;&lt;tearDown</td>
  23 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-1-thread-1@189909386</td> <td></td> </tr>
24 24 </table>
... ...
test-output/old/提交PO/testng.xml.html
1   -<html><head><title>testng.xml for 提交PO</title></head><body><tt>&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"?&gt; <br/>&lt;!DOCTYPE&nbsp;suite&nbsp;SYSTEM&nbsp;"http://testng.org/testng-1.0.dtd"&gt; <br/>&lt;suite&nbsp;name="提交PO"&nbsp;guice-stage="DEVELOPMENT"&gt; <br/>&nbsp;&nbsp;&lt;test&nbsp;thread-count="5"&nbsp;name="sendPO"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;classes&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.buyer.testSuite.TestAddToCart"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="addSku"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.buyer.testSuite.TestAddToCart&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.essa.testSuite.TestProductInquiry"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="productInquiry"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.essa.testSuite.TestProductInquiry&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.buyer.testSuite.TestSendPO"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="conslidation"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="sendPO"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.buyer.testSuite.TestSendPO&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/classes&gt; <br/>&nbsp;&nbsp;&lt;/test&gt;&nbsp;&lt;!--&nbsp;sendPO&nbsp;--&gt; <br/>&lt;/suite&gt;&nbsp;&lt;!--&nbsp;提交PO&nbsp;--&gt; <br/></tt></body></html>
2 1 \ No newline at end of file
  2 +<html><head><title>testng.xml for 提交PO</title></head><body><tt>&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"?&gt; <br/>&lt;!DOCTYPE&nbsp;suite&nbsp;SYSTEM&nbsp;"http://testng.org/testng-1.0.dtd"&gt; <br/>&lt;suite&nbsp;guice-stage="DEVELOPMENT"&nbsp;name="提交PO"&gt; <br/>&nbsp;&nbsp;&lt;test&nbsp;thread-count="5"&nbsp;name="sendPO"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;classes&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.buyer.testSuite.TestAddToCart"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="addSku"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.buyer.testSuite.TestAddToCart&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.essa.testSuite.TestProductInquiry"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="productInquiry"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.essa.testSuite.TestProductInquiry&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.buyer.testSuite.TestSendPO"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="conslidation"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="sendPO"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.buyer.testSuite.TestSendPO&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/classes&gt; <br/>&nbsp;&nbsp;&lt;/test&gt;&nbsp;&lt;!--&nbsp;sendPO&nbsp;--&gt; <br/>&lt;/suite&gt;&nbsp;&lt;!--&nbsp;提交PO&nbsp;--&gt; <br/></tt></body></html>
3 3 \ No newline at end of file
... ...
test-output/old/新增原厂商品/methods-alphabetical.html
1 1 <h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>新增原厂商品</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
2 2 <table border="1">
3 3 <tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
4   -<tr bgcolor="9b649b"> <td>18/08/31 17:06:54</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.auditOriginal()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@5c29e401]">auditOriginal</td>
5   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
6   -<tr bgcolor="9b649b"> <td>18/08/31 17:07:08</td> <td>13992</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.getSkuNo()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@5c29e401]">getSkuNo</td>
7   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
8   -<tr bgcolor="9b649b"> <td>18/08/31 17:06:04</td> <td>-50346</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestAddOriginalGoods.setUp()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@5c29e401]">&gt;&gt;setUp</td>
9   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
10   -<tr bgcolor="9b649b"> <td>18/08/31 17:07:11</td> <td>16307</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestAddOriginalGoods.tearDown()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@5c29e401]">&lt;&lt;tearDown</td>
11   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
12   -<tr bgcolor="9b649b"> <td>18/08/31 17:06:13</td> <td>-41147</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.toAddOriginalGoodsPage()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@5c29e401]">toAddOriginalGoodsPage</td>
13   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
14   -<tr bgcolor="9b649b"> <td>18/08/31 17:06:42</td> <td>-12384</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.updatePic()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@5c29e401]">updatePic</td>
15   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
  4 +<tr bgcolor="b17f84"> <td>18/10/23 15:35:32</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.auditOriginal()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74462b00]">auditOriginal</td>
  5 + <td>SwingWorker-pool-2-thread-1@1322952988</td> <td></td> </tr>
  6 +<tr bgcolor="b17f84"> <td>18/10/23 15:35:46</td> <td>14208</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.getSkuNo()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74462b00]">getSkuNo</td>
  7 + <td>SwingWorker-pool-2-thread-1@1322952988</td> <td></td> </tr>
  8 +<tr bgcolor="b17f84"> <td>18/10/23 15:34:40</td> <td>-52081</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestAddOriginalGoods.setUp()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74462b00]">&gt;&gt;setUp</td>
  9 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-1@1322952988</td> <td></td> </tr>
  10 +<tr bgcolor="b17f84"> <td>18/10/23 15:35:49</td> <td>16494</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestAddOriginalGoods.tearDown()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74462b00]">&lt;&lt;tearDown</td>
  11 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-1@1322952988</td> <td></td> </tr>
  12 +<tr bgcolor="b17f84"> <td>18/10/23 15:34:48</td> <td>-44245</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.toAddOriginalGoodsPage()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74462b00]">toAddOriginalGoodsPage</td>
  13 + <td>SwingWorker-pool-2-thread-1@1322952988</td> <td></td> </tr>
  14 +<tr bgcolor="b17f84"> <td>18/10/23 15:35:17</td> <td>-14801</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.updatePic()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74462b00]">updatePic</td>
  15 + <td>SwingWorker-pool-2-thread-1@1322952988</td> <td></td> </tr>
16 16 </table>
... ...
test-output/old/新增原厂商品/methods.html
1 1 <h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>新增原厂商品</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
2 2 <table border="1">
3 3 <tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
4   -<tr bgcolor="9b649b"> <td>18/08/31 17:06:04</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestAddOriginalGoods.setUp()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@5c29e401]">&gt;&gt;setUp</td>
5   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
6   -<tr bgcolor="9b649b"> <td>18/08/31 17:06:13</td> <td>9199</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.toAddOriginalGoodsPage()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@5c29e401]">toAddOriginalGoodsPage</td>
7   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
8   -<tr bgcolor="9b649b"> <td>18/08/31 17:06:42</td> <td>37962</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.updatePic()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@5c29e401]">updatePic</td>
9   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
10   -<tr bgcolor="9b649b"> <td>18/08/31 17:06:54</td> <td>50346</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.auditOriginal()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@5c29e401]">auditOriginal</td>
11   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
12   -<tr bgcolor="9b649b"> <td>18/08/31 17:07:08</td> <td>64338</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.getSkuNo()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@5c29e401]">getSkuNo</td>
13   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
14   -<tr bgcolor="9b649b"> <td>18/08/31 17:07:11</td> <td>66653</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestAddOriginalGoods.tearDown()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@5c29e401]">&lt;&lt;tearDown</td>
15   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
  4 +<tr bgcolor="b17f84"> <td>18/10/23 15:34:40</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestAddOriginalGoods.setUp()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74462b00]">&gt;&gt;setUp</td>
  5 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-1@1322952988</td> <td></td> </tr>
  6 +<tr bgcolor="b17f84"> <td>18/10/23 15:34:48</td> <td>7836</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.toAddOriginalGoodsPage()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74462b00]">toAddOriginalGoodsPage</td>
  7 + <td>SwingWorker-pool-2-thread-1@1322952988</td> <td></td> </tr>
  8 +<tr bgcolor="b17f84"> <td>18/10/23 15:35:17</td> <td>37280</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.updatePic()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74462b00]">updatePic</td>
  9 + <td>SwingWorker-pool-2-thread-1@1322952988</td> <td></td> </tr>
  10 +<tr bgcolor="b17f84"> <td>18/10/23 15:35:32</td> <td>52081</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.auditOriginal()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74462b00]">auditOriginal</td>
  11 + <td>SwingWorker-pool-2-thread-1@1322952988</td> <td></td> </tr>
  12 +<tr bgcolor="b17f84"> <td>18/10/23 15:35:46</td> <td>66289</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddOriginalGoods.getSkuNo()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74462b00]">getSkuNo</td>
  13 + <td>SwingWorker-pool-2-thread-1@1322952988</td> <td></td> </tr>
  14 +<tr bgcolor="b17f84"> <td>18/10/23 15:35:49</td> <td>68575</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestAddOriginalGoods.tearDown()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74462b00]">&lt;&lt;tearDown</td>
  15 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-1@1322952988</td> <td></td> </tr>
16 16 </table>
... ...
test-output/old/新增原厂商品/testng.xml.html
1   -<html><head><title>testng.xml for 新增原厂商品</title></head><body><tt>&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"?&gt; <br/>&lt;!DOCTYPE&nbsp;suite&nbsp;SYSTEM&nbsp;"http://testng.org/testng-1.0.dtd"&gt; <br/>&lt;suite&nbsp;name="新增原厂商品"&nbsp;guice-stage="DEVELOPMENT"&gt; <br/>&nbsp;&nbsp;&lt;test&nbsp;thread-count="5"&nbsp;name="addOriginalGoods"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;classes&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.essa.testSuite.TestAddOriginalGoods"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="toAddOriginalGoodsPage"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="toGoodsRelesePage"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="updatePic"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="auditOriginal"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="getSkuNo"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.essa.testSuite.TestAddOriginalGoods&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/classes&gt; <br/>&nbsp;&nbsp;&lt;/test&gt;&nbsp;&lt;!--&nbsp;addOriginalGoods&nbsp;--&gt; <br/>&lt;/suite&gt;&nbsp;&lt;!--&nbsp;新增原厂商品&nbsp;--&gt; <br/></tt></body></html>
2 1 \ No newline at end of file
  2 +<html><head><title>testng.xml for 新增原厂商品</title></head><body><tt>&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"?&gt; <br/>&lt;!DOCTYPE&nbsp;suite&nbsp;SYSTEM&nbsp;"http://testng.org/testng-1.0.dtd"&gt; <br/>&lt;suite&nbsp;guice-stage="DEVELOPMENT"&nbsp;name="新增原厂商品"&gt; <br/>&nbsp;&nbsp;&lt;test&nbsp;thread-count="5"&nbsp;name="addOriginalGoods"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;classes&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.essa.testSuite.TestAddOriginalGoods"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="toAddOriginalGoodsPage"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="toGoodsRelesePage"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="updatePic"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="auditOriginal"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="getSkuNo"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.essa.testSuite.TestAddOriginalGoods&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/classes&gt; <br/>&nbsp;&nbsp;&lt;/test&gt;&nbsp;&lt;!--&nbsp;addOriginalGoods&nbsp;--&gt; <br/>&lt;/suite&gt;&nbsp;&lt;!--&nbsp;新增原厂商品&nbsp;--&gt; <br/></tt></body></html>
3 3 \ No newline at end of file
... ...
test-output/old/新增市场商品/methods-alphabetical.html
1 1 <h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>新增市场商品</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
2 2 <table border="1">
3 3 <tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
4   -<tr bgcolor="98e3ca"> <td>18/08/31 17:07:43</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddMarketGoods.addMarketGoods()[pri:0, instance:com.essa.testSuite.TestAddMarketGoods@6cf4bb3a]">addMarketGoods</td>
5   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
6   -<tr bgcolor="98e3ca"> <td>18/08/31 17:08:22</td> <td>39085</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddMarketGoods.auditMarketGoods()[pri:0, instance:com.essa.testSuite.TestAddMarketGoods@6cf4bb3a]">auditMarketGoods</td>
7   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
8   -<tr bgcolor="98e3ca"> <td>18/08/31 17:07:29</td> <td>-13606</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestAddMarketGoods.setUp()[pri:0, instance:com.essa.testSuite.TestAddMarketGoods@6cf4bb3a]">&gt;&gt;setUp</td>
9   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
10   -<tr bgcolor="98e3ca"> <td>18/08/31 17:08:38</td> <td>55681</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestAddMarketGoods.tearDown()[pri:0, instance:com.essa.testSuite.TestAddMarketGoods@6cf4bb3a]">&lt;&lt;tearDown</td>
11   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
12   -<tr bgcolor="98e3ca"> <td>18/08/31 17:07:37</td> <td>-5328</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddMarketGoods.toMarketGoodsRelesePage()[pri:0, instance:com.essa.testSuite.TestAddMarketGoods@6cf4bb3a]">toMarketGoodsRelesePage</td>
13   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
  4 +<tr bgcolor="81dbcb"> <td>18/09/30 17:44:57</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddMarketGoods.addMarketGoods()[pri:0, instance:com.essa.testSuite.TestAddMarketGoods@1b93ade2]">addMarketGoods</td>
  5 + <td>SwingWorker-pool-2-thread-1@1802781601</td> <td></td> </tr>
  6 +<tr bgcolor="81dbcb"> <td>18/09/30 17:45:34</td> <td>37398</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddMarketGoods.auditMarketGoods()[pri:0, instance:com.essa.testSuite.TestAddMarketGoods@1b93ade2]">auditMarketGoods</td>
  7 + <td>SwingWorker-pool-2-thread-1@1802781601</td> <td></td> </tr>
  8 +<tr bgcolor="81dbcb"> <td>18/09/30 17:44:43</td> <td>-13746</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestAddMarketGoods.setUp()[pri:0, instance:com.essa.testSuite.TestAddMarketGoods@1b93ade2]">&gt;&gt;setUp</td>
  9 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-1@1802781601</td> <td></td> </tr>
  10 +<tr bgcolor="81dbcb"> <td>18/09/30 17:45:51</td> <td>54036</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestAddMarketGoods.tearDown()[pri:0, instance:com.essa.testSuite.TestAddMarketGoods@1b93ade2]">&lt;&lt;tearDown</td>
  11 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-1@1802781601</td> <td></td> </tr>
  12 +<tr bgcolor="81dbcb"> <td>18/09/30 17:44:51</td> <td>-5514</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddMarketGoods.toMarketGoodsRelesePage()[pri:0, instance:com.essa.testSuite.TestAddMarketGoods@1b93ade2]">toMarketGoodsRelesePage</td>
  13 + <td>SwingWorker-pool-2-thread-1@1802781601</td> <td></td> </tr>
14 14 </table>
... ...
test-output/old/新增市场商品/methods.html
1 1 <h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>新增市场商品</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
2 2 <table border="1">
3 3 <tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
4   -<tr bgcolor="98e3ca"> <td>18/08/31 17:07:29</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestAddMarketGoods.setUp()[pri:0, instance:com.essa.testSuite.TestAddMarketGoods@6cf4bb3a]">&gt;&gt;setUp</td>
5   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
6   -<tr bgcolor="98e3ca"> <td>18/08/31 17:07:37</td> <td>8278</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddMarketGoods.toMarketGoodsRelesePage()[pri:0, instance:com.essa.testSuite.TestAddMarketGoods@6cf4bb3a]">toMarketGoodsRelesePage</td>
7   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
8   -<tr bgcolor="98e3ca"> <td>18/08/31 17:07:43</td> <td>13606</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddMarketGoods.addMarketGoods()[pri:0, instance:com.essa.testSuite.TestAddMarketGoods@6cf4bb3a]">addMarketGoods</td>
9   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
10   -<tr bgcolor="98e3ca"> <td>18/08/31 17:08:22</td> <td>52691</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddMarketGoods.auditMarketGoods()[pri:0, instance:com.essa.testSuite.TestAddMarketGoods@6cf4bb3a]">auditMarketGoods</td>
11   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
12   -<tr bgcolor="98e3ca"> <td>18/08/31 17:08:38</td> <td>69287</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestAddMarketGoods.tearDown()[pri:0, instance:com.essa.testSuite.TestAddMarketGoods@6cf4bb3a]">&lt;&lt;tearDown</td>
13   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
  4 +<tr bgcolor="81dbcb"> <td>18/09/30 17:44:43</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestAddMarketGoods.setUp()[pri:0, instance:com.essa.testSuite.TestAddMarketGoods@1b93ade2]">&gt;&gt;setUp</td>
  5 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-1@1802781601</td> <td></td> </tr>
  6 +<tr bgcolor="81dbcb"> <td>18/09/30 17:44:51</td> <td>8232</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddMarketGoods.toMarketGoodsRelesePage()[pri:0, instance:com.essa.testSuite.TestAddMarketGoods@1b93ade2]">toMarketGoodsRelesePage</td>
  7 + <td>SwingWorker-pool-2-thread-1@1802781601</td> <td></td> </tr>
  8 +<tr bgcolor="81dbcb"> <td>18/09/30 17:44:57</td> <td>13746</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddMarketGoods.addMarketGoods()[pri:0, instance:com.essa.testSuite.TestAddMarketGoods@1b93ade2]">addMarketGoods</td>
  9 + <td>SwingWorker-pool-2-thread-1@1802781601</td> <td></td> </tr>
  10 +<tr bgcolor="81dbcb"> <td>18/09/30 17:45:34</td> <td>51144</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestAddMarketGoods.auditMarketGoods()[pri:0, instance:com.essa.testSuite.TestAddMarketGoods@1b93ade2]">auditMarketGoods</td>
  11 + <td>SwingWorker-pool-2-thread-1@1802781601</td> <td></td> </tr>
  12 +<tr bgcolor="81dbcb"> <td>18/09/30 17:45:51</td> <td>67782</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestAddMarketGoods.tearDown()[pri:0, instance:com.essa.testSuite.TestAddMarketGoods@1b93ade2]">&lt;&lt;tearDown</td>
  13 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-1@1802781601</td> <td></td> </tr>
14 14 </table>
... ...
test-output/old/新增市场商品/testng.xml.html
1   -<html><head><title>testng.xml for 新增市场商品</title></head><body><tt>&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"?&gt; <br/>&lt;!DOCTYPE&nbsp;suite&nbsp;SYSTEM&nbsp;"http://testng.org/testng-1.0.dtd"&gt; <br/>&lt;suite&nbsp;name="新增市场商品"&nbsp;guice-stage="DEVELOPMENT"&gt; <br/>&nbsp;&nbsp;&lt;test&nbsp;thread-count="5"&nbsp;name="addMarketGoods"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;classes&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.essa.testSuite.TestAddMarketGoods"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="toMarketGoodsRelesePage"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="addMarketGoods"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="auditMarketGoods"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.essa.testSuite.TestAddMarketGoods&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/classes&gt; <br/>&nbsp;&nbsp;&lt;/test&gt;&nbsp;&lt;!--&nbsp;addMarketGoods&nbsp;--&gt; <br/>&lt;/suite&gt;&nbsp;&lt;!--&nbsp;新增市场商品&nbsp;--&gt; <br/></tt></body></html>
2 1 \ No newline at end of file
  2 +<html><head><title>testng.xml for 新增市场商品</title></head><body><tt>&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"?&gt; <br/>&lt;!DOCTYPE&nbsp;suite&nbsp;SYSTEM&nbsp;"http://testng.org/testng-1.0.dtd"&gt; <br/>&lt;suite&nbsp;guice-stage="DEVELOPMENT"&nbsp;name="新增市场商品"&gt; <br/>&nbsp;&nbsp;&lt;test&nbsp;thread-count="5"&nbsp;name="addMarketGoods"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;classes&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.essa.testSuite.TestAddMarketGoods"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="toMarketGoodsRelesePage"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="addMarketGoods"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="auditMarketGoods"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.essa.testSuite.TestAddMarketGoods&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/classes&gt; <br/>&nbsp;&nbsp;&lt;/test&gt;&nbsp;&lt;!--&nbsp;addMarketGoods&nbsp;--&gt; <br/>&lt;/suite&gt;&nbsp;&lt;!--&nbsp;新增市场商品&nbsp;--&gt; <br/></tt></body></html>
3 3 \ No newline at end of file
... ...
test-output/old/采购商注册/methods-alphabetical.html
1 1 <h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>采购商注册</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
2 2 <table border="1">
3 3 <tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
4   -<tr bgcolor="a0a98d"> <td>18/08/31 17:13:45</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestGenrateCode.genrateCode()[pri:0, instance:com.essa.testSuite.TestGenrateCode@50a0c33c]">genrateCode</td>
5   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
6   -<tr bgcolor="f0df8e"> <td>18/08/31 17:13:57</td> <td>11870</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestRegister.register()[pri:0, instance:com.buyer.testSuite.TestRegister@423e6a09]">register</td>
7   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
8   -<tr bgcolor="a0a98d"> <td>18/08/31 17:13:37</td> <td>-7847</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestGenrateCode.setUp()[pri:0, instance:com.essa.testSuite.TestGenrateCode@50a0c33c]">&gt;&gt;setUp</td>
9   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
10   -<tr bgcolor="f0df8e"> <td>18/08/31 17:13:51</td> <td>5783</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestRegister.setUp()[pri:0, instance:com.buyer.testSuite.TestRegister@423e6a09]">&gt;&gt;setUp</td>
11   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
12   -<tr bgcolor="a0a98d"> <td>18/08/31 17:13:50</td> <td>5025</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestGenrateCode.tearDown()[pri:0, instance:com.essa.testSuite.TestGenrateCode@50a0c33c]">&lt;&lt;tearDown</td>
13   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
14   -<tr bgcolor="f0df8e"> <td>18/08/31 17:14:08</td> <td>22743</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestRegister.tearDown()[pri:0, instance:com.buyer.testSuite.TestRegister@423e6a09]">&lt;&lt;tearDown</td>
15   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
  4 +<tr bgcolor="9168b4"> <td>18/09/30 17:50:20</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestGenrateCode.genrateCode()[pri:0, instance:com.essa.testSuite.TestGenrateCode@28e0209a]">genrateCode</td>
  5 + <td>SwingWorker-pool-2-thread-4@1012104814</td> <td></td> </tr>
  6 +<tr bgcolor="93fdb6"> <td>18/09/30 17:50:31</td> <td>11054</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestRegister.register()[pri:0, instance:com.buyer.testSuite.TestRegister@7fc399fa]">register</td>
  7 + <td>SwingWorker-pool-2-thread-4@1012104814</td> <td></td> </tr>
  8 +<tr bgcolor="9168b4"> <td>18/09/30 17:50:13</td> <td>-7157</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestGenrateCode.setUp()[pri:0, instance:com.essa.testSuite.TestGenrateCode@28e0209a]">&gt;&gt;setUp</td>
  9 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-4@1012104814</td> <td></td> </tr>
  10 +<tr bgcolor="93fdb6"> <td>18/09/30 17:50:26</td> <td>5905</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestRegister.setUp()[pri:0, instance:com.buyer.testSuite.TestRegister@7fc399fa]">&gt;&gt;setUp</td>
  11 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-4@1012104814</td> <td></td> </tr>
  12 +<tr bgcolor="9168b4"> <td>18/09/30 17:50:25</td> <td>5161</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestGenrateCode.tearDown()[pri:0, instance:com.essa.testSuite.TestGenrateCode@28e0209a]">&lt;&lt;tearDown</td>
  13 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-4@1012104814</td> <td></td> </tr>
  14 +<tr bgcolor="93fdb6"> <td>18/09/30 17:50:47</td> <td>27422</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestRegister.tearDown()[pri:0, instance:com.buyer.testSuite.TestRegister@7fc399fa]">&lt;&lt;tearDown</td>
  15 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-4@1012104814</td> <td></td> </tr>
16 16 </table>
... ...
test-output/old/采购商注册/methods.html
1 1 <h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>采购商注册</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
2 2 <table border="1">
3 3 <tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
4   -<tr bgcolor="a0a98d"> <td>18/08/31 17:13:37</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestGenrateCode.setUp()[pri:0, instance:com.essa.testSuite.TestGenrateCode@50a0c33c]">&gt;&gt;setUp</td>
5   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
6   -<tr bgcolor="a0a98d"> <td>18/08/31 17:13:45</td> <td>7847</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestGenrateCode.genrateCode()[pri:0, instance:com.essa.testSuite.TestGenrateCode@50a0c33c]">genrateCode</td>
7   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
8   -<tr bgcolor="a0a98d"> <td>18/08/31 17:13:50</td> <td>12872</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestGenrateCode.tearDown()[pri:0, instance:com.essa.testSuite.TestGenrateCode@50a0c33c]">&lt;&lt;tearDown</td>
9   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
10   -<tr bgcolor="f0df8e"> <td>18/08/31 17:13:51</td> <td>13630</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestRegister.setUp()[pri:0, instance:com.buyer.testSuite.TestRegister@423e6a09]">&gt;&gt;setUp</td>
11   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
12   -<tr bgcolor="f0df8e"> <td>18/08/31 17:13:57</td> <td>19717</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestRegister.register()[pri:0, instance:com.buyer.testSuite.TestRegister@423e6a09]">register</td>
13   - <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
14   -<tr bgcolor="f0df8e"> <td>18/08/31 17:14:08</td> <td>30590</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestRegister.tearDown()[pri:0, instance:com.buyer.testSuite.TestRegister@423e6a09]">&lt;&lt;tearDown</td>
15   -<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>AWT-EventQueue-0@662822946</td> <td></td> </tr>
  4 +<tr bgcolor="9168b4"> <td>18/09/30 17:50:13</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestGenrateCode.setUp()[pri:0, instance:com.essa.testSuite.TestGenrateCode@28e0209a]">&gt;&gt;setUp</td>
  5 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-4@1012104814</td> <td></td> </tr>
  6 +<tr bgcolor="9168b4"> <td>18/09/30 17:50:20</td> <td>7157</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestGenrateCode.genrateCode()[pri:0, instance:com.essa.testSuite.TestGenrateCode@28e0209a]">genrateCode</td>
  7 + <td>SwingWorker-pool-2-thread-4@1012104814</td> <td></td> </tr>
  8 +<tr bgcolor="9168b4"> <td>18/09/30 17:50:25</td> <td>12318</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestGenrateCode.tearDown()[pri:0, instance:com.essa.testSuite.TestGenrateCode@28e0209a]">&lt;&lt;tearDown</td>
  9 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-4@1012104814</td> <td></td> </tr>
  10 +<tr bgcolor="93fdb6"> <td>18/09/30 17:50:26</td> <td>13062</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;TestRegister.setUp()[pri:0, instance:com.buyer.testSuite.TestRegister@7fc399fa]">&gt;&gt;setUp</td>
  11 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-4@1012104814</td> <td></td> </tr>
  12 +<tr bgcolor="93fdb6"> <td>18/09/30 17:50:31</td> <td>18211</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="TestRegister.register()[pri:0, instance:com.buyer.testSuite.TestRegister@7fc399fa]">register</td>
  13 + <td>SwingWorker-pool-2-thread-4@1012104814</td> <td></td> </tr>
  14 +<tr bgcolor="93fdb6"> <td>18/09/30 17:50:47</td> <td>34579</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&lt;&lt;TestRegister.tearDown()[pri:0, instance:com.buyer.testSuite.TestRegister@7fc399fa]">&lt;&lt;tearDown</td>
  15 +<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>SwingWorker-pool-2-thread-4@1012104814</td> <td></td> </tr>
16 16 </table>
... ...
test-output/old/采购商注册/testng.xml.html
1   -<html><head><title>testng.xml for 采购商注册</title></head><body><tt>&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"?&gt; <br/>&lt;!DOCTYPE&nbsp;suite&nbsp;SYSTEM&nbsp;"http://testng.org/testng-1.0.dtd"&gt; <br/>&lt;suite&nbsp;name="采购商注册"&nbsp;guice-stage="DEVELOPMENT"&gt; <br/>&nbsp;&nbsp;&lt;test&nbsp;thread-count="5"&nbsp;name="buyerRegister"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;classes&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.essa.testSuite.TestGenrateCode"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="genrateCode"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.essa.testSuite.TestGenrateCode&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.buyer.testSuite.TestRegister"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="register"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.buyer.testSuite.TestRegister&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/classes&gt; <br/>&nbsp;&nbsp;&lt;/test&gt;&nbsp;&lt;!--&nbsp;buyerRegister&nbsp;--&gt; <br/>&lt;/suite&gt;&nbsp;&lt;!--&nbsp;采购商注册&nbsp;--&gt; <br/></tt></body></html>
2 1 \ No newline at end of file
  2 +<html><head><title>testng.xml for 采购商注册</title></head><body><tt>&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"?&gt; <br/>&lt;!DOCTYPE&nbsp;suite&nbsp;SYSTEM&nbsp;"http://testng.org/testng-1.0.dtd"&gt; <br/>&lt;suite&nbsp;guice-stage="DEVELOPMENT"&nbsp;name="采购商注册"&gt; <br/>&nbsp;&nbsp;&lt;test&nbsp;thread-count="5"&nbsp;name="buyerRegister"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;classes&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.essa.testSuite.TestGenrateCode"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="genrateCode"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.essa.testSuite.TestGenrateCode&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.buyer.testSuite.TestRegister"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name="register"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/methods&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/class&gt;&nbsp;&lt;!--&nbsp;com.buyer.testSuite.TestRegister&nbsp;--&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/classes&gt; <br/>&nbsp;&nbsp;&lt;/test&gt;&nbsp;&lt;!--&nbsp;buyerRegister&nbsp;--&gt; <br/>&lt;/suite&gt;&nbsp;&lt;!--&nbsp;采购商注册&nbsp;--&gt; <br/></tt></body></html>
3 3 \ No newline at end of file
... ...
test-output/old/采购商注册/toc.html
... ... @@ -20,9 +20,9 @@
20 20 <td><a target='mainFrame' href='reporter-output.html'>reporter output</a></td>
21 21 <td><a target='mainFrame' href='testng.xml.html'>testng.xml</a></td>
22 22 </tr></table>
23   -<table width='100%' class='test-passed'>
  23 +<table width='100%' class='test-failed'>
24 24 <tr><td>
25   -<table style='width: 100%'><tr><td valign='top'>buyerRegister (2/0/0)</td><td valign='top' align='right'>
  25 +<table style='width: 100%'><tr><td valign='top'>buyerRegister (1/1/0)</td><td valign='top' align='right'>
26 26 <a href='buyerRegister.html' target='mainFrame'>Results</a>
27 27 </td></tr></table>
28 28 </td></tr><p/>
... ...
test-output/testng-failed.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
3   -<suite name="Failed suite [发布团购商品]" guice-stage="DEVELOPMENT">
4   - <test thread-count="5" name="publishGroupPurchase(failed)">
  3 +<suite guice-stage="DEVELOPMENT" name="Failed suite [提交PO]">
  4 + <test thread-count="5" name="sendPO(failed)">
5 5 <classes>
6   - <class name="com.essa.testSuite.TestGroupPurchase">
  6 + <class name="com.buyer.testSuite.TestSendPO">
7 7 <methods>
8   - <include name="setUp"/>
9   - <include name="isPublish"/>
10 8 <include name="tearDown"/>
  9 + <include name="setUp"/>
  10 + <include name="conslidation"/>
  11 + <include name="sendPO"/>
11 12 </methods>
12   - </class> <!-- com.essa.testSuite.TestGroupPurchase -->
  13 + </class> <!-- com.buyer.testSuite.TestSendPO -->
13 14 </classes>
14   - </test> <!-- publishGroupPurchase(failed) -->
15   -</suite> <!-- Failed suite [发布团购商品] -->
  15 + </test> <!-- sendPO(failed) -->
  16 +</suite> <!-- Failed suite [提交PO] -->
... ...
test-output/testng-results.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2   -<testng-results ignored="1" total="3" passed="2" failed="0" skipped="0">
  2 +<testng-results skipped="0" failed="0" ignored="0" total="4" passed="4">
3 3 <reporter-output>
4 4 </reporter-output>
5   - <suite started-at="2018-09-04T02:55:12Z" name="成品询价" finished-at="2018-09-04T02:56:12Z" duration-ms="60225">
  5 + <suite name="新增原厂商品" duration-ms="69357" started-at="2018-10-23T07:34:40Z" finished-at="2018-10-23T07:35:49Z">
6 6 <groups>
7 7 </groups>
8   - <test started-at="2018-09-04T02:55:12Z" name="productInquiry" finished-at="2018-09-04T02:56:12Z" duration-ms="60225">
9   - <class name="com.essa.testSuite.TestProductInquiry">
10   - <test-method is-config="true" signature="setUp()[pri:0, instance:com.essa.testSuite.TestProductInquiry@7346ae3e]" started-at="2018-09-04T02:55:45Z" name="setUp" finished-at="2018-09-04T02:55:53Z" duration-ms="7839" status="PASS">
  8 + <test name="addOriginalGoods" duration-ms="69357" started-at="2018-10-23T07:34:40Z" finished-at="2018-10-23T07:35:49Z">
  9 + <class name="com.essa.testSuite.TestAddOriginalGoods">
  10 + <test-method status="PASS" signature="setUp()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74462b00]" name="setUp" is-config="true" duration-ms="7829" started-at="2018-10-23T07:34:40Z" finished-at="2018-10-23T07:34:48Z">
11 11 <reporter-output>
12 12 </reporter-output>
13 13 </test-method> <!-- setUp -->
14   - <test-method signature="productInquiry()[pri:0, instance:com.essa.testSuite.TestProductInquiry@7346ae3e]" started-at="2018-09-04T02:55:53Z" name="productInquiry" description="成品询价流程" finished-at="2018-09-04T02:56:11Z" duration-ms="18216" status="PASS">
  14 + <test-method status="PASS" signature="toAddOriginalGoodsPage()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74462b00]" name="toAddOriginalGoodsPage" duration-ms="29443" started-at="2018-10-23T07:34:48Z" description="原厂商品建档" finished-at="2018-10-23T07:35:17Z">
15 15 <reporter-output>
16 16 </reporter-output>
17   - </test-method> <!-- productInquiry -->
18   - <test-method is-config="true" signature="tearDown()[pri:0, instance:com.essa.testSuite.TestProductInquiry@7346ae3e]" started-at="2018-09-04T02:56:11Z" name="tearDown" finished-at="2018-09-04T02:56:12Z" duration-ms="773" status="PASS">
  17 + </test-method> <!-- toAddOriginalGoodsPage -->
  18 + <test-method status="PASS" signature="updatePic()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74462b00]" name="updatePic" duration-ms="14799" started-at="2018-10-23T07:35:17Z" description="更新图片" finished-at="2018-10-23T07:35:32Z">
19 19 <reporter-output>
20 20 </reporter-output>
21   - </test-method> <!-- tearDown -->
22   - </class> <!-- com.essa.testSuite.TestProductInquiry -->
23   - <class name="com.buyer.testSuite.TestAddToCart">
24   - <test-method is-config="true" signature="setUp()[pri:0, instance:com.buyer.testSuite.TestAddToCart@1f2f0f50]" started-at="2018-09-04T02:55:12Z" name="setUp" finished-at="2018-09-04T02:55:21Z" duration-ms="9508" status="PASS">
  21 + </test-method> <!-- updatePic -->
  22 + <test-method status="PASS" signature="auditOriginal()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74462b00]" name="auditOriginal" duration-ms="14207" started-at="2018-10-23T07:35:32Z" description="原厂商品审核" finished-at="2018-10-23T07:35:46Z">
25 23 <reporter-output>
26 24 </reporter-output>
27   - </test-method> <!-- setUp -->
28   - <test-method signature="keywordToCart()[pri:0, instance:com.buyer.testSuite.TestAddToCart@1f2f0f50]" started-at="2018-09-04T02:55:21Z" name="keywordToCart" description="关键字搜索,并将sku加入购物车" finished-at="2018-09-04T02:55:44Z" duration-ms="23097" status="PASS">
  25 + </test-method> <!-- auditOriginal -->
  26 + <test-method status="PASS" signature="getSkuNo()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74462b00]" name="getSkuNo" duration-ms="2285" started-at="2018-10-23T07:35:46Z" description="去商品库获取添加的sku编号" finished-at="2018-10-23T07:35:49Z">
29 27 <reporter-output>
30 28 </reporter-output>
31   - </test-method> <!-- keywordToCart -->
32   - <test-method is-config="true" signature="tearDown()[pri:0, instance:com.buyer.testSuite.TestAddToCart@1f2f0f50]" started-at="2018-09-04T02:55:44Z" name="tearDown" finished-at="2018-09-04T02:55:45Z" duration-ms="760" status="PASS">
  29 + </test-method> <!-- getSkuNo -->
  30 + <test-method status="PASS" signature="tearDown()[pri:0, instance:com.essa.testSuite.TestAddOriginalGoods@74462b00]" name="tearDown" is-config="true" duration-ms="770" started-at="2018-10-23T07:35:49Z" finished-at="2018-10-23T07:35:49Z">
33 31 <reporter-output>
34 32 </reporter-output>
35 33 </test-method> <!-- tearDown -->
36   - </class> <!-- com.buyer.testSuite.TestAddToCart -->
37   - </test> <!-- productInquiry -->
38   - </suite> <!-- 成品询价 -->
  34 + </class> <!-- com.essa.testSuite.TestAddOriginalGoods -->
  35 + </test> <!-- addOriginalGoods -->
  36 + </suite> <!-- 新增原厂商品 -->
39 37 </testng-results>
... ...
test-output/发布团购商品/publishGroupPurchase.html
... ... @@ -57,9 +57,9 @@ function toggleAllBoxes() {
57 57 <tr>
58 58 <td>Tests passed/Failed/Skipped:</td><td>7/0/0</td>
59 59 </tr><tr>
60   -<td>Started on:</td><td>Fri Aug 31 17:10:20 CST 2018</td>
  60 +<td>Started on:</td><td>Sun Sep 30 17:47:44 CST 2018</td>
61 61 </tr>
62   -<tr><td>Total time:</td><td>113 seconds (113401 ms)</td>
  62 +<tr><td>Total time:</td><td>113 seconds (113094 ms)</td>
63 63 </tr><tr>
64 64 <td>Included groups:</td><td></td>
65 65 </tr><tr>
... ... @@ -78,37 +78,37 @@ function toggleAllBoxes() {
78 78 <td title='com.essa.testSuite.TestGroupPurchase.SkuCategoryManagerCongfig()'><b>SkuCategoryManagerCongfig</b><br>Test class: com.essa.testSuite.TestGroupPurchase<br>Test method: 配置商品类目经理</td>
79 79 <td></td>
80 80 <td>5</td>
81   -<td>com.essa.testSuite.TestGroupPurchase@e3267b8</td></tr>
  81 +<td>com.essa.testSuite.TestGroupPurchase@11a26533</td></tr>
82 82 <tr>
83 83 <td title='com.essa.testSuite.TestAddOriginalGoods.auditOriginal()'><b>auditOriginal</b><br>Test class: com.essa.testSuite.TestAddOriginalGoods<br>Test method: 原厂商品审核</td>
84 84 <td></td>
85 85 <td>14</td>
86   -<td>com.essa.testSuite.TestAddOriginalGoods@74f2fec8</td></tr>
  86 +<td>com.essa.testSuite.TestAddOriginalGoods@b5e5354</td></tr>
87 87 <tr>
88 88 <td title='com.essa.testSuite.TestAddOriginalGoods.getSkuNo()'><b>getSkuNo</b><br>Test class: com.essa.testSuite.TestAddOriginalGoods<br>Test method: 去商品库获取添加的sku编号</td>
89 89 <td></td>
90 90 <td>2</td>
91   -<td>com.essa.testSuite.TestAddOriginalGoods@74f2fec8</td></tr>
  91 +<td>com.essa.testSuite.TestAddOriginalGoods@b5e5354</td></tr>
92 92 <tr>
93 93 <td title='com.essa.testSuite.TestGroupPurchase.isPublish()'><b>isPublish</b><br>Test class: com.essa.testSuite.TestGroupPurchase<br>Test method: 检查团购是否发布成功</td>
94 94 <td></td>
95 95 <td>4</td>
96   -<td>com.essa.testSuite.TestGroupPurchase@e3267b8</td></tr>
  96 +<td>com.essa.testSuite.TestGroupPurchase@11a26533</td></tr>
97 97 <tr>
98 98 <td title='com.essa.testSuite.TestGroupPurchase.publishGroupPurchase()'><b>publishGroupPurchase</b><br>Test class: com.essa.testSuite.TestGroupPurchase<br>Test method: 发布团购</td>
99 99 <td></td>
100   -<td>28</td>
101   -<td>com.essa.testSuite.TestGroupPurchase@e3267b8</td></tr>
  100 +<td>27</td>
  101 +<td>com.essa.testSuite.TestGroupPurchase@11a26533</td></tr>
102 102 <tr>
103 103 <td title='com.essa.testSuite.TestAddOriginalGoods.toAddOriginalGoodsPage()'><b>toAddOriginalGoodsPage</b><br>Test class: com.essa.testSuite.TestAddOriginalGoods<br>Test method: 原厂商品建档</td>
104 104 <td></td>
105   -<td>28</td>
106   -<td>com.essa.testSuite.TestAddOriginalGoods@74f2fec8</td></tr>
  105 +<td>29</td>
  106 +<td>com.essa.testSuite.TestAddOriginalGoods@b5e5354</td></tr>
107 107 <tr>
108 108 <td title='com.essa.testSuite.TestAddOriginalGoods.updatePic()'><b>updatePic</b><br>Test class: com.essa.testSuite.TestAddOriginalGoods<br>Test method: 更新图片</td>
109 109 <td></td>
110   -<td>12</td>
111   -<td>com.essa.testSuite.TestAddOriginalGoods@74f2fec8</td></tr>
  110 +<td>13</td>
  111 +<td>com.essa.testSuite.TestAddOriginalGoods@b5e5354</td></tr>
112 112 </table><p>
113 113 </body>
114 114 </html>
115 115 \ No newline at end of file
... ...
test-output/发布团购商品/publishGroupPurchase.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!-- Generated by org.testng.reporters.JUnitXMLReporter -->
3   -<testsuite ignored="0" hostname="A4O1M5DMPNJ0AZF" failures="0" tests="7" name="publishGroupPurchase" time="113.401" errors="0" timestamp="31 8月 2018 09:12:13 GMT">
4   - <testcase classname="com.essa.testSuite.TestAddOriginalGoods" name="toAddOriginalGoodsPage" time="28.436"/>
5   - <testcase classname="com.essa.testSuite.TestAddOriginalGoods" name="updatePic" time="12.345"/>
6   - <testcase classname="com.essa.testSuite.TestAddOriginalGoods" name="auditOriginal" time="14.31"/>
7   - <testcase classname="com.essa.testSuite.TestAddOriginalGoods" name="getSkuNo" time="2.301"/>
8   - <testcase classname="com.essa.testSuite.TestGroupPurchase" name="SkuCategoryManagerCongfig" time="5.284"/>
9   - <testcase classname="com.essa.testSuite.TestGroupPurchase" name="publishGroupPurchase" time="28.834"/>
10   - <testcase classname="com.essa.testSuite.TestGroupPurchase" name="isPublish" time="4.364"/>
  3 +<testsuite hostname="4F5EY2X7DB7A4UR" ignored="0" name="publishGroupPurchase" tests="7" failures="0" timestamp="30 九月 2018 09:49:37 GMT" time="113.094" errors="0">
  4 + <testcase name="toAddOriginalGoodsPage" time="29.577" classname="com.essa.testSuite.TestAddOriginalGoods"/>
  5 + <testcase name="updatePic" time="13.079" classname="com.essa.testSuite.TestAddOriginalGoods"/>
  6 + <testcase name="auditOriginal" time="14.236" classname="com.essa.testSuite.TestAddOriginalGoods"/>
  7 + <testcase name="getSkuNo" time="2.418" classname="com.essa.testSuite.TestAddOriginalGoods"/>
  8 + <testcase name="SkuCategoryManagerCongfig" time="5.388" classname="com.essa.testSuite.TestGroupPurchase"/>
  9 + <testcase name="publishGroupPurchase" time="27.964" classname="com.essa.testSuite.TestGroupPurchase"/>
  10 + <testcase name="isPublish" time="4.499" classname="com.essa.testSuite.TestGroupPurchase"/>
11 11 </testsuite> <!-- publishGroupPurchase -->
... ...
test-output/成品询价/productInquiry.html
... ... @@ -55,11 +55,11 @@ function toggleAllBoxes() {
55 55 <body>
56 56 <h2 align='center'>productInquiry</h2><table border='1' align="center">
57 57 <tr>
58   -<td>Tests passed/Failed/Skipped:</td><td>2/0/0</td>
  58 +<td>Tests passed/Failed/Skipped:</td><td>1/0/1</td>
59 59 </tr><tr>
60   -<td>Started on:</td><td>Tue Sep 04 10:55:12 CST 2018</td>
  60 +<td>Started on:</td><td>Fri Sep 28 11:24:10 CST 2018</td>
61 61 </tr>
62   -<tr><td>Total time:</td><td>60 seconds (60225 ms)</td>
  62 +<tr><td>Total time:</td><td>34 seconds (34656 ms)</td>
63 63 </tr><tr>
64 64 <td>Included groups:</td><td></td>
65 65 </tr><tr>
... ... @@ -67,6 +67,136 @@ function toggleAllBoxes() {
67 67 </tr>
68 68 </table><p/>
69 69 <small><i>(Hover the method name to see the test class name)</i></small><p/>
  70 +<table width='100%' border='1' class='invocation-failed'>
  71 +<tr><td colspan='4' align='center'><b>FAILED CONFIGURATIONS</b></td></tr>
  72 +<tr><td><b>Test method</b></td>
  73 +<td width="30%"><b>Exception</b></td>
  74 +<td width="10%"><b>Time (seconds)</b></td>
  75 +<td><b>Instance</b></td>
  76 +</tr>
  77 +<tr>
  78 +<td title='com.essa.testSuite.TestProductInquiry.setUp()'><b>setUp</b><br>Test class: com.essa.testSuite.TestProductInquiry</td>
  79 +<td><div><pre>org.openqa.selenium.NoSuchWindowException: no such window: target window already closed
  80 +from unknown error: web view not found
  81 + (Session info: chrome=69.0.3497.92)
  82 + (Driver info: chromedriver=2.41.578737 (49da6702b16031c40d63e5618de03a32ff6c197e),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
  83 +Command duration or timeout: 0 milliseconds
  84 +Build info: version: &apos;3.11.0&apos;, revision: &apos;e59cfb3&apos;, time: &apos;2018-03-11T20:26:55.152Z&apos;
  85 +System info: host: &apos;4F5EY2X7DB7A4UR&apos;, ip: &apos;192.168.1.241&apos;, os.name: &apos;Windows 10&apos;, os.arch: &apos;amd64&apos;, os.version: &apos;10.0&apos;, java.version: &apos;1.8.0_181&apos;
  86 +Driver info: org.openqa.selenium.chrome.ChromeDriver
  87 +Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 2.41.578737 (49da6702b16031..., userDataDir: C:\Users\ADMINI~1\AppData\L...}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:60429}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, rotatable: false, setWindowRect: true, takesHeapSnapshot: true, takesScreenshot: true, unexpectedAlertBehaviour: , unhandledPromptBehavior: , version: 69.0.3497.92, webStorageEnabled: true}
  88 +Session ID: da1afe504d58fa625211844ee43ef699
  89 +*** Element info: {Using=xpath, value=//*[@id=&apos;username&apos;]}
  90 + at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
  91 + at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
  92 + at org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40)
  93 + at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80)
  94 + at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44)
  95 + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
  96 + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
  97 + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)
  98 + at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:319)
  99 + at org.openqa.selenium.remote.RemoteWebDriver.findElementByXPath(RemoteWebDriver.java:421)
  100 + at org.openqa.selenium.By$ByXPath.findElement(By.java:361)
  101 + at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:311)
  102 + at org.openqa.selenium.support.pagefactory.DefaultElementLocator.findElement(DefaultElementLocator.java:69)
  103 + at org.openqa.selenium.support.pagefactory.internal.LocatingElementHandler.invoke(LocatingElementHandler.java:38)
  104 + at com.sun.proxy.$Proxy5.toString(Unknown Source)
  105 + at com.essa.framework.BasePage.sendKeys(BasePage.java:75)
  106 + at com.essa.pageObject.LoginPage.login(LoginPage.java:49)
  107 + at com.essa.pageObject.BaseTest.loginValid(BaseTest.java:56)
  108 + at com.essa.testSuite.TestProductInquiry.setUp(TestProductInquiry.java:26)
  109 + at swing.SwingMain$9$1.doInBackground(SwingMain.java:654)
  110 + at swing.SwingMain$9$1.doInBackground(SwingMain.java:1)
  111 + at javax.swing.SwingWorker$1.call(Unknown Source)
  112 + at java.util.concurrent.FutureTask.run(Unknown Source)
  113 + at javax.swing.SwingWorker.run(Unknown Source)
  114 + at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  115 + at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  116 + at java.lang.Thread.run(Unknown Source)
  117 +... Removed 27 stack frames</pre></div><a href='#' onClick='toggleBox("stack-trace1144850131", this, "Click to show all stack frames", "Click to hide stack frames")'>Click to show all stack frames</a>
  118 +<div class='stack-trace' id='stack-trace1144850131'><pre>org.openqa.selenium.NoSuchWindowException: no such window: target window already closed
  119 +from unknown error: web view not found
  120 + (Session info: chrome=69.0.3497.92)
  121 + (Driver info: chromedriver=2.41.578737 (49da6702b16031c40d63e5618de03a32ff6c197e),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
  122 +Command duration or timeout: 0 milliseconds
  123 +Build info: version: &apos;3.11.0&apos;, revision: &apos;e59cfb3&apos;, time: &apos;2018-03-11T20:26:55.152Z&apos;
  124 +System info: host: &apos;4F5EY2X7DB7A4UR&apos;, ip: &apos;192.168.1.241&apos;, os.name: &apos;Windows 10&apos;, os.arch: &apos;amd64&apos;, os.version: &apos;10.0&apos;, java.version: &apos;1.8.0_181&apos;
  125 +Driver info: org.openqa.selenium.chrome.ChromeDriver
  126 +Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 2.41.578737 (49da6702b16031..., userDataDir: C:\Users\ADMINI~1\AppData\L...}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:60429}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, rotatable: false, setWindowRect: true, takesHeapSnapshot: true, takesScreenshot: true, unexpectedAlertBehaviour: , unhandledPromptBehavior: , version: 69.0.3497.92, webStorageEnabled: true}
  127 +Session ID: da1afe504d58fa625211844ee43ef699
  128 +*** Element info: {Using=xpath, value=//*[@id=&apos;username&apos;]}
  129 + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  130 + at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
  131 + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
  132 + at java.lang.reflect.Constructor.newInstance(Unknown Source)
  133 + at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
  134 + at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
  135 + at org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40)
  136 + at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80)
  137 + at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44)
  138 + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
  139 + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
  140 + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)
  141 + at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:319)
  142 + at org.openqa.selenium.remote.RemoteWebDriver.findElementByXPath(RemoteWebDriver.java:421)
  143 + at org.openqa.selenium.By$ByXPath.findElement(By.java:361)
  144 + at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:311)
  145 + at org.openqa.selenium.support.pagefactory.DefaultElementLocator.findElement(DefaultElementLocator.java:69)
  146 + at org.openqa.selenium.support.pagefactory.internal.LocatingElementHandler.invoke(LocatingElementHandler.java:38)
  147 + at com.sun.proxy.$Proxy5.toString(Unknown Source)
  148 + at com.essa.framework.BasePage.sendKeys(BasePage.java:75)
  149 + at com.essa.pageObject.LoginPage.login(LoginPage.java:49)
  150 + at com.essa.pageObject.BaseTest.loginValid(BaseTest.java:56)
  151 + at com.essa.testSuite.TestProductInquiry.setUp(TestProductInquiry.java:26)
  152 + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  153 + at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  154 + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  155 + at java.lang.reflect.Method.invoke(Unknown Source)
  156 + at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
  157 + at org.testng.internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:59)
  158 + at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:458)
  159 + at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:222)
  160 + at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:142)
  161 + at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:168)
  162 + at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:105)
  163 + at org.testng.TestRunner.privateRun(TestRunner.java:648)
  164 + at org.testng.TestRunner.run(TestRunner.java:505)
  165 + at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
  166 + at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
  167 + at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
  168 + at org.testng.SuiteRunner.run(SuiteRunner.java:364)
  169 + at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
  170 + at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
  171 + at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
  172 + at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
  173 + at org.testng.TestNG.runSuites(TestNG.java:1049)
  174 + at org.testng.TestNG.run(TestNG.java:1017)
  175 + at swing.SwingMain$9$1.doInBackground(SwingMain.java:654)
  176 + at swing.SwingMain$9$1.doInBackground(SwingMain.java:1)
  177 + at javax.swing.SwingWorker$1.call(Unknown Source)
  178 + at java.util.concurrent.FutureTask.run(Unknown Source)
  179 + at javax.swing.SwingWorker.run(Unknown Source)
  180 + at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  181 + at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  182 + at java.lang.Thread.run(Unknown Source)
  183 +</pre></div></td>
  184 +<td>5</td>
  185 +<td>com.essa.testSuite.TestProductInquiry@34f66c96</td></tr>
  186 +</table><p>
  187 +<table width='100%' border='1' class='invocation-skipped'>
  188 +<tr><td colspan='4' align='center'><b>SKIPPED CONFIGURATIONS</b></td></tr>
  189 +<tr><td><b>Test method</b></td>
  190 +<td width="30%"><b>Exception</b></td>
  191 +<td width="10%"><b>Time (seconds)</b></td>
  192 +<td><b>Instance</b></td>
  193 +</tr>
  194 +<tr>
  195 +<td title='com.essa.testSuite.TestProductInquiry.tearDown()'><b>tearDown</b><br>Test class: com.essa.testSuite.TestProductInquiry</td>
  196 +<td></td>
  197 +<td>0</td>
  198 +<td>com.essa.testSuite.TestProductInquiry@34f66c96</td></tr>
  199 +</table><p>
70 200 <table width='100%' border='1' class='invocation-passed'>
71 201 <tr><td colspan='4' align='center'><b>PASSED TESTS</b></td></tr>
72 202 <tr><td><b>Test method</b></td>
... ... @@ -77,13 +207,125 @@ function toggleAllBoxes() {
77 207 <tr>
78 208 <td title='com.buyer.testSuite.TestAddToCart.keywordToCart()'><b>keywordToCart</b><br>Test class: com.buyer.testSuite.TestAddToCart<br>Test method: 关键字搜索,并将sku加入购物车</td>
79 209 <td></td>
80   -<td>23</td>
81   -<td>com.buyer.testSuite.TestAddToCart@1f2f0f50</td></tr>
  210 +<td>20</td>
  211 +<td>com.buyer.testSuite.TestAddToCart@78b69ec7</td></tr>
  212 +</table><p>
  213 +<table width='100%' border='1' class='invocation-skipped'>
  214 +<tr><td colspan='4' align='center'><b>SKIPPED TESTS</b></td></tr>
  215 +<tr><td><b>Test method</b></td>
  216 +<td width="30%"><b>Exception</b></td>
  217 +<td width="10%"><b>Time (seconds)</b></td>
  218 +<td><b>Instance</b></td>
  219 +</tr>
82 220 <tr>
83 221 <td title='com.essa.testSuite.TestProductInquiry.productInquiry()'><b>productInquiry</b><br>Test class: com.essa.testSuite.TestProductInquiry<br>Test method: 成品询价流程</td>
84   -<td></td>
85   -<td>18</td>
86   -<td>com.essa.testSuite.TestProductInquiry@7346ae3e</td></tr>
  222 +<td><div><pre>org.openqa.selenium.NoSuchWindowException: no such window: target window already closed
  223 +from unknown error: web view not found
  224 + (Session info: chrome=69.0.3497.92)
  225 + (Driver info: chromedriver=2.41.578737 (49da6702b16031c40d63e5618de03a32ff6c197e),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
  226 +Command duration or timeout: 0 milliseconds
  227 +Build info: version: &apos;3.11.0&apos;, revision: &apos;e59cfb3&apos;, time: &apos;2018-03-11T20:26:55.152Z&apos;
  228 +System info: host: &apos;4F5EY2X7DB7A4UR&apos;, ip: &apos;192.168.1.241&apos;, os.name: &apos;Windows 10&apos;, os.arch: &apos;amd64&apos;, os.version: &apos;10.0&apos;, java.version: &apos;1.8.0_181&apos;
  229 +Driver info: org.openqa.selenium.chrome.ChromeDriver
  230 +Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 2.41.578737 (49da6702b16031..., userDataDir: C:\Users\ADMINI~1\AppData\L...}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:60429}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, rotatable: false, setWindowRect: true, takesHeapSnapshot: true, takesScreenshot: true, unexpectedAlertBehaviour: , unhandledPromptBehavior: , version: 69.0.3497.92, webStorageEnabled: true}
  231 +Session ID: da1afe504d58fa625211844ee43ef699
  232 +*** Element info: {Using=xpath, value=//*[@id=&apos;username&apos;]}
  233 + at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
  234 + at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
  235 + at org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40)
  236 + at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80)
  237 + at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44)
  238 + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
  239 + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
  240 + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)
  241 + at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:319)
  242 + at org.openqa.selenium.remote.RemoteWebDriver.findElementByXPath(RemoteWebDriver.java:421)
  243 + at org.openqa.selenium.By$ByXPath.findElement(By.java:361)
  244 + at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:311)
  245 + at org.openqa.selenium.support.pagefactory.DefaultElementLocator.findElement(DefaultElementLocator.java:69)
  246 + at org.openqa.selenium.support.pagefactory.internal.LocatingElementHandler.invoke(LocatingElementHandler.java:38)
  247 + at com.sun.proxy.$Proxy5.toString(Unknown Source)
  248 + at com.essa.framework.BasePage.sendKeys(BasePage.java:75)
  249 + at com.essa.pageObject.LoginPage.login(LoginPage.java:49)
  250 + at com.essa.pageObject.BaseTest.loginValid(BaseTest.java:56)
  251 + at com.essa.testSuite.TestProductInquiry.setUp(TestProductInquiry.java:26)
  252 + at swing.SwingMain$9$1.doInBackground(SwingMain.java:654)
  253 + at swing.SwingMain$9$1.doInBackground(SwingMain.java:1)
  254 + at javax.swing.SwingWorker$1.call(Unknown Source)
  255 + at java.util.concurrent.FutureTask.run(Unknown Source)
  256 + at javax.swing.SwingWorker.run(Unknown Source)
  257 + at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  258 + at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  259 + at java.lang.Thread.run(Unknown Source)
  260 +... Removed 27 stack frames</pre></div><a href='#' onClick='toggleBox("stack-trace304290466", this, "Click to show all stack frames", "Click to hide stack frames")'>Click to show all stack frames</a>
  261 +<div class='stack-trace' id='stack-trace304290466'><pre>org.openqa.selenium.NoSuchWindowException: no such window: target window already closed
  262 +from unknown error: web view not found
  263 + (Session info: chrome=69.0.3497.92)
  264 + (Driver info: chromedriver=2.41.578737 (49da6702b16031c40d63e5618de03a32ff6c197e),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
  265 +Command duration or timeout: 0 milliseconds
  266 +Build info: version: &apos;3.11.0&apos;, revision: &apos;e59cfb3&apos;, time: &apos;2018-03-11T20:26:55.152Z&apos;
  267 +System info: host: &apos;4F5EY2X7DB7A4UR&apos;, ip: &apos;192.168.1.241&apos;, os.name: &apos;Windows 10&apos;, os.arch: &apos;amd64&apos;, os.version: &apos;10.0&apos;, java.version: &apos;1.8.0_181&apos;
  268 +Driver info: org.openqa.selenium.chrome.ChromeDriver
  269 +Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 2.41.578737 (49da6702b16031..., userDataDir: C:\Users\ADMINI~1\AppData\L...}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:60429}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, rotatable: false, setWindowRect: true, takesHeapSnapshot: true, takesScreenshot: true, unexpectedAlertBehaviour: , unhandledPromptBehavior: , version: 69.0.3497.92, webStorageEnabled: true}
  270 +Session ID: da1afe504d58fa625211844ee43ef699
  271 +*** Element info: {Using=xpath, value=//*[@id=&apos;username&apos;]}
  272 + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  273 + at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
  274 + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
  275 + at java.lang.reflect.Constructor.newInstance(Unknown Source)
  276 + at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
  277 + at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
  278 + at org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40)
  279 + at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80)
  280 + at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44)
  281 + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
  282 + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
  283 + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)
  284 + at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:319)
  285 + at org.openqa.selenium.remote.RemoteWebDriver.findElementByXPath(RemoteWebDriver.java:421)
  286 + at org.openqa.selenium.By$ByXPath.findElement(By.java:361)
  287 + at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:311)
  288 + at org.openqa.selenium.support.pagefactory.DefaultElementLocator.findElement(DefaultElementLocator.java:69)
  289 + at org.openqa.selenium.support.pagefactory.internal.LocatingElementHandler.invoke(LocatingElementHandler.java:38)
  290 + at com.sun.proxy.$Proxy5.toString(Unknown Source)
  291 + at com.essa.framework.BasePage.sendKeys(BasePage.java:75)
  292 + at com.essa.pageObject.LoginPage.login(LoginPage.java:49)
  293 + at com.essa.pageObject.BaseTest.loginValid(BaseTest.java:56)
  294 + at com.essa.testSuite.TestProductInquiry.setUp(TestProductInquiry.java:26)
  295 + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  296 + at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  297 + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  298 + at java.lang.reflect.Method.invoke(Unknown Source)
  299 + at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
  300 + at org.testng.internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:59)
  301 + at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:458)
  302 + at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:222)
  303 + at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:142)
  304 + at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:168)
  305 + at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:105)
  306 + at org.testng.TestRunner.privateRun(TestRunner.java:648)
  307 + at org.testng.TestRunner.run(TestRunner.java:505)
  308 + at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
  309 + at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
  310 + at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
  311 + at org.testng.SuiteRunner.run(SuiteRunner.java:364)
  312 + at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
  313 + at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
  314 + at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
  315 + at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
  316 + at org.testng.TestNG.runSuites(TestNG.java:1049)
  317 + at org.testng.TestNG.run(TestNG.java:1017)
  318 + at swing.SwingMain$9$1.doInBackground(SwingMain.java:654)
  319 + at swing.SwingMain$9$1.doInBackground(SwingMain.java:1)
  320 + at javax.swing.SwingWorker$1.call(Unknown Source)
  321 + at java.util.concurrent.FutureTask.run(Unknown Source)
  322 + at javax.swing.SwingWorker.run(Unknown Source)
  323 + at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  324 + at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  325 + at java.lang.Thread.run(Unknown Source)
  326 +</pre></div></td>
  327 +<td>0</td>
  328 +<td>com.essa.testSuite.TestProductInquiry@34f66c96</td></tr>
87 329 </table><p>
88 330 </body>
89 331 </html>
90 332 \ No newline at end of file
... ...
test-output/成品询价/productInquiry.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!-- Generated by org.testng.reporters.JUnitXMLReporter -->
3   -<testsuite ignored="1" hostname="A4O1M5DMPNJ0AZF" failures="0" tests="2" name="productInquiry" time="60.225" errors="0" timestamp="04 9月 2018 02:56:12 GMT">
4   - <testcase classname="com.buyer.testSuite.TestAddToCart" name="keywordToCart" time="23.097"/>
5   - <testcase classname="com.essa.testSuite.TestProductInquiry" name="productInquiry" time="18.216"/>
6   - <testcase classname="com.buyer.testSuite.TestAddToCart" name="addSku" time="0.0">
  3 +<testsuite hostname="4F5EY2X7DB7A4UR" ignored="1" name="productInquiry" tests="2" failures="0" timestamp="28 九月 2018 03:24:44 GMT" time="34.656" errors="0">
  4 + <testcase name="@BeforeClass setUp" time="5.246" classname="com.essa.testSuite.TestProductInquiry">
  5 + <failure type="org.openqa.selenium.NoSuchWindowException" message="no such window: target window already closed
  6 +from unknown error: web view not found
  7 + (Session info: chrome=69.0.3497.92)
  8 + (Driver info: chromedriver=2.41.578737 (49da6702b16031c40d63e5618de03a32ff6c197e),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
  9 +Command duration or timeout: 0 milliseconds
  10 +Build info: version: &amp;apos;3.11.0&amp;apos;, revision: &amp;apos;e59cfb3&amp;apos;, time: &amp;apos;2018-03-11T20:26:55.152Z&amp;apos;
  11 +System info: host: &amp;apos;4F5EY2X7DB7A4UR&amp;apos;, ip: &amp;apos;192.168.1.241&amp;apos;, os.name: &amp;apos;Windows 10&amp;apos;, os.arch: &amp;apos;amd64&amp;apos;, os.version: &amp;apos;10.0&amp;apos;, java.version: &amp;apos;1.8.0_181&amp;apos;
  12 +Driver info: org.openqa.selenium.chrome.ChromeDriver
  13 +Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 2.41.578737 (49da6702b16031..., userDataDir: C:\Users\ADMINI~1\AppData\L...}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:60429}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, rotatable: false, setWindowRect: true, takesHeapSnapshot: true, takesScreenshot: true, unexpectedAlertBehaviour: , unhandledPromptBehavior: , version: 69.0.3497.92, webStorageEnabled: true}
  14 +Session ID: da1afe504d58fa625211844ee43ef699
  15 +*** Element info: {Using=xpath, value=//*[@id=&amp;apos;username&amp;apos;]}">
  16 + <![CDATA[org.openqa.selenium.NoSuchWindowException: no such window: target window already closed
  17 +from unknown error: web view not found
  18 + (Session info: chrome=69.0.3497.92)
  19 + (Driver info: chromedriver=2.41.578737 (49da6702b16031c40d63e5618de03a32ff6c197e),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
  20 +Command duration or timeout: 0 milliseconds
  21 +Build info: version: '3.11.0', revision: 'e59cfb3', time: '2018-03-11T20:26:55.152Z'
  22 +System info: host: '4F5EY2X7DB7A4UR', ip: '192.168.1.241', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_181'
  23 +Driver info: org.openqa.selenium.chrome.ChromeDriver
  24 +Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 2.41.578737 (49da6702b16031..., userDataDir: C:\Users\ADMINI~1\AppData\L...}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:60429}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, rotatable: false, setWindowRect: true, takesHeapSnapshot: true, takesScreenshot: true, unexpectedAlertBehaviour: , unhandledPromptBehavior: , version: 69.0.3497.92, webStorageEnabled: true}
  25 +Session ID: da1afe504d58fa625211844ee43ef699
  26 +*** Element info: {Using=xpath, value=//*[@id='username']}
  27 +at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
  28 +at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
  29 +at org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40)
  30 +at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80)
  31 +at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44)
  32 +at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
  33 +at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
  34 +at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)
  35 +at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:319)
  36 +at org.openqa.selenium.remote.RemoteWebDriver.findElementByXPath(RemoteWebDriver.java:421)
  37 +at org.openqa.selenium.By$ByXPath.findElement(By.java:361)
  38 +at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:311)
  39 +at org.openqa.selenium.support.pagefactory.DefaultElementLocator.findElement(DefaultElementLocator.java:69)
  40 +at org.openqa.selenium.support.pagefactory.internal.LocatingElementHandler.invoke(LocatingElementHandler.java:38)
  41 +at com.sun.proxy.$Proxy5.toString(Unknown Source)
  42 +at com.essa.framework.BasePage.sendKeys(BasePage.java:75)
  43 +at com.essa.pageObject.LoginPage.login(LoginPage.java:49)
  44 +at com.essa.pageObject.BaseTest.loginValid(BaseTest.java:56)
  45 +at com.essa.testSuite.TestProductInquiry.setUp(TestProductInquiry.java:26)
  46 +at swing.SwingMain$9$1.doInBackground(SwingMain.java:654)
  47 +at swing.SwingMain$9$1.doInBackground(SwingMain.java:1)
  48 +at javax.swing.SwingWorker$1.call(Unknown Source)
  49 +at java.util.concurrent.FutureTask.run(Unknown Source)
  50 +at javax.swing.SwingWorker.run(Unknown Source)
  51 +at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  52 +at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  53 +at java.lang.Thread.run(Unknown Source)
  54 +... Removed 27 stack frames]]>
  55 + </failure>
  56 + </testcase> <!-- @BeforeClass setUp -->
  57 + <testcase name="@AfterClass tearDown" time="0.0" classname="com.essa.testSuite.TestProductInquiry">
  58 + <skipped/>
  59 + </testcase> <!-- @AfterClass tearDown -->
  60 + <testcase name="keywordToCart" time="20.938" classname="com.buyer.testSuite.TestAddToCart"/>
  61 + <testcase name="productInquiry" time="0.0" classname="com.essa.testSuite.TestProductInquiry">
  62 + <skipped/>
  63 + </testcase> <!-- productInquiry -->
  64 + <testcase name="addSku" time="0.0" classname="com.buyer.testSuite.TestAddToCart">
7 65 <ignored/>
8 66 </testcase> <!-- addSku -->
9 67 </testsuite> <!-- productInquiry -->
... ...
test-output/成品询价/testng-failed.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
3   -<suite name="Failed suite [成品询价]" guice-stage="DEVELOPMENT">
  3 +<suite guice-stage="DEVELOPMENT" name="Failed suite [成品询价]">
4 4 <test thread-count="5" name="productInquiry(failed)">
5 5 <classes>
6 6 <class name="com.essa.testSuite.TestProductInquiry">
... ...
test-output/提交PO/sendPO.html
... ... @@ -57,9 +57,9 @@ function toggleAllBoxes() {
57 57 <tr>
58 58 <td>Tests passed/Failed/Skipped:</td><td>4/0/0</td>
59 59 </tr><tr>
60   -<td>Started on:</td><td>Mon Sep 03 16:27:14 CST 2018</td>
  60 +<td>Started on:</td><td>Tue Oct 23 15:20:52 CST 2018</td>
61 61 </tr>
62   -<tr><td>Total time:</td><td>99 seconds (99569 ms)</td>
  62 +<tr><td>Total time:</td><td>95 seconds (95783 ms)</td>
63 63 </tr><tr>
64 64 <td>Included groups:</td><td></td>
65 65 </tr><tr>
... ... @@ -77,23 +77,23 @@ function toggleAllBoxes() {
77 77 <tr>
78 78 <td title='com.buyer.testSuite.TestAddToCart.addSku()'><b>addSku</b><br>Test class: com.buyer.testSuite.TestAddToCart<br>Test method: 将sku加入购物车</td>
79 79 <td></td>
80   -<td>12</td>
81   -<td>com.buyer.testSuite.TestAddToCart@14b27f40</td></tr>
  80 +<td>8</td>
  81 +<td>com.buyer.testSuite.TestAddToCart@4de69ef7</td></tr>
82 82 <tr>
83 83 <td title='com.buyer.testSuite.TestSendPO.conslidation()'><b>conslidation</b><br>Test class: com.buyer.testSuite.TestSendPO<br>Test method: 开始拼柜</td>
84 84 <td></td>
85   -<td>29</td>
86   -<td>com.buyer.testSuite.TestSendPO@47b60fe8</td></tr>
  85 +<td>28</td>
  86 +<td>com.buyer.testSuite.TestSendPO@6c615156</td></tr>
87 87 <tr>
88 88 <td title='com.essa.testSuite.TestProductInquiry.productInquiry()'><b>productInquiry</b><br>Test class: com.essa.testSuite.TestProductInquiry<br>Test method: 成品询价流程</td>
89 89 <td></td>
90   -<td>15</td>
91   -<td>com.essa.testSuite.TestProductInquiry@14485d7</td></tr>
  90 +<td>16</td>
  91 +<td>com.essa.testSuite.TestProductInquiry@2ebbddfb</td></tr>
92 92 <tr>
93 93 <td title='com.buyer.testSuite.TestSendPO.sendPO()'><b>sendPO</b><br>Test class: com.buyer.testSuite.TestSendPO<br>Test method: 设置贴纸唛头,提交PO</td>
94 94 <td></td>
95   -<td>12</td>
96   -<td>com.buyer.testSuite.TestSendPO@47b60fe8</td></tr>
  95 +<td>17</td>
  96 +<td>com.buyer.testSuite.TestSendPO@6c615156</td></tr>
97 97 </table><p>
98 98 </body>
99 99 </html>
100 100 \ No newline at end of file
... ...
test-output/提交PO/sendPO.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!-- Generated by org.testng.reporters.JUnitXMLReporter -->
3   -<testsuite ignored="1" hostname="A4O1M5DMPNJ0AZF" failures="0" tests="4" name="sendPO" time="99.569" errors="0" timestamp="03 9月 2018 08:28:53 GMT">
4   - <testcase classname="com.buyer.testSuite.TestAddToCart" name="addSku" time="12.739"/>
5   - <testcase classname="com.essa.testSuite.TestProductInquiry" name="productInquiry" time="15.888"/>
6   - <testcase classname="com.buyer.testSuite.TestSendPO" name="conslidation" time="29.695"/>
7   - <testcase classname="com.buyer.testSuite.TestSendPO" name="sendPO" time="12.651"/>
8   - <testcase classname="com.buyer.testSuite.TestAddToCart" name="keywordToCart" time="0.0">
  3 +<testsuite hostname="4F5EY2X7DB7A4UR" ignored="1" name="sendPO" tests="4" failures="0" timestamp="23 十月 2018 07:22:28 GMT" time="95.783" errors="0">
  4 + <testcase name="addSku" time="8.12" classname="com.buyer.testSuite.TestAddToCart"/>
  5 + <testcase name="productInquiry" time="16.265" classname="com.essa.testSuite.TestProductInquiry"/>
  6 + <testcase name="conslidation" time="28.233" classname="com.buyer.testSuite.TestSendPO"/>
  7 + <testcase name="sendPO" time="17.086" classname="com.buyer.testSuite.TestSendPO"/>
  8 + <testcase name="keywordToCart" time="0.0" classname="com.buyer.testSuite.TestAddToCart">
9 9 <ignored/>
10 10 </testcase> <!-- keywordToCart -->
11 11 </testsuite> <!-- sendPO -->
... ...
test-output/提交PO/testng-failed.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
3   -<suite name="Failed suite [提交PO]" guice-stage="DEVELOPMENT">
  3 +<suite guice-stage="DEVELOPMENT" name="Failed suite [提交PO]">
4 4 <test thread-count="5" name="sendPO(failed)">
5 5 <classes>
6 6 <class name="com.buyer.testSuite.TestSendPO">
7 7 <methods>
8 8 <include name="tearDown"/>
9 9 <include name="setUp"/>
  10 + <include name="conslidation"/>
10 11 <include name="sendPO"/>
11 12 </methods>
12 13 </class> <!-- com.buyer.testSuite.TestSendPO -->
... ...
test-output/新增原厂商品/addOriginalGoods.html
... ... @@ -57,9 +57,9 @@ function toggleAllBoxes() {
57 57 <tr>
58 58 <td>Tests passed/Failed/Skipped:</td><td>4/0/0</td>
59 59 </tr><tr>
60   -<td>Started on:</td><td>Fri Aug 31 17:06:04 CST 2018</td>
  60 +<td>Started on:</td><td>Tue Oct 23 15:34:40 CST 2018</td>
61 61 </tr>
62   -<tr><td>Total time:</td><td>67 seconds (67468 ms)</td>
  62 +<tr><td>Total time:</td><td>69 seconds (69357 ms)</td>
63 63 </tr><tr>
64 64 <td>Included groups:</td><td></td>
65 65 </tr><tr>
... ... @@ -77,23 +77,23 @@ function toggleAllBoxes() {
77 77 <tr>
78 78 <td title='com.essa.testSuite.TestAddOriginalGoods.auditOriginal()'><b>auditOriginal</b><br>Test class: com.essa.testSuite.TestAddOriginalGoods<br>Test method: 原厂商品审核</td>
79 79 <td></td>
80   -<td>13</td>
81   -<td>com.essa.testSuite.TestAddOriginalGoods@5c29e401</td></tr>
  80 +<td>14</td>
  81 +<td>com.essa.testSuite.TestAddOriginalGoods@74462b00</td></tr>
82 82 <tr>
83 83 <td title='com.essa.testSuite.TestAddOriginalGoods.getSkuNo()'><b>getSkuNo</b><br>Test class: com.essa.testSuite.TestAddOriginalGoods<br>Test method: 去商品库获取添加的sku编号</td>
84 84 <td></td>
85 85 <td>2</td>
86   -<td>com.essa.testSuite.TestAddOriginalGoods@5c29e401</td></tr>
  86 +<td>com.essa.testSuite.TestAddOriginalGoods@74462b00</td></tr>
87 87 <tr>
88 88 <td title='com.essa.testSuite.TestAddOriginalGoods.toAddOriginalGoodsPage()'><b>toAddOriginalGoodsPage</b><br>Test class: com.essa.testSuite.TestAddOriginalGoods<br>Test method: 原厂商品建档</td>
89 89 <td></td>
90   -<td>28</td>
91   -<td>com.essa.testSuite.TestAddOriginalGoods@5c29e401</td></tr>
  90 +<td>29</td>
  91 +<td>com.essa.testSuite.TestAddOriginalGoods@74462b00</td></tr>
92 92 <tr>
93 93 <td title='com.essa.testSuite.TestAddOriginalGoods.updatePic()'><b>updatePic</b><br>Test class: com.essa.testSuite.TestAddOriginalGoods<br>Test method: 更新图片</td>
94 94 <td></td>
95   -<td>12</td>
96   -<td>com.essa.testSuite.TestAddOriginalGoods@5c29e401</td></tr>
  95 +<td>14</td>
  96 +<td>com.essa.testSuite.TestAddOriginalGoods@74462b00</td></tr>
97 97 </table><p>
98 98 </body>
99 99 </html>
100 100 \ No newline at end of file
... ...
test-output/新增原厂商品/addOriginalGoods.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!-- Generated by org.testng.reporters.JUnitXMLReporter -->
3   -<testsuite ignored="0" hostname="A4O1M5DMPNJ0AZF" failures="0" tests="4" name="addOriginalGoods" time="67.468" errors="0" timestamp="31 8月 2018 09:07:12 GMT">
4   - <testcase classname="com.essa.testSuite.TestAddOriginalGoods" name="toAddOriginalGoodsPage" time="28.762"/>
5   - <testcase classname="com.essa.testSuite.TestAddOriginalGoods" name="updatePic" time="12.383"/>
6   - <testcase classname="com.essa.testSuite.TestAddOriginalGoods" name="auditOriginal" time="13.991"/>
7   - <testcase classname="com.essa.testSuite.TestAddOriginalGoods" name="getSkuNo" time="2.314"/>
  3 +<testsuite hostname="4F5EY2X7DB7A4UR" ignored="0" name="addOriginalGoods" tests="4" failures="0" timestamp="23 十月 2018 07:35:49 GMT" time="69.357" errors="0">
  4 + <testcase name="toAddOriginalGoodsPage" time="29.443" classname="com.essa.testSuite.TestAddOriginalGoods"/>
  5 + <testcase name="updatePic" time="14.799" classname="com.essa.testSuite.TestAddOriginalGoods"/>
  6 + <testcase name="auditOriginal" time="14.207" classname="com.essa.testSuite.TestAddOriginalGoods"/>
  7 + <testcase name="getSkuNo" time="2.285" classname="com.essa.testSuite.TestAddOriginalGoods"/>
8 8 </testsuite> <!-- addOriginalGoods -->
... ...
test-output/新增原厂商品/testng-failed.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
3   -<suite name="Failed suite [新增原厂商品]" guice-stage="DEVELOPMENT">
  3 +<suite guice-stage="DEVELOPMENT" name="Failed suite [新增原厂商品]">
4 4 <test thread-count="5" name="addOriginalGoods(failed)">
5 5 <classes>
6 6 <class name="com.essa.testSuite.TestAddOriginalGoods">
... ...
test-output/新增市场商品/addMarketGoods.html
... ... @@ -57,9 +57,9 @@ function toggleAllBoxes() {
57 57 <tr>
58 58 <td>Tests passed/Failed/Skipped:</td><td>3/0/0</td>
59 59 </tr><tr>
60   -<td>Started on:</td><td>Fri Aug 31 17:07:29 CST 2018</td>
  60 +<td>Started on:</td><td>Sun Sep 30 17:44:43 CST 2018</td>
61 61 </tr>
62   -<tr><td>Total time:</td><td>70 seconds (70125 ms)</td>
  62 +<tr><td>Total time:</td><td>68 seconds (68659 ms)</td>
63 63 </tr><tr>
64 64 <td>Included groups:</td><td></td>
65 65 </tr><tr>
... ... @@ -77,18 +77,18 @@ function toggleAllBoxes() {
77 77 <tr>
78 78 <td title='com.essa.testSuite.TestAddMarketGoods.addMarketGoods()'><b>addMarketGoods</b><br>Test class: com.essa.testSuite.TestAddMarketGoods<br>Test method: 市场商品建档</td>
79 79 <td></td>
80   -<td>39</td>
81   -<td>com.essa.testSuite.TestAddMarketGoods@6cf4bb3a</td></tr>
  80 +<td>37</td>
  81 +<td>com.essa.testSuite.TestAddMarketGoods@1b93ade2</td></tr>
82 82 <tr>
83 83 <td title='com.essa.testSuite.TestAddMarketGoods.auditMarketGoods()'><b>auditMarketGoods</b><br>Test class: com.essa.testSuite.TestAddMarketGoods<br>Test method: 市场商品审核</td>
84 84 <td></td>
85 85 <td>16</td>
86   -<td>com.essa.testSuite.TestAddMarketGoods@6cf4bb3a</td></tr>
  86 +<td>com.essa.testSuite.TestAddMarketGoods@1b93ade2</td></tr>
87 87 <tr>
88 88 <td title='com.essa.testSuite.TestAddMarketGoods.toMarketGoodsRelesePage()'><b>toMarketGoodsRelesePage</b><br>Test class: com.essa.testSuite.TestAddMarketGoods<br>Test method: 进入市场商品发布列表,选择采购商</td>
89 89 <td></td>
90 90 <td>5</td>
91   -<td>com.essa.testSuite.TestAddMarketGoods@6cf4bb3a</td></tr>
  91 +<td>com.essa.testSuite.TestAddMarketGoods@1b93ade2</td></tr>
92 92 </table><p>
93 93 </body>
94 94 </html>
95 95 \ No newline at end of file
... ...
test-output/新增市场商品/addMarketGoods.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!-- Generated by org.testng.reporters.JUnitXMLReporter -->
3   -<testsuite ignored="0" hostname="A4O1M5DMPNJ0AZF" failures="0" tests="3" name="addMarketGoods" time="70.125" errors="0" timestamp="31 8月 2018 09:08:39 GMT">
4   - <testcase classname="com.essa.testSuite.TestAddMarketGoods" name="toMarketGoodsRelesePage" time="5.328"/>
5   - <testcase classname="com.essa.testSuite.TestAddMarketGoods" name="addMarketGoods" time="39.085"/>
6   - <testcase classname="com.essa.testSuite.TestAddMarketGoods" name="auditMarketGoods" time="16.595"/>
  3 +<testsuite hostname="4F5EY2X7DB7A4UR" ignored="0" name="addMarketGoods" tests="3" failures="0" timestamp="30 九月 2018 09:45:52 GMT" time="68.659" errors="0">
  4 + <testcase name="toMarketGoodsRelesePage" time="5.513" classname="com.essa.testSuite.TestAddMarketGoods"/>
  5 + <testcase name="addMarketGoods" time="37.398" classname="com.essa.testSuite.TestAddMarketGoods"/>
  6 + <testcase name="auditMarketGoods" time="16.637" classname="com.essa.testSuite.TestAddMarketGoods"/>
7 7 </testsuite> <!-- addMarketGoods -->
... ...
test-output/采购商注册/buyerRegister.html
... ... @@ -55,11 +55,11 @@ function toggleAllBoxes() {
55 55 <body>
56 56 <h2 align='center'>buyerRegister</h2><table border='1' align="center">
57 57 <tr>
58   -<td>Tests passed/Failed/Skipped:</td><td>2/0/0</td>
  58 +<td>Tests passed/Failed/Skipped:</td><td>1/1/0</td>
59 59 </tr><tr>
60   -<td>Started on:</td><td>Fri Aug 31 17:13:37 CST 2018</td>
  60 +<td>Started on:</td><td>Sun Sep 30 17:50:13 CST 2018</td>
61 61 </tr>
62   -<tr><td>Total time:</td><td>31 seconds (31486 ms)</td>
  62 +<tr><td>Total time:</td><td>35 seconds (35407 ms)</td>
63 63 </tr><tr>
64 64 <td>Included groups:</td><td></td>
65 65 </tr><tr>
... ... @@ -67,6 +67,65 @@ function toggleAllBoxes() {
67 67 </tr>
68 68 </table><p/>
69 69 <small><i>(Hover the method name to see the test class name)</i></small><p/>
  70 +<table width='100%' border='1' class='invocation-failed'>
  71 +<tr><td colspan='4' align='center'><b>FAILED TESTS</b></td></tr>
  72 +<tr><td><b>Test method</b></td>
  73 +<td width="30%"><b>Exception</b></td>
  74 +<td width="10%"><b>Time (seconds)</b></td>
  75 +<td><b>Instance</b></td>
  76 +</tr>
  77 +<tr>
  78 +<td title='com.buyer.testSuite.TestRegister.register()'><b>register</b><br>Test class: com.buyer.testSuite.TestRegister<br>Test method: 填写注册采购商信息,注册采购商</td>
  79 +<td><div><pre>java.lang.AssertionError: The following asserts failed:
  80 + 采购商注册失败了! expected [true] but found [false]
  81 + at com.buyer.testSuite.TestRegister.register(TestRegister.java:39)
  82 + at swing.SwingMain$9$1.doInBackground(SwingMain.java:662)
  83 + at swing.SwingMain$9$1.doInBackground(SwingMain.java:1)
  84 + at javax.swing.SwingWorker$1.call(Unknown Source)
  85 + at java.util.concurrent.FutureTask.run(Unknown Source)
  86 + at javax.swing.SwingWorker.run(Unknown Source)
  87 + at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  88 + at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  89 + at java.lang.Thread.run(Unknown Source)
  90 +... Removed 23 stack frames</pre></div><a href='#' onClick='toggleBox("stack-trace612437569", this, "Click to show all stack frames", "Click to hide stack frames")'>Click to show all stack frames</a>
  91 +<div class='stack-trace' id='stack-trace612437569'><pre>java.lang.AssertionError: The following asserts failed:
  92 + 采购商注册失败了! expected [true] but found [false]
  93 + at org.testng.asserts.SoftAssert.assertAll(SoftAssert.java:43)
  94 + at com.buyer.testSuite.TestRegister.register(TestRegister.java:39)
  95 + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  96 + at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  97 + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  98 + at java.lang.reflect.Method.invoke(Unknown Source)
  99 + at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
  100 + at org.testng.internal.Invoker.invokeMethod(Invoker.java:583)
  101 + at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)
  102 + at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989)
  103 + at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
  104 + at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
  105 + at org.testng.TestRunner.privateRun(TestRunner.java:648)
  106 + at org.testng.TestRunner.run(TestRunner.java:505)
  107 + at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
  108 + at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
  109 + at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
  110 + at org.testng.SuiteRunner.run(SuiteRunner.java:364)
  111 + at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
  112 + at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
  113 + at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
  114 + at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
  115 + at org.testng.TestNG.runSuites(TestNG.java:1049)
  116 + at org.testng.TestNG.run(TestNG.java:1017)
  117 + at swing.SwingMain$9$1.doInBackground(SwingMain.java:662)
  118 + at swing.SwingMain$9$1.doInBackground(SwingMain.java:1)
  119 + at javax.swing.SwingWorker$1.call(Unknown Source)
  120 + at java.util.concurrent.FutureTask.run(Unknown Source)
  121 + at javax.swing.SwingWorker.run(Unknown Source)
  122 + at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  123 + at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  124 + at java.lang.Thread.run(Unknown Source)
  125 +</pre></div></td>
  126 +<td>16</td>
  127 +<td>com.buyer.testSuite.TestRegister@7fc399fa</td></tr>
  128 +</table><p>
70 129 <table width='100%' border='1' class='invocation-passed'>
71 130 <tr><td colspan='4' align='center'><b>PASSED TESTS</b></td></tr>
72 131 <tr><td><b>Test method</b></td>
... ... @@ -78,12 +137,7 @@ function toggleAllBoxes() {
78 137 <td title='com.essa.testSuite.TestGenrateCode.genrateCode()'><b>genrateCode</b><br>Test class: com.essa.testSuite.TestGenrateCode<br>Test method: 生成采购商注册邀请码</td>
79 138 <td></td>
80 139 <td>5</td>
81   -<td>com.essa.testSuite.TestGenrateCode@50a0c33c</td></tr>
82   -<tr>
83   -<td title='com.buyer.testSuite.TestRegister.register()'><b>register</b><br>Test class: com.buyer.testSuite.TestRegister<br>Test method: 填写注册采购商信息,注册采购商</td>
84   -<td></td>
85   -<td>10</td>
86   -<td>com.buyer.testSuite.TestRegister@423e6a09</td></tr>
  140 +<td>com.essa.testSuite.TestGenrateCode@28e0209a</td></tr>
87 141 </table><p>
88 142 </body>
89 143 </html>
90 144 \ No newline at end of file
... ...
test-output/采购商注册/buyerRegister.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!-- Generated by org.testng.reporters.JUnitXMLReporter -->
3   -<testsuite ignored="0" hostname="A4O1M5DMPNJ0AZF" failures="0" tests="2" name="buyerRegister" time="31.486" errors="0" timestamp="31 8月 2018 09:14:09 GMT">
4   - <testcase classname="com.essa.testSuite.TestGenrateCode" name="genrateCode" time="5.025"/>
5   - <testcase classname="com.buyer.testSuite.TestRegister" name="register" time="10.873"/>
  3 +<testsuite hostname="4F5EY2X7DB7A4UR" ignored="0" name="buyerRegister" tests="2" failures="1" timestamp="30 九月 2018 09:50:48 GMT" time="35.407" errors="0">
  4 + <testcase name="genrateCode" time="5.161" classname="com.essa.testSuite.TestGenrateCode"/>
  5 + <testcase name="register" time="16.367" classname="com.buyer.testSuite.TestRegister">
  6 + <failure type="java.lang.AssertionError" message="The following asserts failed:
  7 + 采购商注册失败了! expected [true] but found [false]">
  8 + <![CDATA[java.lang.AssertionError: The following asserts failed:
  9 +采购商注册失败了! expected [true] but found [false]
  10 +at com.buyer.testSuite.TestRegister.register(TestRegister.java:39)
  11 +at swing.SwingMain$9$1.doInBackground(SwingMain.java:662)
  12 +at swing.SwingMain$9$1.doInBackground(SwingMain.java:1)
  13 +at javax.swing.SwingWorker$1.call(Unknown Source)
  14 +at java.util.concurrent.FutureTask.run(Unknown Source)
  15 +at javax.swing.SwingWorker.run(Unknown Source)
  16 +at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  17 +at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  18 +at java.lang.Thread.run(Unknown Source)
  19 +... Removed 23 stack frames]]>
  20 + </failure>
  21 + </testcase> <!-- register -->
6 22 </testsuite> <!-- buyerRegister -->
... ...
test-output/采购商注册/testng-failed.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
3   -<suite name="Failed suite [采购商注册]" guice-stage="DEVELOPMENT">
  3 +<suite guice-stage="DEVELOPMENT" name="Failed suite [采购商注册]">
4 4 <test thread-count="5" name="buyerRegister(failed)">
5 5 <classes>
6   - <class name="com.essa.testSuite.TestGenrateCode">
7   - <methods>
8   - <include name="tearDown"/>
9   - <include name="setUp"/>
10   - <include name="genrateCode"/>
11   - </methods>
12   - </class> <!-- com.essa.testSuite.TestGenrateCode -->
13 6 <class name="com.buyer.testSuite.TestRegister">
14 7 <methods>
15 8 <include name="register"/>
... ...