<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>이것저것</title>
    <link>https://chigon.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Fri, 31 Jul 2026 16:42:22 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>알렉스대디</managingEditor>
    <image>
      <title>이것저것</title>
      <url>https://t1.daumcdn.net/cfile/tistory/992976455A63654331</url>
      <link>https://chigon.tistory.com</link>
    </image>
    <item>
      <title>MacOS에서 .DS_Store파일 생기지 않도록 설정하는 방법</title>
      <link>https://chigon.tistory.com/entry/MacOS%EC%97%90%EC%84%9C-DSStore%ED%8C%8C%EC%9D%BC-%EC%83%9D%EA%B8%B0%EC%A7%80-%EC%95%8A%EB%8F%84%EB%A1%9D-%EC%84%A4%EC%A0%95%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p&gt;mac을 쓰다보면, .DS_Store파일이 생기게 된다.&lt;/p&gt;
&lt;p&gt;Mac의 메타정보를 저장하는 파일이라고 하는데 없어도 상관없고,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;일일이 지우는 것도 귀찮으니, 아예 생성하지 않도록 설정할 수 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;터미널에서 아래와 같이 입력한 뒤, 재시작한다.&lt;/p&gt;
&lt;p&gt;defaults write com.apple.desktopservices DSDontWriteNetworkStores true&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;참고 : &lt;a href=&quot;https://support.apple.com/en-us/HT1629&quot;&gt;https://support.apple.com/en-us/HT1629&lt;/a&gt;&lt;/p&gt;</description>
      <category>System/MacOS</category>
      <category>.DS_Store</category>
      <category>macos</category>
      <author>알렉스대디</author>
      <guid isPermaLink="true">https://chigon.tistory.com/31</guid>
      <comments>https://chigon.tistory.com/entry/MacOS%EC%97%90%EC%84%9C-DSStore%ED%8C%8C%EC%9D%BC-%EC%83%9D%EA%B8%B0%EC%A7%80-%EC%95%8A%EB%8F%84%EB%A1%9D-%EC%84%A4%EC%A0%95%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95#entry31comment</comments>
      <pubDate>Tue, 11 Feb 2020 15:14:53 +0900</pubDate>
    </item>
    <item>
      <title>selenium javascript 로딩 완료될때 까지 wait 하기</title>
      <link>https://chigon.tistory.com/entry/selenium-javascript-%EB%A1%9C%EB%94%A9-%EC%99%84%EB%A3%8C%EB%90%A0%EB%95%8C-%EA%B9%8C%EC%A7%80-wait-%ED%95%98%EA%B8%B0</link>
      <description>&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important; overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0; padding:0; border:none; background-color:#fafafa; border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px; border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0; padding:0; word-break:normal; text-align:right; color:#666; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:130%&quot;&gt;&lt;div style=&quot;line-height:130%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;4&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0&quot;&gt;&lt;div style=&quot;margin:0; padding:0; color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:130%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;static&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;void&lt;/span&gt;&amp;nbsp;waitForLoad(WebDriver&amp;nbsp;driver)&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;WebDriverWait(driver,&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;30&lt;/span&gt;).until((ExpectedCondition&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;Boolean&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;)&amp;nbsp;wd&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((JavascriptExecutor)&amp;nbsp;wd).executeScript(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;return&amp;nbsp;document.readyState&quot;&lt;/span&gt;).&lt;span style=&quot;color:#066de2&quot;&gt;equals&lt;/span&gt;(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;complete&quot;&lt;/span&gt;));&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align:right; margin-top:-13px; margin-right:5px; font-size:9px; font-style:italic&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: rgb(229, 229, 229);&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom; padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>QA/Test Automation</category>
      <category>Automation</category>
      <category>java</category>
      <category>javascript</category>
      <category>Selenium</category>
      <category>Wait</category>
      <category>WebDriver</category>
      <author>알렉스대디</author>
      <guid isPermaLink="true">https://chigon.tistory.com/30</guid>
      <comments>https://chigon.tistory.com/entry/selenium-javascript-%EB%A1%9C%EB%94%A9-%EC%99%84%EB%A3%8C%EB%90%A0%EB%95%8C-%EA%B9%8C%EC%A7%80-wait-%ED%95%98%EA%B8%B0#entry30comment</comments>
      <pubDate>Thu, 19 Jul 2018 11:20:28 +0900</pubDate>
    </item>
    <item>
      <title>성능 테스트시 주로 사용하는 Shell 명령어 사용법</title>
      <link>https://chigon.tistory.com/entry/%EC%84%B1%EB%8A%A5-%ED%85%8C%EC%8A%A4%ED%8A%B8%EC%8B%9C-%EC%A3%BC%EB%A1%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-Shell-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%82%AC%EC%9A%A9%EB%B2%95</link>
      <description>&lt;h3&gt;awk&lt;/h3&gt;&lt;ul style=&quot;list-style-type: disc;&quot;&gt;&lt;li&gt;특정 패턴의 문자들을 원하는 포맷으로 변경하는 명령어&lt;/li&gt;&lt;li&gt;사용법&lt;/li&gt;&lt;ul style=&quot;list-style-type: disc;&quot;&gt;&lt;li&gt;awk [-F 구분자] [-f 파일명] [&quot;patten {action}&quot;] [처리할 file명]&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;사용예&lt;/li&gt;&lt;ul style=&quot;list-style-type: disc;&quot;&gt;&lt;li&gt;awk -F : &quot;{print $1, $6}&quot; ./text.txt&lt;/li&gt;&lt;ul style=&quot;list-style-type: disc;&quot;&gt;&lt;li&gt;text.txt 파일에서 &quot;:&quot; 구분자를 이용하여 1번째와 6번째 필드를 프린트하라.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;free -k | grep Mem | awk &quot;{print($2 $4 $6)}&quot;&amp;nbsp;&lt;/li&gt;&lt;ul style=&quot;list-style-type: disc;&quot;&gt;&lt;li&gt;free 명령어 수행 후 total, free, buff+cache 값을 출력하라&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;sed&lt;/h3&gt;&lt;ul style=&quot;list-style-type: disc;&quot;&gt;&lt;li&gt;grep 명령어와 같이 한 라인씩 표준 입력으로 읽고 치환 및 삭제를 하여 표준출력 해주는 명령어&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;table class=&quot;txc-table&quot; width=&quot;421&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;border: none; border-collapse: collapse; width: 421px;&quot; 맑은=&quot;&quot; 고딕&quot;,=&quot;&quot; sans-serif;font-size:13px&quot;=&quot;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width: 61px; height: 24px; border-width: 1px; border-style: solid; border-color: rgb(0, 0, 0); background-color: rgb(230, 230, 230); color: rgb(0, 0, 0);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&amp;nbsp;명령어&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 359px; height: 24px; border-bottom: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0); background-color: rgb(230, 230, 230); color: rgb(0, 0, 0);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;설명&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 61px; height: 24px; border-bottom: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0); background-color: transparent; color: rgb(0, 0, 0);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;a\&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 359px; height: 24px; border-bottom: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0); background-color: transparent; color: rgb(0, 0, 0);&quot;&gt;&lt;p&gt;&amp;nbsp;현재 행에 하나 이상의 새로운 행 추가&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 61px; height: 24px; border-bottom: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0); background-color: transparent; color: rgb(0, 0, 0);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;c\&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 359px; height: 24px; border-bottom: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0); background-color: transparent; color: rgb(0, 0, 0);&quot;&gt;&lt;p&gt;&amp;nbsp;현재 행에 새로운 내용으로 교체&amp;nbsp;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 61px; height: 24px; border-bottom: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0); background-color: transparent; color: rgb(0, 0, 0);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;d&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 359px; height: 24px; border-bottom: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0); background-color: transparent; color: rgb(0, 0, 0);&quot;&gt;&lt;p&gt;&amp;nbsp;행을 삭제&amp;nbsp;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 61px; height: 24px; border-bottom: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0); background-color: transparent; color: rgb(0, 0, 0);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;p&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 359px; height: 24px; border-bottom: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0); background-color: transparent; color: rgb(0, 0, 0);&quot;&gt;&lt;p&gt;&amp;nbsp;행을 출력&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 61px; height: 24px; border-bottom: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0); background-color: transparent; color: rgb(0, 0, 0);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;n&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 359px; height: 24px; border-bottom: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0); background-color: transparent; color: rgb(0, 0, 0);&quot;&gt;&lt;p&gt;&amp;nbsp;다음 입력행을 첫번째 명령어가 아닌 다음 명령어에서 처리&amp;nbsp;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 61px; height: 24px; border-bottom: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0); background-color: transparent; color: rgb(0, 0, 0);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;q&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 359px; height: 24px; border-bottom: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0); background-color: transparent; color: rgb(0, 0, 0);&quot;&gt;&lt;p&gt;&amp;nbsp;sed 종료&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 61px; height: 24px; border-bottom: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0); background-color: transparent; color: rgb(0, 0, 0);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;r&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 359px; height: 24px; border-bottom: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0); background-color: transparent; color: rgb(0, 0, 0);&quot;&gt;&lt;p&gt;&amp;nbsp;파일로부터 행을 읽어온다&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 61px; height: 24px; border-bottom: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0); background-color: transparent; color: rgb(0, 0, 0);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;s&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 359px; height: 24px; border-bottom: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0); background-color: transparent; color: rgb(0, 0, 0);&quot;&gt;&lt;p&gt;&amp;nbsp;문자열을 치환&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;h3&gt;sed 사용예&lt;/h3&gt;&lt;ul style=&quot;list-style-type: disc;&quot;&gt;&lt;li style=&quot;transition: all 0.3s;&quot;&gt;sed 's/old/new/' list.txt : list.txt파일의 old를 new로 치환하여 표준출력만 수행&lt;/li&gt;&lt;li style=&quot;transition: all 0.3s;&quot;&gt;sed 's/\t/\ /' list.txt : 탭 문자를 엔터로 치환&lt;/li&gt;&lt;li style=&quot;transition: all 0.3s;&quot;&gt;sed '/TD/d' list.txt : TD문자가 포함된 줄을 삭제하고 출력&lt;/li&gt;&lt;li style=&quot;transition: all 0.3s;&quot;&gt;sed '/Src/!d' list.txt : Src문자가 있는 줄만 지우지 않고 출력&lt;/li&gt;&lt;li style=&quot;transition: all 0.3s;&quot;&gt;sed '1,2d' list.txt : 1,2줄만 지우고 출력&lt;/li&gt;&lt;li style=&quot;transition: all 0.3s;&quot;&gt;sed '/^$/d' list.txt : 공백라인을 삭제&lt;/li&gt;&lt;li style=&quot;transition: all 0.3s;&quot;&gt;sed '1,3p' list.txt : 처음부터 3번째행까지 한번더 출력&lt;/li&gt;&lt;li style=&quot;transition: all 0.3s;&quot;&gt;sed '3,$d' list.txt : 3번째라인부터 마지막까지 삭제하고 출력&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3&gt;xargs&lt;/h3&gt;&lt;ul style=&quot;list-style-type: disc;&quot;&gt;&lt;li style=&quot;transition: all 0.3s;&quot;&gt;명령어의 출력을 다른 명령어의 인자값으로 전달하는 명령어&lt;/li&gt;&lt;li style=&quot;transition: all 0.3s;&quot;&gt;사용예&lt;/li&gt;&lt;ul style=&quot;list-style-type: disc;&quot;&gt;&lt;li style=&quot;transition: all 0.3s;&quot;&gt;find . -name &quot;*.log&quot; -print | xargs rm -rf&amp;nbsp;&lt;/li&gt;&lt;ul style=&quot;list-style-type: disc;&quot;&gt;&lt;li style=&quot;transition: all 0.3s;&quot;&gt;현재 디렉토리부터 하위디렉토리까지 검색되어 나오는 &amp;nbsp;.log로 끝나는 파일 모두를 rm -rf 명령어로 지워라.&lt;/li&gt;&lt;/ul&gt;&lt;li style=&quot;transition: all 0.3s;&quot;&gt;find . -name &quot;*.java&quot; print | xargs cat | grep System.out.println&lt;/li&gt;&lt;ul style=&quot;list-style-type: disc;&quot;&gt;&lt;li style=&quot;transition: all 0.3s;&quot;&gt;모든 .java로 끝나는 파일을 cat으로 읽고 System.out.println 구문만 출력하라&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>QA/Perfomance</category>
      <category>awk</category>
      <category>QA</category>
      <category>sed</category>
      <category>Shell</category>
      <category>xargs</category>
      <category>성능테스트tip</category>
      <author>알렉스대디</author>
      <guid isPermaLink="true">https://chigon.tistory.com/29</guid>
      <comments>https://chigon.tistory.com/entry/%EC%84%B1%EB%8A%A5-%ED%85%8C%EC%8A%A4%ED%8A%B8%EC%8B%9C-%EC%A3%BC%EB%A1%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-Shell-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%82%AC%EC%9A%A9%EB%B2%95#entry29comment</comments>
      <pubDate>Mon, 5 Mar 2018 19:58:53 +0900</pubDate>
    </item>
    <item>
      <title>JUnit에서 Fail된 Case를 재수행하기</title>
      <link>https://chigon.tistory.com/entry/JUnit%EC%97%90%EC%84%9C-Fail%EB%90%9C-Case%EB%A5%BC-%EC%9E%AC%EC%88%98%ED%96%89%ED%95%98%EA%B8%B0</link>
      <description>&lt;p&gt;Junit을 사용하여 테스트를 진행하고, 결과 중 fail된 case만 따로 다시 수행시켜보는 방법 보다는&lt;/p&gt;&lt;p&gt;fail된 case를 바로 더 돌리도록 해서 그 이후에 결과를 확인하는 것이 더 좋을 때가 있다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이럴 때는 TestRule을 이용해서 JUnit Retry를 구현하는 방법을 사용한다.&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important; overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0; padding:0; border:none; background-color:#fafafa; border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px; border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0; padding:0; word-break:normal; text-align:right; color:#666; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:120%&quot;&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;3&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;4&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;5&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;6&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;7&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;8&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;9&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;10&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;11&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;12&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;13&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;14&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;15&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;16&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;17&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;18&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;19&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;20&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;21&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;22&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;23&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;24&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;25&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;26&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;27&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;28&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;29&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;30&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;31&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;32&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;33&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;34&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;35&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;36&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;37&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;38&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;39&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0&quot;&gt;&lt;div style=&quot;margin:0; padding:0; color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:120%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;org.junit.rules.TestRule;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;org.junit.runner.Description;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;org.junit.runners.model.Statement;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;JUnitRetry&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;implements&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;TestRule&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;private&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(6, 109, 226); font-size: 9pt;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;retryCount;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;JUnitRetry(&lt;/span&gt;&lt;span style=&quot;color: rgb(6, 109, 226); font-size: 9pt;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;retryCount)&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;.retryCount&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;retryCount;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Override&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;Statement&amp;nbsp;apply(Statement&amp;nbsp;base,&amp;nbsp;Description&amp;nbsp;description)&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;statement(base,&amp;nbsp;description);&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;private&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;Statement&amp;nbsp;statement(&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;final&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;Statement&amp;nbsp;base,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;final&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;Description&amp;nbsp;description)&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;Statement()&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Override&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;evaluate()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;throws&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;Throwable&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Throwable&amp;nbsp;caughtThrowable&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(6, 109, 226); font-size: 9pt;&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 153, 153); font-size: 9pt;&quot;&gt;//&amp;nbsp;implement&amp;nbsp;retry&amp;nbsp;logic&amp;nbsp;here&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: rgb(6, 109, 226); font-size: 9pt;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 153, 204); font-size: 9pt;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;retryCount;&amp;nbsp;i&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;)&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;try&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;base.evaluate();&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;catch&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;(Throwable&amp;nbsp;t)&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;caughtThrowable&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;t;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(6, 109, 226); font-size: 9pt;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;.err.&lt;/span&gt;&lt;span style=&quot;color: rgb(6, 109, 226); font-size: 9pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;(description.getDisplayName()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(99, 163, 92); font-size: 9pt;&quot;&gt;&quot;:&amp;nbsp;run&amp;nbsp;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;(i&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 153, 204); font-size: 9pt;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(99, 163, 92); font-size: 9pt;&quot;&gt;&quot;&amp;nbsp;failed&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;);&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(6, 109, 226); font-size: 9pt;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;.err.&lt;/span&gt;&lt;span style=&quot;color: rgb(6, 109, 226); font-size: 9pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;(description.getDisplayName()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(99, 163, 92); font-size: 9pt;&quot;&gt;&quot;:&amp;nbsp;giving&amp;nbsp;up&amp;nbsp;after&amp;nbsp;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;retryCount&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(99, 163, 92); font-size: 9pt;&quot;&gt;&quot;&amp;nbsp;failures&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;);&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;throw&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;caughtThrowable;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align:right; margin-top:-13px; margin-right:5px; font-size:9px; font-style:italic&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: rgb(229, 229, 229);&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;Colored by Color Scripter&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom; padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;위와 같이 JUnitRetry 클래스를 만들어 놓고, 테스트코드에서는 Rule을 사용하여 Retry 를 몇번 할지 횟수만 지정하고&amp;nbsp;사용하면 된다.&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important; overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0; padding:0; border:none; background-color:#fafafa; border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px; border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0; padding:0; word-break:normal; text-align:right; color:#666; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:120%&quot;&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0&quot;&gt;&lt;div style=&quot;margin:0; padding:0; color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:120%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;@Rule&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;JUnitRetry&amp;nbsp;retry&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(167, 29, 93); font-size: 9pt;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp;JUnitRetry(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 153, 204); font-size: 9pt;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom; padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>QA/Test Automation</category>
      <category>Failed</category>
      <category>JUnit</category>
      <category>QA</category>
      <category>retry</category>
      <category>test</category>
      <category>테스트자동화</category>
      <author>알렉스대디</author>
      <guid isPermaLink="true">https://chigon.tistory.com/28</guid>
      <comments>https://chigon.tistory.com/entry/JUnit%EC%97%90%EC%84%9C-Fail%EB%90%9C-Case%EB%A5%BC-%EC%9E%AC%EC%88%98%ED%96%89%ED%95%98%EA%B8%B0#entry28comment</comments>
      <pubDate>Wed, 21 Feb 2018 23:01:01 +0900</pubDate>
    </item>
    <item>
      <title>판교에서 종로로 빠르게 퇴근하기</title>
      <link>https://chigon.tistory.com/entry/%ED%8C%90%EA%B5%90%EC%97%90%EC%84%9C-%EC%A2%85%EB%A1%9C%EB%A1%9C-%EB%B9%A0%EB%A5%B4%EA%B2%8C-%ED%87%B4%EA%B7%BC%ED%95%98%EA%B8%B0</link>
      <description>&lt;p&gt;판교에서 출퇴생활 벗어난지 1년이 넘었는데..&lt;/p&gt;&lt;p&gt;회의 때문에 다시 판교로 가야 된다 ㅠ.ㅠ&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;종로 방향으로 빠르게 퇴근하기 위해서는 9007번 버스 / 혹은 지하철을 이용해야 하는데,&amp;nbsp;&lt;/p&gt;&lt;p&gt;9003번 버스도 있다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;매번 까먹어서 여기에다가 적어놓고 생각날 때마다 봐야겠다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;&lt;b&gt;9003번 퇴근버스 &lt;/b&gt;(무정차 직행)&lt;/h3&gt;&lt;p&gt;&lt;u&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;SK플래닛 건물&lt;/span&gt;&lt;/u&gt; 앞에서 승차!&lt;/p&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;18:15분&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;18:45분&lt;/span&gt;&lt;/li&gt;&lt;li&gt;19:05분&lt;/li&gt;&lt;li&gt;&lt;strike&gt;19:35분&lt;/strike&gt; (최근 없어짐)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;사람이 많이 타기 때문에, 빠르게 승차해야 앉아갈 수 있다 ㅠ.ㅠ&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://naver.me/5gzcSzFn&quot; class=&quot;_spi_input_copyurl spi_input_copyurl&quot; style=&quot;color: rgb(34, 34, 34); background: none rgb(248, 248, 248); overflow: hidden; width: 218px; height: 25px; margin: 0px; cursor: pointer; display: inline; position: relative; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; line-height: 25px; vertical-align: middle; border-top: 1px solid rgb(216, 216, 216); border-right: 1px solid rgb(216, 216, 216); border-left: 1px solid rgb(216, 216, 216); border-bottom-style: solid; border-bottom-color: rgb(216, 216, 216); border-image: initial; font-family: 나눔고딕, NamumGothic, &amp;quot;Apple SD Gothic Neo&amp;quot;, 돋움, dotum, sans-serif; padding: 0px 9px !important;&quot;&gt;http://naver.me/5gzcSzFn&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>사는 이야기</category>
      <category>9003번</category>
      <category>9003번버스</category>
      <category>sk플래닛</category>
      <category>종로</category>
      <category>퇴근</category>
      <category>판교</category>
      <category>판교to종로</category>
      <author>알렉스대디</author>
      <guid isPermaLink="true">https://chigon.tistory.com/27</guid>
      <comments>https://chigon.tistory.com/entry/%ED%8C%90%EA%B5%90%EC%97%90%EC%84%9C-%EC%A2%85%EB%A1%9C%EB%A1%9C-%EB%B9%A0%EB%A5%B4%EA%B2%8C-%ED%87%B4%EA%B7%BC%ED%95%98%EA%B8%B0#entry27comment</comments>
      <pubDate>Mon, 19 Feb 2018 14:47:59 +0900</pubDate>
    </item>
    <item>
      <title>테스트 진행전 windows에서 chrome webdriver kill 하기</title>
      <link>https://chigon.tistory.com/entry/%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%A7%84%ED%96%89%EC%A0%84-windows%EC%97%90%EC%84%9C-chrome-webdriver-kill-%ED%95%98%EA%B8%B0</link>
      <description>&lt;p&gt;Windows에서 Selenium으로 UI자동화 진행하다보면, chromedriver.exe가 남아있어서 브라우저가 기동이 안될 경우가 있다.&lt;/p&gt;&lt;p&gt;driver.quit()을 꼼꼼히 호출해도 남아있는 경우가 있는데,&amp;nbsp;&lt;/p&gt;&lt;p&gt;jenkins 에서 pre-build 단계나, test진행 전 단계에 taskkill을 이용하는 것이 좋다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;windows batch command 수행 (jenkins pre-build)&lt;/h3&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: dashed; border-width: 1px; border-color: rgb(121, 165, 228); background-color: rgb(219, 232, 251); padding: 10px;&quot;&gt;&lt;p&gt;taskkill /f /fi &quot;pid gt 0&quot; /im chromedriver.exe&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;Java code에서 (BeforeClass)&lt;/h3&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: dashed; border-width: 1px; border-color: rgb(121, 165, 228); background-color: rgb(219, 232, 251); padding: 10px;&quot;&gt;&lt;p&gt;Runtime.getRuntime().exec(&quot;taskkill /f /fi /im chromedriver.exe&quot;);&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>QA/Test Automation</category>
      <category>chromedriver</category>
      <category>Process</category>
      <category>QA</category>
      <category>Selenium</category>
      <category>UI자동화</category>
      <category>테스트자동화</category>
      <author>알렉스대디</author>
      <guid isPermaLink="true">https://chigon.tistory.com/26</guid>
      <comments>https://chigon.tistory.com/entry/%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%A7%84%ED%96%89%EC%A0%84-windows%EC%97%90%EC%84%9C-chrome-webdriver-kill-%ED%95%98%EA%B8%B0#entry26comment</comments>
      <pubDate>Mon, 5 Feb 2018 13:47:55 +0900</pubDate>
    </item>
    <item>
      <title>apache, tomcat 연동 방법</title>
      <link>https://chigon.tistory.com/entry/apache-tomcat-%EC%97%B0%EB%8F%99-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;h3 inplace-header-id=&quot;0&quot; id=&quot;WEB+WAS연동-WEB+WAS연동&quot; style=&quot;margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-size: 16px; line-height: 1.5; font-family: Arial, Helvetica, &amp;quot;malgun gothic&amp;quot;, sans-serif;&quot;&gt;apache + tomcat&amp;nbsp;연동방법&lt;span class=&quot;cipe-edit-link-placeholder aui-icon aui-icon-small aui-iconfont-edit&quot; style=&quot;background-repeat: no-repeat; background-position: 0px 0px; border: none; display: inline-block; height: 16px; margin: 0px 0px 0px 8px; padding: 0px; text-indent: -999em; vertical-align: top; width: 16px; line-height: 0; position: relative; color: rgb(32, 80, 129); cursor: pointer;&quot;&gt;&lt;/span&gt;&lt;/h3&gt;&lt;ul style=&quot;margin: 10px 0px 0px; color: rgb(51, 51, 51); font-family: Arial, Helvetica, &amp;quot;malgun gothic&amp;quot;, sans-serif;&quot;&gt;&lt;li&gt;tomcat connector 설치&lt;ul style=&quot;margin: 0px;&quot;&gt;&lt;li&gt;yum install gcc* httpd-devel autoconf libtool&lt;/li&gt;&lt;li&gt;wget&amp;nbsp;&lt;a href=&quot;http://mirror.apache-kr.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.41-src.tar.gz&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot; style=&quot;color: rgb(53, 114, 176);&quot;&gt;http://mirror.apache-kr.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.41-src.tar.gz&lt;/a&gt;&lt;/li&gt;&lt;li&gt;tar zxvf tomcat-connectors-1.2.41-src.tar.gz&lt;/li&gt;&lt;li&gt;./buildconf.sh&lt;/li&gt;&lt;li&gt;./configure --with-apxs=/usr/bin/apxs&lt;/li&gt;&lt;li&gt;make&lt;/li&gt;&lt;li&gt;make install&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;/etc/httpd/moduels/mod_jk.so 파일 생성 확인&lt;/li&gt;&lt;li&gt;vi /etc/httpd/conf/httpd.conf&lt;ul style=&quot;margin: 0px;&quot;&gt;&lt;li&gt;LoadModule jk_module modules/mod_jk.so&lt;/li&gt;&lt;li&gt;Include conf/mod_jk.conf&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;margin: 0px; padding: 0px;&quot;&gt;vi /etc/httpd/conf/mod_jk.conf&lt;/p&gt;&lt;div class=&quot;preformatted panel conf-macro output-block&quot; data-hasbody=&quot;true&quot; data-macro-name=&quot;noformat&quot; style=&quot;margin: 10px 0px; padding: 0px; border: 1px solid rgb(204, 204, 204); overflow: auto; border-radius: 3px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot; style=&quot;margin: 0px; padding: 10px;&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; font-family: ConfluenceInstalledFont, monospace; line-height: 1.3;&quot;&gt;&amp;lt;IfModule mod_jk.c&amp;gt;
        JkWorkersFile &quot;/etc/httpd/conf/workers.properties&quot;
        JkLogFile &quot;/etc/httpd/logs/mod_jk.log&quot;
        JkLogLevel info
        JkAutoAlias &quot;/home/paralles/Dev/tomcat/webapps&quot;
        JkMount /*.jsp worker1
        JkUnMount /*.html worker1
        JkLogStampFormat &quot;[%a %b %d %H:%M:%S %Y]&quot;
&amp;lt;/IfModule&amp;gt;
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;margin: 0px; padding: 0px;&quot;&gt;vi /etc/httpd/conf/workers.properties&lt;/p&gt;&lt;div class=&quot;preformatted panel conf-macro output-block&quot; data-hasbody=&quot;true&quot; data-macro-name=&quot;noformat&quot; style=&quot;margin: 10px 0px; padding: 0px; border: 1px solid rgb(204, 204, 204); overflow: auto; border-radius: 3px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot; style=&quot;margin: 0px; padding: 10px;&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; font-family: ConfluenceInstalledFont, monospace; line-height: 1.3;&quot;&gt;worker.list = worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>System</category>
      <category>Apache</category>
      <category>mod_jk</category>
      <category>tomcat</category>
      <category>연동</category>
      <author>알렉스대디</author>
      <guid isPermaLink="true">https://chigon.tistory.com/25</guid>
      <comments>https://chigon.tistory.com/entry/apache-tomcat-%EC%97%B0%EB%8F%99-%EB%B0%A9%EB%B2%95#entry25comment</comments>
      <pubDate>Wed, 31 Jan 2018 14:31:39 +0900</pubDate>
    </item>
    <item>
      <title>selenide에서 mobile emulation 방법</title>
      <link>https://chigon.tistory.com/entry/selenide%EC%97%90%EC%84%9C-mobile-emulation-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;p&gt;selenide는 driver.close()나 wait() 등을 알아서 진행해주기 때문에 좀 더 스마트한 UI자동화 도구이다.&lt;/p&gt;&lt;p&gt;selenium은 사실 webdriver를 통한 브라우저 제어 도구에 좀 더 가깝다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;selenide에서 chrome webdriver를 세팅할때,&amp;nbsp;&lt;/p&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;selenide.browser&amp;nbsp;&lt;/li&gt;&lt;li&gt;webdriver.chrome.driver&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;위 두 프로퍼티를 설정하면, 알아서 UI브라우저 관리를 해주는데, 모바일 에뮬레이션을 하려고 할때는 아래와 같이 진행하면 된다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;단점은 모바일 에뮬레이션을 하면, 직접 browser(webdriver)를 close()를 해줘야 한다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important; overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0; padding:0; border:none; background-color:#fafafa; border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px; border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0; padding:0; word-break:normal; text-align:right; color:#666; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:120%&quot;&gt;&lt;div style=&quot;line-height:120%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;14&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;15&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;16&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;17&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;18&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;19&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;20&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;21&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;22&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;23&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;24&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0&quot;&gt;&lt;div style=&quot;margin:0; padding:0; color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:120%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;class&lt;/span&gt;&amp;nbsp;SelenideMWChromeTest&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Before&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;void&lt;/span&gt;&amp;nbsp;setUp()&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Map&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#066de2&quot;&gt;String&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;mobileEmulation&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;HashMap&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mobileEmulation.put(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;deviceName&quot;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;Nexus&amp;nbsp;5&quot;&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ChromeOptions&amp;nbsp;chromeOptions&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;ChromeOptions();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chromeOptions.setExperimentalOption(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;mobileEmulation&quot;&lt;/span&gt;,&amp;nbsp;mobileEmulation);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WebDriver&amp;nbsp;driver&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;ChromeDriver(chromeOptions);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WebDriverRunner.setWebDriver(driver);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Configuration.browser&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;WebDriverRunner.&lt;span style=&quot;color:#a71d5d&quot;&gt;class&lt;/span&gt;.getName();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@After&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;void&lt;/span&gt;&amp;nbsp;tearDown()&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;throws&lt;/span&gt;&amp;nbsp;Exception{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;close();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Test&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;void&lt;/span&gt;&amp;nbsp;testStep()&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;throws&lt;/span&gt;&amp;nbsp;Exception{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&amp;nbsp;중략&amp;nbsp;...&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align:right; margin-top:-13px; margin-right:5px; font-size:9px; font-style:italic&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: rgb(229, 229, 229);&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom; padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #799ebf}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #b097c9}
p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #a2ce76}
p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #e6e8e9; min-height: 15.0px}
p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #e6e8e9}
p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px}
span.s1 {color: #a2ce76}
span.s2 {color: #e6e8e9}
span.s3 {color: #ede7c4}
span.s4 {color: #799ebf}
span.s5 {color: #f28a00}
span.Apple-tab-span {white-space:pre}
&lt;/style&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>QA/Test Automation</category>
      <category>emulation</category>
      <category>JUnit</category>
      <category>mobile</category>
      <category>QA</category>
      <category>selenide</category>
      <category>WebDriver</category>
      <category>테스트자동화</category>
      <author>알렉스대디</author>
      <guid isPermaLink="true">https://chigon.tistory.com/24</guid>
      <comments>https://chigon.tistory.com/entry/selenide%EC%97%90%EC%84%9C-mobile-emulation-%EB%B0%A9%EB%B2%95#entry24comment</comments>
      <pubDate>Tue, 30 Jan 2018 18:16:51 +0900</pubDate>
    </item>
    <item>
      <title>junit 4.x 에서 csv파일로 data driven test 구현하기</title>
      <link>https://chigon.tistory.com/entry/junit-4x-%EC%97%90%EC%84%9C-csv%ED%8C%8C%EC%9D%BC%EB%A1%9C-data-driven-test-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0</link>
      <description>&lt;p style=&quot;text-align: left;&quot;&gt;junit 4.x에서 csv 파일을 읽어서 data driven testing을 구현하는 방법.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;junit 5에는&amp;nbsp;&lt;span style=&quot;color: rgb(51, 51, 51); font-family: Arial, Helvetica, &amp;quot;malgun gothic&amp;quot;, sans-serif;&quot;&gt;@CsvFileSource 라는게 이미 있지만, junit 4.x 에는 없어서 구현을 해야 한다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 51); font-family: Arial, Helvetica, &amp;quot;malgun gothic&amp;quot;, sans-serif;&quot;&gt;근데, 구글링 해보니, JUnitParams라는 아주 편리한 라이브러리가 있네.&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;p style=&quot;text-align: left;&quot;&gt;참고 :&amp;nbsp;&lt;a href=&quot;https://github.com/Pragmatists/JUnitParams&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://github.com/Pragmatists/JUnitParams&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style=&quot;text-align: left;&quot;&gt;여긴 Sample소스 :&amp;nbsp;&lt;a href=&quot;https://github.com/Pragmatists/JUnitParams/blob/master/src/test/java/junitparams/usage/SamplesOfUsageTest.java&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://github.com/Pragmatists/JUnitParams/blob/master/src/test/java/junitparams/usage/SamplesOfUsageTest.java&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;구현 방법도 쉽다.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;우선 maven pom.xml에 dependancy 추가하고&lt;/p&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important; overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0; padding:0; border:none; background-color:#fafafa; border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px 0&quot;&gt;&lt;div style=&quot;margin:0; padding:0; color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:120%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;dependency&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;groupId&lt;/span&gt;&amp;gt;pl.pragmatists&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;groupId&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;artifactId&lt;/span&gt;&amp;gt;JUnitParams&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;artifactId&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;version&lt;/span&gt;&amp;gt;1.1.1&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;version&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;scope&lt;/span&gt;&amp;gt;test&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;scope&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;dependency&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom; padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;테스트 코드에는 아래와 같이 구현하면 끝.&lt;/p&gt;&lt;p&gt;간단하고 편하네.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important; overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0; padding:0; border:none; background-color:#fafafa; border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px; border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0; padding:0; word-break:normal; text-align:right; color:#666; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:120%&quot;&gt;&lt;div style=&quot;line-height:120%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;10&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0&quot;&gt;&lt;div style=&quot;margin:0; padding:0; color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:120%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;import&lt;/span&gt;&amp;nbsp;junitparams.&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;*&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;@RunWith(JUnitParamsRunner.&lt;span style=&quot;color:#a71d5d&quot;&gt;class&lt;/span&gt;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;class&lt;/span&gt;&amp;nbsp;SamplesOfUsageTest&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Test&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@FileParameters(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;classpath:test.csv&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;void&lt;/span&gt;&amp;nbsp;loadParamsFromClasspath(&lt;span style=&quot;color:#066de2&quot;&gt;int&lt;/span&gt;&amp;nbsp;age,&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;String&lt;/span&gt;&amp;nbsp;name)&amp;nbsp;{&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;..&amp;nbsp;테스트&amp;nbsp;코드&amp;nbsp;작성&amp;nbsp;..&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align:right; margin-top:-13px; margin-right:5px; font-size:9px; font-style:italic&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: rgb(229, 229, 229);&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom; padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;csv 파일 말고, 다른 방법으로 하는 링크된 샘플코드에 많이 나와 있으니, 생략한다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>QA/Test Automation</category>
      <category>Automation</category>
      <category>CSV</category>
      <category>datadriventest</category>
      <category>java</category>
      <category>JUnit</category>
      <category>Junit4</category>
      <category>junitparams</category>
      <category>QA</category>
      <category>테스트자동화</category>
      <author>알렉스대디</author>
      <guid isPermaLink="true">https://chigon.tistory.com/23</guid>
      <comments>https://chigon.tistory.com/entry/junit-4x-%EC%97%90%EC%84%9C-csv%ED%8C%8C%EC%9D%BC%EB%A1%9C-data-driven-test-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0#entry23comment</comments>
      <pubDate>Tue, 30 Jan 2018 10:18:12 +0900</pubDate>
    </item>
    <item>
      <title>Rest-Assured를 활용한 API 테스트 자동화</title>
      <link>https://chigon.tistory.com/entry/RestAssured%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%9C-API-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%9E%90%EB%8F%99%ED%99%94</link>
      <description>&lt;p&gt;junit을 활용한 테스트 자동화에 익숙하다보니, api테스트 자동화 한다고 하면 request, response 동작을 위한 util 및 json / xml&amp;nbsp;parser 등을 모두 구현해서 사용했었는데,&amp;nbsp;&lt;/p&gt;&lt;p&gt;그동안 왜 그랬나 싶을 정도로,, Rest-Assured는 잘 만들어진 api 테스트 자동화 도구이다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;링크 :&amp;nbsp;&lt;a href=&quot;http://rest-assured.io/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://rest-assured.io/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;환경 구성이나, 손 쉬운 사용법은 위 링크의 User Guide 문서를 참고하면 사용할 수 있다.&lt;/p&gt;&lt;p&gt;그래도 자동화 하면, 쉬운 반복 수행 및 결과 리포팅이 중요하니, 아래와 같이 구성하자.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;빌드 도구 : maven (or gradle)&lt;/li&gt;&lt;li&gt;테스트 도구 : junit + rest-assured&lt;/li&gt;&lt;li&gt;리포트 : extent-report&lt;/li&gt;&lt;li&gt;통합 : Jenkins&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;환경 구성 (maven)&lt;/span&gt;&lt;/h2&gt;&lt;div&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important; overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0; padding:0; border:none; background-color:#fafafa; border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px 0&quot;&gt;&lt;div style=&quot;margin:0; padding:0; color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:120%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;dependencies&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;dependency&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;groupId&lt;/span&gt;&amp;gt;junit&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;groupId&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;artifactId&lt;/span&gt;&amp;gt;junit&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;artifactId&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;version&lt;/span&gt;&amp;gt;4.12&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;version&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;dependency&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;dependency&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;groupId&lt;/span&gt;&amp;gt;org.hamcrest&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;groupId&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;artifactId&lt;/span&gt;&amp;gt;hamcrest-all&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;artifactId&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;version&lt;/span&gt;&amp;gt;1.3&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;version&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;dependency&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;dependency&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;groupId&lt;/span&gt;&amp;gt;com.google.code.gson&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;groupId&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;artifactId&lt;/span&gt;&amp;gt;gson&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;artifactId&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;version&lt;/span&gt;&amp;gt;2.6.2&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;version&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;dependency&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;dependency&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;groupId&lt;/span&gt;&amp;gt;io.rest-assured&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;groupId&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;artifactId&lt;/span&gt;&amp;gt;rest-assured&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;artifactId&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;version&lt;/span&gt;&amp;gt;3.0.2&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;version&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;dependency&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;dependency&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;groupId&lt;/span&gt;&amp;gt;io.rest-assured&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;groupId&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;artifactId&lt;/span&gt;&amp;gt;json-path&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;artifactId&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;version&lt;/span&gt;&amp;gt;3.0.2&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;version&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;dependency&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;dependency&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;groupId&lt;/span&gt;&amp;gt;io.rest-assured&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;groupId&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;artifactId&lt;/span&gt;&amp;gt;xml-path&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;artifactId&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;version&lt;/span&gt;&amp;gt;3.0.2&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;version&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;dependency&lt;/span&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;dependency&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;groupId&lt;/span&gt;&amp;gt;com.aventstack&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;groupId&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;artifactId&lt;/span&gt;&amp;gt;extentreports&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;artifactId&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;version&lt;/span&gt;&amp;gt;3.0.1&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;version&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;dependency&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;dependencies&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom; padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;샘플 테스트 코드 예제&amp;nbsp;&lt;/span&gt;&lt;/h2&gt;&lt;div&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important; overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0; padding:0; border:none; background-color:#fafafa; border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px; border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0; padding:0; word-break:normal; text-align:right; color:#666; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:120%&quot;&gt;&lt;div style=&quot;line-height:120%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height:120%&quot;&gt;8&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0&quot;&gt;&lt;div style=&quot;margin:0; padding:0; color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:120%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;given()&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.header(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;Cookie&quot;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;Cookie-Value&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.contentType(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;application/x-www-form-urlencoded&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.body(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;Body&amp;nbsp;Message&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;.when()&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.post(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;http://www.naver.com/openapi/apitest?method=abcde&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;.then()&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:120%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.statusCode(&lt;span style=&quot;color:#0099cc&quot;&gt;200&lt;/span&gt;);&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align:right; margin-top:-13px; margin-right:5px; font-size:9px; font-style:italic&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: rgb(229, 229, 229);&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom; padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Extent-Report 세팅&lt;/span&gt;&lt;/h2&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;이전 포스팅 참고 :&lt;a href=&quot;http://chigon.tistory.com/entry/%EC%9E%90%EB%8F%99%ED%99%94%EC%97%90-extent-report-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&amp;nbsp;http://chigon.tistory.com/entry/%EC%9E%90%EB%8F%99%ED%99%94%EC%97%90-extent-report-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #e6e8e9}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #f28a00}
span.s1 {color: #ede7c4}
span.s2 {color: #f28a00}
span.s3 {color: #e6e8e9}
span.s4 {color: #799ebf}
span.s5 {text-decoration: underline ; color: #e6e8e9}
span.s6 {text-decoration: underline ; color: #ede7c4}
span.s7 {color: #ffd42b}
span.Apple-tab-span {white-space:pre}
&lt;/span&gt;&lt;/style&gt;&lt;h2&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Jenkins 연동&lt;/span&gt;&lt;/h2&gt;&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #000000}
span.Apple-tab-span {white-space:pre}
&lt;/style&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;Maven Project 생성 후&amp;nbsp; &amp;gt; Build Step에 mvn clean test 정도만 추가하면 완료&lt;/li&gt;&lt;li&gt;html publisher&amp;nbsp;plugin설정 후, 생성된 extent report 파일을 설정해주면 끝&lt;/li&gt;&lt;li&gt;html report에 CSS가 jenkins 권한 등의 문제로 수행이 안된다면,&amp;nbsp;&lt;/li&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;젠킨스 관리 &amp;gt; Script console 에서 아래 명령어를 넣어준다.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;pre class=&quot;default prettyprint prettyprinted&quot; style=&quot;margin-top: 0px; margin-bottom: 1em; padding: 5px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-stretch: inherit; line-height: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; vertical-align: baseline; width: auto; max-height: 600px; overflow: auto; background-color: rgb(239, 240, 241); color: rgb(57, 51, 24); word-wrap: normal;&quot;&gt;&lt;code style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span class=&quot;typ&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(43, 145, 175);&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;setProperty&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(125, 39, 39);&quot;&gt;&quot;hudson.model.DirectoryBrowserSupport.CSP&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt; &lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(125, 39, 39);&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;api 테스트 자동화를 Java 환경에서 진행한다면, rest-assured는 진짜 적극 검토해볼만하다~&amp;nbsp;&amp;nbsp;좋다~&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco}
span.s1 {text-decoration: underline ; color: #d1d6da}
span.Apple-tab-span {white-space:pre}
&lt;/style&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>QA/Test Automation</category>
      <category>API</category>
      <category>Automation</category>
      <category>extent-report</category>
      <category>Jenkins</category>
      <category>maven</category>
      <category>QA</category>
      <category>report</category>
      <category>REST</category>
      <category>rest-assured</category>
      <category>test</category>
      <category>테스트자동화</category>
      <author>알렉스대디</author>
      <guid isPermaLink="true">https://chigon.tistory.com/22</guid>
      <comments>https://chigon.tistory.com/entry/RestAssured%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%9C-API-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%9E%90%EB%8F%99%ED%99%94#entry22comment</comments>
      <pubDate>Sun, 28 Jan 2018 22:47:38 +0900</pubDate>
    </item>
  </channel>
</rss>