差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

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~~