def android_driver(self, i): # devices_name adb devices # port write_file = WriteUserCommand() device = write_file.get_value('user_info_' + str(i), 'deviceName') port = write_file.get_value('user_info_' + str(i), 'port') start_t = time.time() capabilities = { "platformName": "Android", # "automationName": "UiAutomator2", "deviceName": device, "app": "../data/JZB_7.0.8-website-release.apk", "noReset": "true", "unicodeKeyboard": "true", "resetKeyboard": "true" } try: driver = webdriver.Remote('http://localhost:' + port + '/wd/hub', capabilities) logger.info( "{0} Start Android device <{1}>, Spend {2} seconds".format( success, device, round(time.time() - start_t, 2))) time.sleep(10) return driver except Exception: logger.info( "{0} Unable to Start Android device <{1}>, Spend {2} seconds". format(fail, device, round(time.time() - start_t, 2))) raise
class BaseDriver(object): def __init__(self): self.write_file = WriteUserCommand() def android_driver(self, i): print "this is android_driver:", i platformVersion = self.write_file.get_value("user_info_" + str(i), 'platformVersion') deviceName = self.write_file.get_value("user_info_" + str(i), 'deviceName') port = self.write_file.get_value("user_info_" + str(i), 'port') desired_caps = {} desired_caps['platformName'] = "android" #设备类型 #desired_caps['automationName'] = "UiAutomator2"#toast提示 desired_caps['platformVersion'] = platformVersion #系统版本号 desired_caps['deviceName'] = deviceName #设备号 desired_caps['App'] = "F:/heshidaiapppakage/heshidai.apk" #APP路径 desired_caps['appPackage'] = "com.heshidai.app" #应用包名 desired_caps[ 'appActivity'] = "com.heshidai.app.activity.finance.WelcomeActivity" #应用的activity desired_caps['unicodeKeyboard'] = "True" #Unicode类型 desired_caps['resetKeyboard'] = "True" #不显示键盘 #desired_caps['noReset'] = "true"#不会重复安装APP self.driver = webdriver.Remote('http://localhost:' + port + '/wd/hub', desired_caps) time.sleep(20) return self.driver def ios_driver(self): pass def get_driver(self): pass
def android_driver(self, i, type): print("this is android_driver:", i) # devices_name adb devices write_file = WriteUserCommand() ini_dir = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) read_ini = ReadIni(ini_dir + "//config/ApplyConfig.ini") devices = write_file.get_value('user_info_' + str(i), 'deviceName') port = write_file.get_value('user_info_' + str(i), 'port') apk_name = read_ini.get_value("apk", type) appPackage = read_ini.get_value("package_name", type) appWaitActivity = read_ini.get_value("activity", type) noReset = read_ini.get_value("noReset", type) capabilities = { "platformName": "Android", # "automationName":"UiAutomator2", "deviceName": devices, "app": apk_name, "appWaitActivity": appWaitActivity, "noReset": noReset, "platforVersion": "4.4.4", "appPackage": appPackage, # "chromedriverExecutableDir": ini_dir + "\config\chromedriver\webview", 'recreateChromeDriverSessions': True } driver = webdriver.Remote("http://127.0.0.1:" + port + "/wd/hub", capabilities) time.sleep(10) return driver
def android_driver(self, i): print("this is android_driver:", i) #devices_name adb devices #port write_file = WriteUserCommand() devices = write_file.get_value('user_info_' + str(i), 'deviceName') port = write_file.get_value('user_info_' + str(i), 'port') # capabilities = { # "platformName": "Android", # #"automationName":"UiAutomator2", # "deviceName": devices, # "app": "D:/mukeappium/app/MojiWeather.apk", # "appWaitActivity":"com.moji.mjweather.LauncherActivity", # "noReset":"true", # # "platforVersion":"4.4.4", # "appPackage":"com.moji.mjweather" # #"newCommandTimeout":'180' # } caps = {} caps["platformName"] = "Android" caps["deviceName"] = devices caps['app'] = "D:/mukeappium/app/MojiWeather.apk" caps["appPackage"] = "com.moji.mjweather" caps["appActivity"] = "com.moji.mjweather.LauncherActivity" # caps['app'] = "C:/Users/Administrator/Desktop/111111.apk" # caps["appPackage"] = "net.changjinglu.mall" # caps["appActivity"] = "net.changjinglu.mall.HomeActivity" caps["noReset"] = "true" # caps["noSign"]: "true" driver = webdriver.Remote("http://localhost:" + str(port) + '/wd/hub', caps) time.sleep(10) # driver = webdriver.Remote("http://127.0.0.1:"+port+"/wd/hub",capabilities) # time.sleep(10) return driver
def android_driver(self,i): #print "this is android_driver:",i #devices_name adb devices #port write_file = WriteUserCommand() devices = write_file.get_value('user_info_'+str(i),'deviceName') port = write_file.get_value('user_info_'+str(i),'port') capabilities = { "platformName": "Android", #"automationName":"UiAutomator2", "deviceName": devices, # "deviceName": '85U8PBFE99999999', "app": "E:\\Chrome_320208401.apk", "noReset":"true", "platforVersion":"5.1", "appPackage":"cn.com.open.mooc" #"newCommandTimeout":'180' } driver = webdriver.Remote("http://127.0.0.1:"+port+"/wd/hub",capabilities) # driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", capabilities) time.sleep(10) return driver
class BaseDriver: def __init__(self): self.write_file = WriteUserCommand() def android_driver(self, i): deviceName = self.write_file.get_value('user_info_' + str(i), 'deviceName') port = self.write_file.get_value('user_info_' + str(i), 'port') desired_caps = { 'platformName': 'Android', # 'platformVersion': '7.1.2', 'deviceName': deviceName, # 自动确定确定应用权限 'autoGrantPermissions': 'true', 'unicodeKeyboard': 'true', 'resetKeyboard': 'true', 'automationName': 'Uiautomator2', # 'app': 'E:\\pythonProject\\appiumTest\\nurotron\APP\\app-debug.apk', 'app': PATH('../app/app-debug.apk'), # 不会覆盖安装 'noReset': 'true' } driver = webdriver.Remote('http://localhost:' + str(port) + '/wd/hub', desired_caps) time.sleep(10) return driver def ios_driver(self): pass def get_driver(self): pass
def android_driver(i): print "this is android_driver:", i write_file = WriteUserCommand() devices = write_file.get_value('user_info_' + str(i), 'deviceName') port = write_file.get_value('user_info_' + str(i), 'port') capabilities = { "platformName": "Android", "deviceName": devices, "app": PATH("../../apps/yhjs-debug-3.3.0-android_yingyong_market.apk"), "noReset": False, "appPackage": "com.kingkr.kuhtnwi", "appWaitActivity": ".ui.main.MainActivity", } driver = webdriver.Remote("http://127.0.0.1:" + port + "/wd/hub", capabilities) time.sleep(10) return driver
def get_from_phone(self, i, time, nickname): write_file = WriteUserCommand() devices = write_file.get_value('user_info_' + str(i // 2), 'deviceName') self.doscmd.execute_cmd( "adb -s " + devices + " shell ls sdcard/tencent/micromsg/WeiXin/mmexport" + str(time) + "*.jpg | tr '\r' ' ' | xargs -n1 -I '{}' adb pull {} /Users/kang/Documents/github/Appuim_py/screenshots/" + str(time) + str(nickname) + ".jpg")
def android_driver(self, i, appPackage, appActivity): #device_name #port write_file = WriteUserCommand() devices = write_file.get_value('user_info_' + str(i // 2), 'deviceName') port = write_file.get_value('user_info_' + str(i // 2), 'port') capabilities = { "platformName": "Android", "deviceName": devices, "appPackage": appPackage, #activity 选哪一个 要研究透彻 appAwaitActivity "appActivity": appActivity, "unicodeKeyboard": "true" } driver = webdriver.Remote("http://127.0.0.1:" + str(port) + "/wd/hub", capabilities) return driver
def __init__(self): self.doscmd = Doscmd() write_file = WriteUserCommand() self.devices = write_file.get_value('user_info_' + str(0), 'deviceName') self.doscmd.execute_cmd( "/Users/kang/Library/Android/sdk/platform-tools/adb -s " + self.devices + " shell am startservice ca.zgrs.clipper/.ClipboardService")
class BaseDriver(): def __init__(self, i): self.write_user = WriteUserCommand() # self.deviceName = self.write_user.get_value(str(i),'deviceName') self.udid = self.write_user.get_value(str(i), 'udid') self.port = self.write_user.get_value(str(i), 'port') def Android_driver(self): capabilities = { "platformName": "Android", "automationName": "UiAutomator2", # 平台,默认Appium,为了抓取tost # "deviceName": "29aaf4ef", "deviceName": self.deviceName, "app": "D:\\python\\pythonlearning\\appium\\mukewang.apk", # "app":"D:\\python\\pythonlearning\\appium\\mukewang_7110.apk",#最新的app,没有登录 # "app": "D:\\python\\pythonlearning\\appium\\gsfw-Android_standard_dev-490.apk", # "appWaitActivity":"cn.com.open.mooc.index.splash.MCSplashActivity",#4723 "noReset": "true", # 配置TRUE不是安装后首次进入页面 } content = "http://127.0.0.1:" + str(self.port) + "/wd/hub" driver = webdriver.Remote(content, capabilities) time.sleep(15) return driver def Ios_driver(self): capabilities = { # 平台名称 'platformName': 'iOS', # 平台版本 'platformVersion': '13.3', #系统号 # 设备名称 'deviceName': 'iPhone X', #虚拟机设备型号 "udid": self.udid, #设备号 "automationName": "XCUITest", "bundleId": "net.csdn.CsdnPlus", 'app': '/Users/luqiuyan/luqy/CSDN 4.0.7.ipa', # 超时时间 'newCommandTimeout': 30, # 自动化测试平台 # 'automationName': 'Appium', # 是否不重新安装启动 # 'noReset': True # 自动处理系统权限弹框 # `autoAcceptAlerts`:True 低版本有效 } content = "http://127.0.0.1:" + str(self.port) + "/wd/hub" driver = webdriver.Remote(content, capabilities) time.sleep(15) return driver def get_driver(self): pass def quit_driver(self): self.Ios_driver.quit()
def android_driver(self,i): print ("this is android_driver:",i) #devices_name adb devices #port write_file = WriteUserCommand() devices = write_file.get_value('user_info_'+str(i),'deviceName') port = write_file.get_value('user_info_'+str(i),'port') capabilities = { "platformName": "Android", #"automationName":"UiAutomator2", "deviceName": devices, "app": "E:\\PythonAppium\\AutoTestAppium\\apps\\mukewang.apk", "appWaitActivity":"cn.com.open.mooc.user.login.MCLoginActivity", "noReset":"true", "platforVersion":"4.4.4", "appPackage":"cn.com.open.mooc" #"newCommandTimeout":'180' } driver = webdriver.Remote("http://127.0.0.1:"+port+"/wd/hub",capabilities) time.sleep(10) return driver
class BaseDrvier: def __init__(self): self.write_file = WriteUserCommand() self.server = Server() def android_driver(self, i): # devices_name # port # # self.server.main_server() print('wait.... this is androd_driver:', i) time.sleep(10) self.device_name = self.write_file.get_value('user_info_' + str(i), 'deviceName') self.port = self.write_file.get_value('user_info_' + str(i), 'port') print(self.device_name, '-------devices_name') print(self.port, '-------port') desired_caps = { "platformName": "Android", "deviceName": self.device_name, "platformVersion": "5.1.1", "app": "D:\student_v3.5_sxreader.apk", "appActivity": "com.zjmy.sxreader.studet.presenter.activity.login.LoginActivity", "noReset": "true", "automationName": "uiautomator2" } driver = webdriver.Remote( 'http://127.0.0.1:' + str(self.port) + '/wd/hub', desired_caps) time.sleep(3) return driver def ios_drvier(self): pass def get_drvier(self): pass
def android_driver(self, i): tool = Tools() rootpath = tool.getRootPath() apkpath = os.path.join(rootpath, 'apks', 'cnode.apk') # devices_name adb devices # port write_file = WriteUserCommand() devices = write_file.get_value('user_info_' + str(i), 'deviceName') print("devices=======================================================", devices, "==============================================") port = write_file.get_value('user_info_' + str(i), 'port') capabilities = { "platformName": "Android", "deviceName": devices, # "automationName":"UiAutomator2", "appActivity": "org.cnodejs.android.md.ui.activity.LaunchActivity", # "appWaitActivity": "org.cnodejs.android.md.ui.activity.LaunchActivity", "noReset": "true", "unicodeKeyboard": "true", "resetKeyboard": "true", "appPackage": "org.cnodejs.android.md" } return webdriver.Remote("http://127.0.0.1:" + port + "/wd/hub", capabilities)