본문 바로가기

2. Automation

iOS typeText() TextInput 필드에 텍스트를 입력하기 위해 쓰는 typeText 는 Simulator에서 키패드가 출력되어야함.await element(by.id(TestIds.browseView.searchTextFiled)).typeText(`bart\n`); Simulator keyboard toggle 사용 하기 Simulator > Hardware 메뉴 > Keyboard > Toggle Software Keyboard를 선택. 추가적으로 Use the Same keyboard Language as macOS를 킬 경우, 내가 테스트로 입력해야되는 단어 또는 문장이 영어인데, macOS가 한글 키보드 사용중이라, Simulator 의 키보드도 한글로 출력되어 입력이 실패될 가능성이 높음. 추가적으로,Tex.. 더보기
Detox iOS System Pop up Control Detox에서 Inspector가 되지 않는 Button 컨트를을 하려면, Xcode 에서 Debug View Hierarchy를 조회하여, 제어해야 한다. 이후 by.type 으로 제어하면 됨. 특히나 React-navigation 등의 뒤로가기 버튼을 제어할 때도 해당 방법으로 적용해야 함.await element(by.type('_UIButtonBarButton')).tap(); 더보기
Detox react-native automation testing framework E2E (end to end) 테스트를 지원하는 React Native Javascript test framework. React Native이다보니 당연히 cross-platform을 지원함. 아래 예제 코드를 보아하니 Jasmine과 유사 ㅎ예제 코드describe('Login flow', () => { it('should login successfully', async () => { await device.reloadReactNative(); await expect(element(by.id('email'))).toBeVisible(); await element(by.id('email')).typeText('john@example.com'); await element(by.id('password')).. 더보기
TouchAction Touch Action 관련 기능들로 Tap, Press, Long Press, Movie To 등을 사용할 수 있는 메소드. 끝에 perform()을 붙여서 실행을 한다. TouchAction(wd).tap(x=550, y=1700).perform() 사용시에는, appium.wdriver 에 있는 TouchAction을 상속 받아 사용한다. from appium.webdriver.common.touch_action import TouchAction 더보기
add_cookie 특정 사이트 또는 웹 페이지 테스트 시, cookie 값에 따라서 특정 팝업 창이 출력되거나 하는 경우가 발생 되는데, 아래는 Cookie의 Value 값을 설정할 수 있는 메소드. self.driver.add_cookie({'name':'cookie_name', 'value':'input_value'}) 인자로 'name', 'value' 키 값의 객체를 받는데, 각각 Value값으로 cookie 이름과 설정해야할 value 을 넣어주면 된다. 더보기
switch_to_window 새로운 윈도우로 페이지가 열릴 경우, 제어하기 위한 메소드self.driver.switch_to_window(self.driver.window_handles[1]) driver.window_handles를 같이 사용해서, 이동하려는 창을 전달한다. self.driver.get('http://nate.com') self.driver.find_element_by_id('newsImg0').click() self.driver.switch_to_window(self.driver.window_handles[1])네이트의 뉴스를 클릭하면 새로운 창이 출력되는데, 해당 창으로 전환하는 스크립트. 더보기
html-testRunner Selenium을 사용하다 보면 결과가 매우 코어하게 나온다.E======================================================================ERROR: runTest (__main__.test01)----------------------------------------------------------------------Traceback (most recent call last): File "/Users/jhchoi/Workspace/Private/study/test_01.py", line 34, in runTest self.driver.find_element_by_id('2query').send_keys('트와이스') File "/Users/jhchoi/.. 더보기
Error: Could not determine Xcode version: Could not get Xcode version. Appium에서 iOS를 돌릴 때 출력되는 Xcode 경로 설정 문제 Error: Could not determine Xcode version: Could not get Xcode version. 간단하게 Terminal에서 아래의 명령어를 입력해주면 해결 "sudo xcode-select --switch /Applications/Xcode.app" 더보기