728x90
이전, 참고하면 좋은 URL로 올린 블로그를 참고하여 간단하게 타이틀 비교 스크립트를 작성해보았다.
No. | 절차 | 기대 결과 |
1. | https://www.naver.com/ 진입 | 네이버 홈페이지로 이동 |
2. | 네이버 카페 선택 | 네이버 카페 페이지로 이동 |
3. | 네이버 블로그 선택 | 네이버 블로그 페이지로 이동 |
4. | 네이버 지식iN 선택 | 네이버 지식iN 페이지로 이동 |
이번에 확인해볼 TC는 위와 같다.
참고로 타이틀은 탭에 출력된 이름, 이 화면의 경우 'NAVER' 부분이다.
import selenium
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
url = "https://www.naver.com/"
driver.get(url)
time.sleep(2)
main_title = driver.title
if main_title == "NAVER":
#assert True
print(main_title, "타이틀 PASS")
else:
#assert False, "타이틀과 기대결과가 다릅니다."
print(main_title, "타이틀 FAIL")
time.sleep(1)
메인 화면 타이틀부터 비교했다.
메인 홈의 타이틀(main_title)이 "NAVER"와 같다면 PASS, 그렇지 않다면 FAIL이 출력될 것이다.
assert는 참고한 블로그에 써있기에 적어봤는데.. False가 나올 경우 콘솔이 종료돼버려서 주석 처리했다.
개념 자체도 모호해서 다음에 개념부터 정확히 잡을 필요가 있을 듯?
driver.find_element(By.XPATH,'//*[@id="NM_FAVORITE"]/div[1]/ul[1]/li[2]/a').click()
time.sleep(1)
cafe_title = driver.title
if cafe_title == "네이버 카페":
#assert True
print(cafe_title, "타이틀 PASS")
else:
#assert False, "타이틀과 기대결과가 다릅니다."
print(cafe_title, "타이틀 FAIL")
time.sleep(1)
그 후 click()으로 카페 화면으로 진입한 뒤 결과 값을 출력해준다.
if문은 메인 타이틀과 동일하다.
driver.get(url)
time.sleep(1)
driver.find_element(By.XPATH,'//*[@id="NM_FAVORITE"]/div[1]/ul[1]/li[3]/a').click()
time.sleep(1)
blog_title = driver.title
if blog_title == "네이버 쁠로그":
#assert True
print(blog_title, "타이틀 PASS")
else:
#assert False, "타이틀과 기대결과가 다릅니다."
print(blog_title, "타이틀 FAIL")
time.sleep(1)
그 후 다시 메인으로 넘어가 이젠 블로그로 진입하여 결과 값을 출력해준다.
FAIL가 출력되는 경우도 보기 위해 일부러 "네이버 쁠로그"로 틀리게 작성하였으므로 FAIL이 출력될 것이다.
driver.get(url)
time.sleep(1)
driver.find_element(By.XPATH,'//*[@id="NM_FAVORITE"]/div[1]/ul[1]/li[4]/a').click()
time.sleep(1)
knowledge_title = driver.title
if knowledge_title == "네이버 지식iN":
#assert True
print(knowledge_title, "타이틀 PASS")
else:
#assert False, "타이틀과 기대결과가 다릅니다."
print(knowledge_title, "타이틀 FALSE")
그 후 다시 메인으로 넘어가 지식iN으로 진입하여 결과 값을 출력해준다.
결과적으로 이렇게 타이틀을 비교하여 PASS, FAIL을 알려주는 것을 볼 수 있다.
import selenium
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.maximize_window()
url = "https://www.amoremall.com/kr/ko/display/main"
driver.get(url)
time.sleep(2)
driver.find_element(By.XPATH,'//*[@id="__next"]/section[2]/div[2]/div/div[2]/button[2]').click()
time.sleep(1)
driver.find_element(By.XPATH,'//*[@id="__next"]/section/section[1]/section/section[3]/div[2]/div/div[1]/div/a').click()
time.sleep(1)
driver.find_element(By.XPATH,'//*[@id="__next"]/section/section[1]/section/section/section/div/div[1]/div/div[2]/div[4]/button[3]').click()
time.sleep(1)
driver.find_element(By.XPATH,'//*[@id="__next"]/section/section[1]/section/section/section/div/div[1]/div/div[2]/div[4]/section[2]/div[2]/div/div/div[2]/button[2]').click()
time.sleep(1)
driver.find_element(By.XPATH,'//*[@id="__next"]/section/section[2]/div[2]/div/div[2]/button[2]').click()
time.sleep(1)
login_title = driver.title
if login_title == "로그인 | 옴니통합회원":
print("1 PASS")
else:
print("1 FAIL")
time.sleep(2)
driver.back()
time.sleep(3)
driver.find_element(By.XPATH,'//*[@id="__next"]/section/section[1]/section/section/section/div/div[1]/div/div[2]/div[4]/button[3]').click()
time.sleep(1)
driver.find_element(By.XPATH,'//*[@id="__next"]/section/section[1]/section/section/section/div/div[1]/div/div[2]/div[4]/section[2]/div[2]/div/div/div[2]/button[2]').click()
time.sleep(1)
driver.find_element(By.XPATH,'//*[@id="__next"]/section/section[2]/div[2]/div/div[2]/button[1]').click()
time.sleep(1)
cash_title = driver.title
if cash_title == "결제하기":
print("2 PASS")
else:
print("2 FAIL")
time.sleep(1)
아모레몰 홈페이지로도 작성해보았다.
1. | 구매하기 | 비회원 구매 선택 | 비회원 결제 화면으로 이동 |
2. | 구매하기 | 로그인 선택 | 로그인 화면으로 이동 |
확인할 TC는 위와 같고,
실행 시 결과가 정상적으로 출력된다.
728x90
'Selenium' 카테고리의 다른 글
[Selenium] 실험1 (0) | 2023.09.09 |
---|---|
[Selenium] 크롬 창 종료 현상? (0) | 2023.06.16 |
[Selenium] 엑셀 파일 읽기/쓰기 (0) | 2023.01.21 |
[Selenium] 뮤트하기 (0) | 2023.01.08 |
[Selenium] 값 비교 (0) | 2023.01.05 |