김빵디

Python+Selenium 테스트 결과값(unittest)을 간단한 HTML Report 로 추출해보자! 본문

외로운 싸움/Selenium

Python+Selenium 테스트 결과값(unittest)을 간단한 HTML Report 로 추출해보자!

김빵디 2022. 5. 27. 15:18
728x90

 

Html Test Runner를 설치해봅시다

pip install html-testRunner

cmd를 이용해서 scripts까지 들어가도 상관없는데 나는 vscode cmd창을 이용해서 설치했다

왜냐면... 간편하니깐....

 

무튼 ven 파일이름에 있는 Scripts로 경로이동을 해준다음에 install을 진행했다!

설치하고난후에 vscode 종료했다가 다시열어주자

계속반복하다가 적용되는데 시간이 걸리나.... 갑자기 된다..

 

그럼 시작!

 

import HtmlTestRunner

.
.
.

if __name__ == '__main__':
    reportfoler = "reportTest"
    
    unittest.main(testRunner=HtmlTestRunner.HTMLTestRunner(output=reportfoler))
    #실제 코드를 통해 테스트 수행

 

이렇게 코드를 돌려보면

폴더에 reportTest를 생성되고나서 안에 

이렇게 report가 만들어진걸 확인해볼수있다!

 

열어봤더니

 

PASS 성공한 테스트케이스 값이 보인다 :) 신기허네~~~

 


전체코드

from asyncio.log import logger
from cgitb import text
from ctypes.wintypes import MSG
import logging
from pydoc import classname
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import unittest
from bs4 import BeautifulSoup as bs
import pandas as pd
import requests as rq
import HtmlTestRunner


#def execution_search():
#    pass

#첫번째 Selenium Test 만들기
class one_tc(unittest.TestCase):
    

    def setUp(self): #전제조건(테스트 시작시 초기화된 값 정리)
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.driver.maximize_window()
        
        self.driver.get("http://www.google.com")
        

    def test_search_by_test(self):
        self.search_field = self.driver.find_element(By.NAME, "q")
        self.search_field_key = self.search_field.send_keys('리그 오브 레전드')
        self.search_field.submit()
        
        css_ele = self.driver.find_element(By.CSS_SELECTOR, '.LC20lb.MBeuO.DKV0Md')
        cnt_text = cnt_text = []
        css_text = css_ele.text
        print(f'텍스트:::{css_text}')
        
        cnt_text = len(css_text)
        print(f'len text:::{cnt_text}')
    
        result = self.assertEqual(int(9), cnt_text)
        print(f'결과:::{result}')
        
        
        
        #self.assertEqual(text1, text2)
                
        #execution_search()
        #메소드 단순 실행여부 판단

    
    #@classmethod
    def tearDown(self): #코드 해제
        self.driver.quit()   

    
if __name__ == '__main__':
    reportfoler = "reportTest"
    
    unittest.main(testRunner=HtmlTestRunner.HTMLTestRunner(output=reportfoler))
    #실제 코드를 통해 테스트 수행
728x90