# _*_ config: utf-8 _*_ # python3的MyUiautomator import time, subprocess, os import uiautomator2 as u2 from config.getMobile import get_mobile from config.readConfig import readConfig from common.log import Logger # 获取设备信息 mobile_data = get_mobile('uiauto2_android')[1] unlock_data = readConfig().get_unlock() log = Logger().get_logger() class MyUiautomator2(object): def connect_android(self, ip=mobile_data['ip']): """ 连接设备 :param ip: 设备ip,数据线连接传入None """ self.isconnect(ip) self.app = u2.connect(ip) # 连接设备 self.app.unlock() # self.app.healthcheck() # 解锁屏幕(但无法解开锁屏密码)并开启uiautomator2服务 def connect_app(self, start='session', appPackage=mobile_data['appPackage'], secs=4): """
import unittest, time from common.MySelenium import mySelenium from Po.testpage.kuaishou_page import kuaishou_page from common import openPC from common.Myadb import Myadb from config.getMobile import get_mobile from common.log import Logger log = Logger('Po.testpc.kuaishou_test').get_logger() mobile = get_mobile()[5] command = 'adb connect ' + mobile['deviceName'] # 连接设备 class kuaishou_test(unittest.TestCase): @classmethod def setUpClass(cls): log.info('------------------------------------ kuaishou_test strat --------------------------------------') # openPC.open_pc_yesheng() # 打开夜神模拟器 # openPC.open_pc_appium() # 打开Appium # time.sleep(40) # Myadb().call_adb(command) # time.sleep(5) cls.app = mySelenium() cls.app.mobile(data=mobile) cls.ks = kuaishou_page(cls.app) @classmethod def tearDownClass(cls): cls.app.quit() log.info('------------------------------------ kuaishou_test end --------------------------------------')
from config.getMobile import get_mobile from common.log import Logger from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from appium.webdriver.common.mobileby import MobileBy as By from selenium.webdriver.common.action_chains import ActionChains from config.getProjectPath import get_project_path from config.readConfig import readConfig from common.BeautifulReport import BeautifulReport from common.MyChromedriver import ChromeDriver # from pywinauto.application import Application path = get_project_path() phone_data = get_mobile()[2] # appium选择设备和app uiauto_phone_data = get_mobile('uiauto2_android')[1] # uiautomator2选择设备和app # phone_data = readConfig().get_App() browser_data = readConfig().get_browser() log = Logger('common.mySelenium').get_logger() screenshot_path = os.path.join(path, 'report', 'screen_shot') success = 'Success' fail = 'Fail' install_unicode = 'id->com.android.packageinstaller:id/btn_install_confirm' img_path = os.path.join(path, 'report', 'screen_shot') class mySelenium(object): def __init__(self): pass
import unittest import time from common.MySelenium import mySelenium from common.log import Logger from config.getMobile import get_mobile from config.readConfig import readConfig log = Logger('common.Mymobile').get_logger() phone_data = get_mobile()[1] phone_data2 = readConfig().get_App() class Mymobile(unittest.TestCase): @classmethod def setUpClass(cls): log.info("**************************************** start **************************************************") cls.dr = mySelenium() cls.dr.mobile(phone_data) # enterApp_page(cls.dr).tgp_login_main() # 登录app @classmethod def tearDownClass(cls): time.sleep(5) log.info("**************************************** end **************************************************\n") cls.dr.quit()
import time from common.basePage import Page from common.log import Logger from config.getMobile import get_mobile log = Logger('testpage.enterApp').get_logger() phone = get_mobile()[1] user = '******' password = '******' nickname = '12345678998' """--------------------------------------- element ----------------------------------------------------""" tgp_login_button = 'id->com.tencent.tgp:id/qqLogin' # tgp登录页面qq登录按钮 tgp_nav_my = 'uiautomator->我的' # tgp导航栏我的 tgp_loginPop_login = '******' # tgp内页弹窗马上登录按钮 tgp_updatePop_later = 'id->com.tencent.tgp:id/tv_negative' # tgp更新弹窗以后再说按钮 tgp_infomation_confirm = 'id->com.tencent.tgp:id/registerOKButton' # tgp完善资料页面确认按钮 tgp_infomation_prompt = 'id->com.tencent.tgp:id/registerNickTipId' # tgp完善资料页面昵称提示文案 tgp_infomation_nickname = 'id->com.tencent.tgp:id/nickEditId' # tgp完善资料页面昵称框 tgp_qq_warrant = 'uiautomator->登录' # qq授权登录页面登录按钮 tgp_qqLogin_user = '******' # qq登录页面账号框 tgp_qqLogin_pass = '******' # qq登录页面密码框 tgp_qqLogin_button = 'id->com.tencent.mobileqq:id/login' # qq登录页面登录按钮 class enterApp_page(Page): def tgp_login_main(self): """ tgp登录主函数 :return: """ flag, ele = self.dr.judge_element(tgp_login_button) # 判断app是否已登录