def setup_driver(): capabilities = dict() capabilities['deviceName'] = 'nexus_6' capabilities['platformName'] = 'Android' capabilities['appiumVersion'] = '1.15.1' capabilities['platformVersion'] = '9.0' capabilities['newCommandTimeout'] = 600 capabilities['automationName'] = 'UiAutomator2' capabilities['noReset'] = False capabilities['appPackage'] = 'com.truecaller' capabilities['appActivity'] = 'com.truecaller.ui.TruecallerInit' capabilities['appWaitActivity'] = 'com.truecaller.ui.*' driver = Remote('http://localhost:4723/wd/hub', capabilities) driver.reset() driver.start_activity(capabilities['appPackage'], capabilities['appActivity'], app_wait_activity=capabilities['appWaitActivity']) return driver
# app_opre.wait_find_element((MobileBy.ID, "com.xxzb.fenwoo:id/btn_gesturepwd_guide")).click() # # 确定按钮"com.xxzb.fenwoo:id/right_btn" # time.sleep(0.5) # app_opre.wait_find_element((MobileBy.ID, "com.xxzb.fenwoo:id/right_btn")).click() # 图案绘制区"com.xxzb.fenwoo:id/gesturepwd_create_lockview" """ 九宫格思路: 1、先获取绘制区的元素区域 2、根据判断对区域坐标进行划分,常用都是长宽都6等分 3、根据坐标切割,获取九个点的位置 4、根据点数连线绘制 """ # draw_el = android_driver.find_element_by_id("com.xxzb.fenwoo:id/gesturepwd_create_lockview") # 进入绘制界面 android_driver.start_activity("com.xxzb.fenwoo", ".activity.user.CreateGesturePwdActivity") # app_opre.wait_find_element((MobileBy.ID, "com.xxzb.fenwoo:id/right_btn")).click() draw_el = app_opre.wait_visibility_element((MobileBy.ID, "com.xxzb.fenwoo:id/gesturepwd_create_lockview")) # # rect能同时回获取元素的x、y、width、height,并以字典存储 # start_x = draw_el.rect['x'] # start_y = draw_el.rect['y'] # width = draw_el.rect['width'] # height = draw_el.rect['height'] # # # 设置点的坐标位置 # point1 = {'x': start_x + width * 1 / 6, 'y': start_y + height * 1 / 6} # point2 = {'x': start_x + width * 3 / 6, 'y': start_y + height * 1 / 6} # point3 = {'x': start_x + width * 5 / 6, 'y': start_y + height * 1 / 6} # point4 = {'x': start_x + width * 1 / 6, 'y': start_y + height * 3 / 6}
# "platformVersion": "5.1", # "app": r"D:\data\柠檬班环境\app测试环境\环境\应用apk包\Future-release-2018.apk", "deviceName": "Android Emulator", "appActivity": "com.xxzb.fenwoo.activity.addition.WelcomeActivity", "appPackage": "com.xxzb.fenwoo", # "noReset": "false", } # 增量开发(编程) driver = Remote(desired_capabilities=caps, command_executor='http://127.0.0.1:4444/wd/hub') driver.implicitly_wait(10) # 快速切换页面 driver.start_activity( 'com.xxzb.fenwoo', 'com.xxzb.fenwoo.activity.user.CreateGesturePwdActivity') driver.find_element_by_android_uiautomator( 'new UiSelector().text("确定")').click() # 定位绘制手势的元素 jiugongge_elem = driver.find_element_by_id( 'com.xxzb.fenwoo:id/gesturepwd_create_lockview') # 手势绘制, 1,2,3,5,7 # 得到元素的起点坐标和高宽 {"x": 3, "y": 3, "width": 599, "height": 900} # e.rect # driver.get_window_size() # e.locatoin, 元素的坐标, e.size 获取宽度和高度 BasePage(driver).jiugongge(jiugongge_elem, location=[1, 2, 3, 5, 8])
# "platformVersion": "5.1", # "app": r"D:\data\柠檬班环境\app测试环境\环境\应用apk包\Future-release-2018.apk", "deviceName": "Android Emulator", "appActivity": "com.xxzb.fenwoo.activity.addition.WelcomeActivity", "appPackage": "com.xxzb.fenwoo", # "noReset": "false", } # 增量开发(编程) driver = Remote(desired_capabilities=caps, command_executor='http://127.0.0.1:4444/wd/hub') driver.implicitly_wait(10) time.sleep(5) # 快速进入登录页面 driver.start_activity('com.xxzb.fenwoo', 'com.xxzb.fenwoo.activity.addition.LoginActivity') # 重置应用 # driver.reset() # # 后台运行 # driver.background_app(5) # # # 判断app是否被安装 # if not driver.is_app_installed('com.lemon.lemonban'): # driver.install_app('.apk') # # driver.close_app() driver.quit()