差異處
這裏顯示兩個版本的差異處。
Both sides previous revision 前次修改 下次修改 | 前次修改 | ||
rf:rf:unnecessarylog [2015/11/08 02:13] tony |
rf:rf:unnecessarylog [2023/06/25 09:48] (目前版本) |
||
---|---|---|---|
行 9: | 行 9: | ||
{{:rf:rf:rf_ignore_log_psc_eclipse.png?600|}}\\ | {{:rf:rf:rf_ignore_log_psc_eclipse.png?600|}}\\ | ||
\\ | \\ | ||
+ | ===== Category ===== | ||
以下是我針對參數數量所做的分類: | 以下是我針對參數數量所做的分類: | ||
(可以參考[[http://robotframework-seleniumlibrary.googlecode.com/hg/doc/SeleniumLibrary.html?r=2.9.1|官方文件]],確認你的測試中所用的keywords,哪些有支援loglevel的參數) | (可以參考[[http://robotframework-seleniumlibrary.googlecode.com/hg/doc/SeleniumLibrary.html?r=2.9.1|官方文件]],確認你的測試中所用的keywords,哪些有支援loglevel的參數) | ||
- | ===== Page Should Contain | Page Should Not Contain ===== | + | * [[rf:rf:unnecessarylog:psc|Page Should Contain | Page Should Not Contain]] |
- | ==== How to detect? ==== | + | * [[rf:rf:unnecessarylog:psce|Page Should Contain Element | Page Should Not Contain Element]] @TODO@ |
- | 以下圖為例,包含六個不必要的log,\\ | + | |
- | {{:rf:rf:rf_ignore_log_psc_robot.png?600|}}\\ | + | |
- | \\ | + | |
- | 我們要處理的情況,包含五種樣式:\\ | + | |
- | {{:rf:rf:rf_ignore_log_psc_robot_html.png?600|}}\\ | + | |
- | === 樣式A === | + | |
- | Keyword與參數皆在同一行,代表著Keyword被放在第二或第三的位置,而第四或第五則為空: | + | |
- | <code html> | + | |
- | <tr> | + | |
- | <td class="name"></td> | + | |
- | <td>Page Should Contain</td> | + | |
- | <td>${text}</td> | + | |
- | <td></td> | + | |
- | <td></td> | + | |
- | </tr> | + | |
- | </code> | + | |
- | 語法只要定義為${text}後的loglevel為空即可: | + | |
- | <code bash> | + | |
- | <td>Page Should (Not )?Contain</td>\s<td>.+</td>\s<td></td> | + | |
- | </code> | + | |
- | === 樣式B === | + | |
- | 在無內縮情況下,Keyword被放在第五個位置,因此參數text會跑到下一行的第三位置(第二位置為...),第四位置為空: | + | |
- | <code html> | + | |
- | <tr> | + | |
- | <td class="name"></td> | + | |
- | <td>Run Keyword If</td> | + | |
- | <td>${condition}</td> | + | |
- | <td>Run Keyword And Ignore Error</td> | + | |
- | <td>Page Should Contain</td> | + | |
- | </tr> | + | |
- | <tr> | + | |
- | <td class="name"></td> | + | |
- | <td>...</td> | + | |
- | <td>${text}</td> | + | |
- | <td></td> | + | |
- | <td></td> | + | |
- | </tr> | + | |
- | </code> | + | |
- | 由於${text}在下一行,所以語法要將樣式A的調整為,下一行${text}後的loglevel為空即可: | + | |
- | <code bash> | + | |
- | <td>Page Should (Not )?Contain</td>\s</tr>\s<tr>\s<td class="name"></td>\s<td>...</td>\s<td>.+</td>\s<td></td> | + | |
- | </code> | + | |
- | === 樣式C === | + | |
- | 在無內縮情況下,Keyword被放在第四個位置,第五位置為text: | + | |
- | <code html> | + | |
- | <tr> | + | |
- | <td class="name"></td> | + | |
- | <td>Run Keyword If</td> | + | |
- | <td>${condition}</td> | + | |
- | <td>Page Should Contain</td> | + | |
- | <td>${text}</td> | + | |
- | </tr> | + | |
- | </code> | + | |
- | 由於在有設定loglevel的情況下,必會在下一行,所以語法使用不包含的方式去做偵測: | + | |
- | <code bash> | + | |
- | <td>.+</td>\s<td>.+</td>\s<td>Page Should (Not )?Contain</td>\s<td>.+</td>\s</tr>(?!\s<tr>\s<td class="name"></td>\s<td>...</td>\s<td>NONE</td>)$ | + | |
- | </code> | + | |
- | === 樣式D === | + | |
- | 在有内縮的情況下,Keyword被放在第四個位置,第五位置為text: | + | |
- | <code html> | + | |
- | <tr> | + | |
- | <td class="name"></td> | + | |
- | <td></td> | + | |
- | <td>Run Keyword And Ignore Error</td> | + | |
- | <td>Page Should Contain</td> | + | |
- | <td>${text}</td> | + | |
- | </tr> | + | |
- | </code> | + | |
- | 由於在有設定loglevel的情況下,必會在下一行,所以語法使用不包含的方式去做偵測;與樣式C最大差異在於有内縮情況下,Keyword那行與loglevel那行都會有一個空格,因此語法有些微調整: | + | |
- | <code bash> | + | |
- | <td></td>\s<td>.+</td>\s<td>Page Should (Not )?Contain</td>\s<td>.+</td>\s</tr>(?!\s<tr>\s<td class="name"></td>\s<td></td>\s<td>...</td>\s<td>NONE</td>)$ | + | |
- | </code> | + | |
- | === 樣式E === | + | |
- | 在有内縮的情況下,Keyword被放在第五個位置,因此參數text會跑到下一行的第四位置,第五位置為空: | + | |
- | <code html> | + | |
- | <tr> | + | |
- | <td class="name"></td> | + | |
- | <td></td> | + | |
- | <td>Run Keyword If</td> | + | |
- | <td>${condition}</td> | + | |
- | <td>Page Should Contain</td> | + | |
- | </tr> | + | |
- | <tr> | + | |
- | <td class="name"></td> | + | |
- | <td></td> | + | |
- | <td>...</td> | + | |
- | <td>${text}</td> | + | |
- | <td></td> | + | |
- | </tr> | + | |
- | </code> | + | |
- | 與樣式A類似,主要區別是語法要定義為兩行的顯示方式: | + | |
- | <code bash> | + | |
- | <td></td>\s<td>.+</td>\s<td>.+</td>\s<td>Page Should (Not )?Contain</td>\s</tr>\s<tr>\s<td class="name"></td>\s<td></td>\s<td>...</td>\s<td>.+</td>\s<td></td> | + | |
- | </code> | + | |
- | === 樣式A+B+E === | + | |
- | 由於A、B、E的修改方式相同,因此我將偵測方式調整為一種: | + | |
- | <code bash> | + | |
- | <td>Page Should (Not )?Contain</td>\s(</tr>\s<tr>\s<td class="name"></td>\s(<td></td>\s)?<td>...</td>\s<td>.+</td>\s<td></td>|<td>.+</td>\s<td></td>) | + | |
- | </code> | + | |
- | ==== How to fix? ==== | + | |
- | 根據偵測方式,歸納為三種修正方法: | + | |
- | === 樣式A+B+E === | + | |
- | 由於偵測時都是針對${text}之後的loglevel為空白,因此我們只要將loglevel那欄改為NONE即可: | + | |
- | <code html> | + | |
- | <!-- 修改前 --> | + | |
- | <tr> | + | |
- | <td class="name"></td> | + | |
- | <td>Page Should Contain</td> | + | |
- | <td>${text}</td> | + | |
- | <td></td> | + | |
- | <td></td> | + | |
- | </tr> | + | |
- | <!-- 修改後 --> | + | |
- | <tr> | + | |
- | <td class="name"></td> | + | |
- | <td>Page Should Contain</td> | + | |
- | <td>${text}</td> | + | |
- | <td>NONE</td> | + | |
- | <td></td> | + | |
- | </tr> | + | |
- | </code> | + | |
- | === 樣式C === | + | |
- | 針對非內縮,插入新的一行,新行內容由第二欄開始: | + | |
- | <code html> | + | |
- | <!-- 修改前 --> | + | |
- | <tr> | + | |
- | <td class="name"></td> | + | |
- | <td>Run Keyword If</td> | + | |
- | <td>${condition}</td> | + | |
- | <td>Page Should Contain</td> | + | |
- | <td>${text}</td> | + | |
- | </tr> | + | |
- | <!-- 插入下方區塊 --> | + | |
- | <tr> | + | |
- | <td class="name"></td> | + | |
- | <td>...</td> | + | |
- | <td>NONE</td> | + | |
- | <td></td> | + | |
- | <td></td> | + | |
- | </tr> | + | |
- | </code> | + | |
- | === 樣式D === | + | |
- | 針對有內縮,插入新的一行,新行內容由第三欄開始: | + | |
- | <code html> | + | |
- | <!-- 修改前 --> | + | |
- | <tr> | + | |
- | <td class="name"></td> | + | |
- | <td></td> | + | |
- | <td>Run Keyword And Ignore Errror</td> | + | |
- | <td>Page Should Contain</td> | + | |
- | <td>${text}</td> | + | |
- | </tr> | + | |
- | <!-- 插入下方區塊 --> | + | |
- | <tr> | + | |
- | <td class="name"></td> | + | |
- | <td></td> | + | |
- | <td>...</td> | + | |
- | <td>NONE</td> | + | |
- | <td></td> | + | |
- | </tr> | + | |
- | </code> | + | |
- | ===== Page Should Contain Element | Page Should Not Contain Element ===== | + | |
- | (working...) | + | |
===== ===== | ===== ===== | ||
---- | ---- | ||
\\ | \\ | ||
~~DISQUS~~ | ~~DISQUS~~ |