# 登录方法的封装 에서 appium 수입 webdriver 에서 시간 가져 오기 잠 에서 python_selenium.Slide의 수입 swipeLeft 데프 (사용자, PWD) 로그인 : 캡 = { " platformName " : " 안드로이드 " , " 장치 이름 " : " 127.0.0.1:21503 " , " platformVersion " : " 5.1.1 " , "appPackage ": " com.yw.yzz " , " appActivity " : " com.yw.yzz.biz.splash.SplashActivity " , " unicodeKeyboard " : " 참 " , " resetKeyboard " : " 참 " , " noReset " : " 진정한 " } 박사 = webdriver.Remote ( " http://127.0.0.1:4723/wd/hub " , 모자) 박사.implicitly_wait ( 10 ) 절전 ( 3 ) 시도 : dr.find_element_by_id ( " com.yw.yzz : ID / iv_img " ) 수면 ( 2 ) 제외 : dr.find_element_by_id ( " com.yw.yzz : ID / seting_tab " ) .click () 다른 사람 : swipeLeft (DR, 3,1000 ) 수면 ( 1 ) dr.find_element_by_id ( " com.yw.yzz : ID / btn_open " ) .click () 수면 ( 4 ) dr.find_element_by_id ( "com.yw.yzz : ID / seting_tab " ) .click () 수면 ( 1 ) dr.find_element_by_xpath ( ' //android.widget.TextView[@resource-id="com.yw.yzz:id/tv_name"] " ) .click () EL2 = dr.find_element_by_id ( " com.yw.yzz : ID / et_phone " ) el2.send_keys (사용자) EL3 = dr.find_element_by_id ( " com.yw.yzz : ID / et_password " ) el3.send_keys (PWD) EL4 = dr.find_element_by_id ( " com.yw.yzz : ID / btn_login " ) 수면 ( 1 ) EL4.딸깍 하는 소리() 시도 : dr.find_element_by_id ( " : ID / tv_phone com.yw.yzz " ) 제외 : 인상 AssertionError를 다른를 : 패스 반환 박사
# 滑动方法封装 에서 시간 수입 슬립 DEF swipeLeft (DR, N, t) 의 폭 = dr.get_window_size () " 폭 " ] 높이 = dr.get_window_size () " 높이 " ] 에 대한 I 의 범위 (N) : dr.swipe (폭 * 0.9, 높이 / 2 * 0.1 폭, 높이 / 2 , t) 수면 ( 1 ) DEF swipeUp (DR, N, t) 의 폭 = dr.get_window_size () " 폭 " ] 높이 = [() dr.get_window_size" 높이 " ] 에 대한 I 의 범위 (N) : dr.swipe (폭 * 0.5 * 0.9 높이, 폭 * 0.5 * 0.1 높이 , t) 수면 ( 1)
# 用例输出 에서 python_selenium.yyt_login의 수입 로그인 에서 시간을 가져 수면 수입 유닛 테스트 클래스 YYT (unittest.TestCase) : 데프 설정 (자동) : self.driver = 로그인 ( " 1777982xxxx " , "X XXXXXX " ) 수면 ( 1 ) EL1 = self.driver.find_element_by_id ( " com.yw.yzz : ID / iv_btn_setting " ) el1.click을 () DEF test_ChangeName (자기) : EL2= self.driver.find_element_by_xpath ( " /hierarchy/android.widget.FrameLayout/android.widget.LinearLayout " ) el2.click () EL3 = self.driver.find_element_by_id ( " com.yw.yzz : ID / ll_updateinfo_name " ) EL3 .click () EL4 = self.driver.find_element_by_id ( " com.yw.yzz : ID / et_my_changemyname " ) el4.clear () el4.send_keys ( " XXXX " ) EL5 = self.driver.find_element_by_id ( " com.yw. yzz : ID / top_right_tv " ) EL5.딸깍 하는 소리() DEF test_ChangeSex (자기) self.driver.tap ([(0, 131), (1080,281), (500) ) 수면 ( 1 ) self.driver.find_element_by_id ( " com.yw.yzz : ID / ll_updateinfo_gender " ) .click () 잠 ( 1 ) self.driver.find_element_by_id ( " com.yw.yzz : ID / ll_choosegender_secret " ) .click () 데프 의 tearDown (자동) : self.driver.back () 수면 ( 1 ) el7 = self.driver.find_element_by_id ( " com.yw.yzz : ID / exit_btn" ) el7.click () el8 = self.driver.find_element_by_id ( " com.yw.yzz : ID / sure_button " ) el8.click () 수면 ( 1 ) self.driver.quit () 경우 __name__ == ' __main__ ' : unittest.main ()
# 일괄 작업의 경우, 및 리포트 생성 오기 유닛 테스트 오기 HTMLTestRunner의 경로 = " D : \\ \\ python_selenium CodeFile의 work_doc \\ " 의 TestCase = unittest.defaultTestLoader.discover (경로 패턴 = " case.py " , top_level_dir = 없음) YYTtestreport = " D : \\ testreport.html " 열기 (YYTtestreport와 " WB " ) AS YYT : 러너 = HTMLTestRunner.HTMLTestRunner (YYT 제목 = " 시험 보고서 " 의 정보 = " 상세 보고서 " ) runner.run (테스트 케이스)