def appium_desired(udid, port=4723): with open('../config/app_caps.yaml', 'r', encoding='utf-8') as file: data = yaml.load(file) desired_caps = {} desired_caps['platformName'] = data['platformName'] desired_caps['platformVersion'] = data['platformVersion'] desired_caps['deviceName'] = data['deviceName'] desired_caps['udid'] = udid base_dir = os.path.dirname(os.path.dirname(__file__)) app_path = os.path.join(base_dir, 'app', data['appname']) desired_caps['app'] = app_path desired_caps['appPackage'] = data['appPackage'] desired_caps['appActivity'] = data['appActivity'] desired_caps['noReset'] = data['noReset'] logging.info('appium port:%s start run %s' % (port, udid)) desired_caps['unicodeKeyboard'] = data['unicodeKeyboard'] desired_caps['resetKeyboard'] = data['resetKeyboard'] # toast location setting # desired_caps['automationName'] = 'uiautomator2' logging.info('start app...') driver = webdriver.Remote( 'http://' + str(data['ip']) + ':' + str(port) + '/wd/hub', desired_caps) driver.implicitly_wait(8) l = LoginView(driver) l.login_action('13545', 'zmjj') return driver
def test_login_error(self): logging.info('======test_login_error======') l = LoginView(self.driver) data = l.get_csv_data(self.csv_file, 3) l.login_action(data[0], data[1]) self.assertTrue(l.check_loginStatus(), msg='login fail!')
def test_login_137(self): logging.info('======test_login_137=====') l = LoginView(self.driver) data = get_csv_data(1, csv_file=self.csv_file) l.login_action(data[0], data[1], self.l_devices['udid']) self.assertTrue(l.check_loginStatus())
def test_login_error(self): logging.info('======测试密码错误登录======') lg = LoginView(self.driver) data = lg.get_csv_data(self.csv_file, 1) lg.login_action(data[0], data[1]) self.assertFalse(lg.check_login_status())
def test_login_normal(self): logging.info('====test_login_normal====') lv=LoginView(self.driver) data=lv.get_csv_data(self.csv_file,1) lv.login_action(data[0],data[1]) bool=lv.check_loginStatus() self.assertTrue(bool)
def test_login_right(self): logging.info('======测试正常登录======') lg = LoginView(self.driver) data = lg.get_csv_data(self.csv_file, 2) lg.login_action(data[0], data[1]) self.assertTrue(lg.check_login_status())
def export_pdf(self, file_name, save_path): # 导出pdf logging.info('==========export_pdf==========') self.group_button_click('文件') self.driver.find_element( By.ID, 'com.yozo.office:id/yozo_ui_wp_option_id_export_pdf').click() self.driver.find_element( By.ID, 'com.yozo.office:id/yozo_ui_select_save_folder').click() logging.info('choose save path %s' % save_path) self.driver.find_element( By.ID, 'com.yozo.office:id/yozo_ui_select_save_path_%s' % save_path).click() if self.get_toast_message('您尚未登录,请登录'): l = LoginView(self.driver) l.login_action('13915575564', 'zhang199412') self.driver.find_element( By.ID, 'com.yozo.office:id/yozo_ui_select_save_path_%s' % save_path).click() logging.info('file named %s' % file_name) self.driver.find_element( By.ID, 'com.yozo.office:id/yozo_ui_select_save_path_file_name').set_text( file_name) self.driver.find_element( By.ID, 'com.yozo.office:id/yozo_ui_select_save_path_file_type').click() self.driver.find_element( By.ID, 'com.yozo.office:id/yozo_ui_select_save_path_save_btn' ).click() # save
def test_correct_user_and_pass(self): logging.info('======test_correct_user_and_pass======') l=LoginView(self.driver) data=l.get_csv_data(self.csv_file, 1) l.login_action(data[0],data[1]) self.assertTrue(l.check_loginStatus())
def test_wrong_user_wrong_pass(self): logging.info('======test_wrong_user_wrong_pass======') l=LoginView(self.driver) data=l.get_csv_data(self.csv_file, 3) l.login_action(data[0],data[1]) self.assertFalse(l.check_loginStatus(),msg='login fail!')
def test_login_zxw2017(self): logging.info('======test_login_zxw2017======') l = LoginView(self.driver) data = l.get_csv_data(self.csv_file, 1) l.login_action(data[0], data[1]) self.assertTrue(l.check_loginStatus())
def test_login_failure(self): logging.info('test_login_failure') lo = LoginView(self.driver) user = lo.do_get_csv_data(self.csv_file, 2) lo.login_action(user[0], user[1]) self.assertFalse(lo.assert_login_status(), msg='expect failure')
def test_login_success_one(self): logging.info('test_login_one') lo = LoginView(self.driver) user = lo.do_get_csv_data(self.csv_file, 1) lo.login_action(user[0], user[1]) self.assertTrue(lo.assert_login_status())
def save_action( self, file_name, save_path, item=1): # 文件名,本地还是云端save_path=['local','cloud'],文件类型item=[1,2] logging.info('==========save_action_%s==========' % file_name) logging.info('choose save path %s' % save_path) self.driver.find_element( By.ID, 'com.yozo.office:id/yozo_ui_select_save_path_%s' % save_path).click() logging.info('whether need login') if self.get_toast_message('您尚未登录,请登录'): l = LoginView(self.driver) l.login_action('13915575564', 'zhang199412') self.driver.find_element( By.ID, 'com.yozo.office:id/yozo_ui_select_save_path_%s' % save_path).click() logging.info('file named %s' % file_name) self.driver.find_element( By.ID, 'com.yozo.office:id/yozo_ui_select_save_path_file_name').set_text( file_name) logging.info('choose file type %s' % item) self.driver.find_element( By.ID, 'com.yozo.office:id/yozo_ui_select_save_path_file_type').click() self.driver.find_element(By.ID, 'com.yozo.office:id/file_type_item%s' % item).click() self.driver.find_element( By.ID, 'com.yozo.office:id/yozo_ui_select_save_path_save_btn' ).click() # save
def test_login_zxw2017(self): logging.info("====start=====") l = LoginView(self.driver) data = l.get_csv_data(self.csv_file, 1) l.login_action(data[0], data[1]) l.check_agree_alert() self.assertTrue(l.check_login_staus())
def testlogin(self): self.logger.info('start test login') login=LoginView(self.driver) login.login_action() self.assertTrue(login.check_login()) #pass # if __name__ == '__main__': # unittest.main()
def login(self): lo = LoginView(self.driver) data = lo.get_csv_data(self.csv_file,1) try: self.driver.find_element_by_id("com.chan.iamabuyer:id/layoutMy") except NoSuchElementException: lo.login_action(data[0], data[1]) logging.info('开始登录账号%s,密码%s', data[0], data[1]) else: lo.login_action(data[0], data[1])
def test_login_1(self): logging.info('测试登录第一个账户') # 调用登录业务模块 login = LoginView(self.driver) # 读取csv数据 data = login.get_csv_data(self.csv_file, 1) # 执行登录业务动作 login.login_action(data[0], data[1]) # 断言执行是否成功 self.assertTrue(login.check_login_status())
def test_login_error(self): logging.info('=======test login error======') l = LoginView(self.driver) data = l.get_csv_data(self.csv_file, 3) l.login_action(data[0], data[1]) self.assertTrue(l.check_loginStatus()) # if __name__=='__main__': # unittest.main()
def test_login(self): logging.info('======test_login=====') sv = SearchView(self.driver) sv.user_logo() l = LoginView(self.driver) if l.check_login_status(): l.logout_action() data = l.get_csv_data(self.csv_file, 4) l.login_action(data[0], data[1]) self.assertTrue(l.check_login_status()) l.logout_action()
def upload(self): # 上传云文档 logging.info('==========upload==========') slv = SelectView(self.driver) l = LoginView(self.driver) slv.select_index('alldoc') ele = self.driver.find_elements(By.ID, 'com.yozo.office:id/file_item')[0] ele.find_element(By.ID, 'com.yozo.office:id/lay_more').click() self.driver.find_element( By.ID, 'com.yozo.office:id/ll_filework_pop_upcloud').click() # 点击上传 logging.info('checking having already logined in') getele = self.get_toast_message('请先登录账号') if getele == True: slv.select_index('my') # self.find_element(By.ID, 'com.yozo.office:id/ll_bottommenu_my').click() logging.info('try login in') data = l.get_csv_data(self.csv_file, 4) l.login_action(data[0], data[1]) if l.check_login_status(): logging.info('login success in upload') slv.select_index('alldoc') ele = self.driver.find_elements( By.ID, 'com.yozo.office:id/file_item')[0] ele.find_element(By.ID, 'com.yozo.office:id/lay_more').click() self.driver.find_element( By.ID, 'com.yozo.office:id/ll_filework_pop_upcloud').click( ) # 点击上传 # self.driver.find_element(By.ID, 'com.yozo.office:id/yozo_ui_select_save_path_save_btn').click() # try: # btn = self.driver.find_element(By.ID, 'android:id/button1') # except NoSuchElementException: # pass # else: # btn.click() else: logging.error('login fail in upload') self.getScreenShot('login fail in upload') raise self.driver.find_element( By.ID, 'com.yozo.office:id/yozo_ui_select_save_path_save_btn').click() try: btn = self.driver.find_element(By.ID, 'android:id/button1') except NoSuchElementException: pass else: btn.click() slv.select_index('my') l.logout_action()
def test_login_error(self): logging.info('======test_login_error=====') l = LoginView(self.driver) data = get_csv_data(3, csv_file=self.csv_file) login_fail = l.login_action(data[0], data[1], self.l_devices['udid']) self.assertFalse(login_fail, msg='login fail!')
def test_phone_login(self): logging.info('===start login====') r = LoginView(self.driver) username = '******' + str(random.randint(00, 99)) self.assertTrue(r.login_action(username))
def test_login_error03(self): self.driver.launch_app() lo = LoginView(self.driver) data = lo.get_csv_data(self.csv_file, 4) try: self.driver.find_element(*self.laMy) except NoSuchElementException: logging.info('执行登录账号%s,密码%s 的用例', data[0], data[1]) lo.login_action(data[0], data[1]) self.assertFalse(lo.login_status(), msg='账号不存在用例') else: logging.info('当前app处于已登录状态,开始退出登录') lo.exitAccount() logging.info('执行登录账号%s,密码%s 的用例', data[0], data[1]) lo.login_action(data[0], data[1]) self.assertFalse(lo.login_status(), msg='账号不存在用例') self.driver.close_app()
from selenium.common.exceptions import NoSuchElementException import logging from selenium.webdriver.common.by import By import time import json import requests from businessView.loginView import LoginView class SwipeView(BaseView): #元素 photos_list = (By.ID, 'com.guagua.marslive:id/rl_item') def swipetest(self): self.driver.find_elements(*self.photos_list)[0].click() time.sleep(2) for i in range(100): try: self.swipe(411,1100,411,150,1000) time.sleep(2) print(i) except: print("滑动异常") if __name__=='__main__': driver = appium_desird() l = LoginView(driver) l.login_action('user') s = SwipeView(driver) s.swipetest()
# -*- coding: utf-8 -*- # @Time : 2018/9/3 15:52 # @Author : Cr # @File : editUser.py import logging from common.common_fun import Common, NoSuchElementException from common.desired_caps import appium_desired from selenium.webdriver.common.by import By from businessView.loginView import LoginView class EditUser(Common): userIcon = (By.ID, 'com.fangmi.weilan:id/user_icon') userimage = (By.ID, 'com.fangmi.weilan:id/userImageLayout') nickname = (By.ID, 'com.fangmi.weilan:id/nickNameLayout') sex = (By.ID, 'com.fangmi.weilan:id/sexLayout') select_sex = (By.ID, 'com.fangmi.weilan:id/select_dialog_listview') def editUser(self): logging.info('开始测试') self.driver.find_element(*self.userIcon).click() self.driver.find_element(*self.userimage).click() if __name__ == '__main__': driver = appium_desired() l = LoginView(driver) l.login_action('18380477273', '111111') e = EditUser(driver) e.editUser()
def test_login(self, username, password): l = LoginView(self.driver) l.login_action(username=username, password=password) self.assertTrue(l.check_loginStatus())
def test_login_test3(self): l = LoginView(self.driver) data = l.get_csv_data(self.csv_file, 3) l.login_action(data[0], data[1]) self.assertTrue(l.check_loginStatus())
def test_login_error(self): l = LoginView(self.dr) l.login_action('ILOVETtt', 'admin888') result = l.check_login_status() self.assertFalse(result)
def test_login(self): l=LoginView(self.dr) l.login_action('ILOVET','admin888') result=l.check_login_status() self.assertTrue(result)
def test_login_3(self): logging.info('测试登录第三个账户') login = LoginView(self.driver) data = login.get_csv_data(self.csv_file, 3) login.login_action(data[0], data[1]) self.assertTrue(login.check_login_status())