728x90
setting.py
import pytest
from appium import webdriver as appium_webdriver
from appium.options.android import UiAutomator2Options
from selenium import webdriver as selenium_webdriver
from selenium.webdriver import Chrome
# appium 세팅
@pytest.fixture(scope="module")
def driver_m():
capabilities = dict(
platformName='Android',
automationName='uiautomator2'
)
appium_server_url = 'http://localhost:4723/wd/hub'
driver = appium_webdriver.Remote(appium_server_url, options=UiAutomator2Options().load_capabilities(capabilities))
driver.press_keycode(3)
yield driver
driver.quit()
@pytest.fixture(scope="module")
def driver_w():
driver = selenium_webdriver.Chrome()
yield driver
driver.quit()
이전에는 driver를 하나만 설정했지만,
이번에는 각각 driver_m / driver_w 으로 만들어준다.
test_case_01.py
from Basic import *
def test_case_01(driver_m: Chrome, driver_w: Chrome):
driver_w.get("https://www.naver.com//")
wait_Element(driver_w,'//*[@id="shortcutArea"]/ul/li[1]/a/span[1]').click()
wait_Element(driver_m, home_clock).click()
wait_Element(driver_m, clock_stopwatch).click()
wait_Element(driver_m, clock_worldtime).click()
wait_Element(driver_m, clock_timer).click()
time.sleep(10)
assert 1;
driver_w 는 web 동작 / driver_m 는 mobile 동작 되는걸 확인할 수 있다.
* 참고 wait_Element 함수
def wait_Element(driver, xpath):
location = xpath
try:
element:WebElement = WebDriverWait(driver, 5).until(
EC.presence_of_element_located((By.XPATH, xpath))
)
return element
except TimeoutException:
print(xpath + " Timeout!")
return False
https://salzzak.tistory.com/100
'코딩 > Mobile 자동화 (new)' 카테고리의 다른 글
구글 스프레드 시트 API 연동 (Python) + OS에 따라 Xpath 가져오기 (0) | 2024.05.08 |
---|---|
appium 자동화 2024 - 9) git - Jenkins 연동 (0) | 2024.04.04 |
appium 자동화 2024 - 6) Git 레파지토리 생성 > 로컬 프로젝트 업로드 하기 (0) | 2024.03.03 |
appium 자동화 2024 - 5) 소스 코드 구조화 (0) | 2024.02.22 |
appium 자동화 2024 - 4) Pytest+appium 자동화 구현 (2) | 2024.02.21 |
댓글