python自动化测试-appium命令
# #!usr/bin/env python# # -*- coding:utf-8 -*-# """# # python2.7# @author:yWX509430# @time: 2018/03/14 08:52:08# import sys# reload(sys)# sys.setdefaultencoding('utf-8')# ""&q
·
# #!usr/bin/env python
# # -*- coding:utf-8 -*-
# """
# # python2.7
# @time: 2018/03/14 08:52:08
# import sys
# reload(sys)
# sys.setdefaultencoding('utf-8')
# """
#coding=utf-8
import os
import re
from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction
# D:\Program Files (x86)\Appium\node_modules\appium\lib\devices\android\android.js
settingsApkPath = './apk/settings_apk-debug.apk'
unlockApkPath = './apk/unlock_apk-debug.apk'
def init():
_initApks()
platformName = 'Android'
platformVersion = os.popen('adb shell getprop ro.build.version.release').readlines()[0].split('\r\n')[0]
deviceName = os.popen('adb devices').readlines()[1].split('\t')[0]
appPackage = 'com.android.calculator2'
appActivity = '.Calculator'
desired_caps = {}
desired_caps['platformName'] = platformName
desired_caps['platformVersion'] = platformVersion
desired_caps['deviceName'] = deviceName
# desired_caps['appPackage'] = 'com.huawei.hivision.testywj1'
# desired_caps['appActivity'] = '.HiVMainActivity'
desired_caps['appPackage'] = appPackage
desired_caps['appActivity'] = appActivity
global driver
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
def step():
driver.find_element_by_name("1").click()
driver.find_element_by_name("5").click()
driver.find_element_by_name("9").click()
# driver.find_element_by_name("delete").click()
driver.find_element_by_name("9").click()
driver.find_element_by_name("5").click()
driver.find_element_by_name("6").click()
# driver.find_element_by_name("=").click()
driver.quit()
# 按键
# driver.find_element_by_name("Name").sendKeys("jack")
driver.press_keycode(29)
# 模拟点击
TouchAction(driver).press(x=0, y=308).release().perform()
TouchAction(driver).move_to(x=0, y=308).release().perform()
TouchAction(driver).wait(3000)
driver.lock(10)
# driver.current_activity
# driver.current_context
# driver.current_package
# driver.current_url
# driver.current_window_handle
# 收起键盘
driver.hide_keyboard()
# 滑动
driver.swipe(75, 500, 75, 0, 800)
# 拉推文件
driver.pull_file('Library/AddressBook/AddressBook.sqlitedb')
driver.push_file('','')
# resetApp()
# getAppString()
# sendKeyEvent()
# currentActivity()
# pullFile()
# pushFile()
# pullFolder()
# hideKeyboard()
# runAppInBackground()
# performTouchAction()
# performMultiTouchAction()
# tap()
# swipe()
# pinch()
# zoom()
# getNamedTextField()
# isAppInstalled()
# installApp()
# removeApp()
# launchApp()
# closeApp()
# endTestCoverage()
# lockScreen()
# shake()
# complexFind()
# scrollTo()
# scrollToExact()
# openNotifications()
# Context
# Switching:.context(),.getContextHandles(), getContext())
# findElementByAccessibilityId()
# findElementsByAccessibilityId()
# findElementByIosUIAutomation()
# findElementsByIosUIAutomation()
# findElementByAndroidUIAutomator()
# findElementsByAndroidUIAutomator()
# find_element_by_accessibility_id
# find_elements_by_accessibility_id
# find_element_by_android_uiautomator
# find_elements_by_android_uiautomator
def _getPackageName(apkPath):
appPackageAdb = list(os.popen(r'D:\Android\hwsdk\build-tools\26.0.2\aapt.exe dump badging ' + apkPath).readlines())
return re.findall(r"package: name='(.*?)'", appPackageAdb[0])[0]
def _isApkInstalled(packageName):
adb_get_packages = 'adb shell pm list packages'
output = os.popen(adb_get_packages)
packages = []
for line in output.readlines():
packages.append(line.strip())
return packages.__contains__('package:' + packageName)
def _initApks():
print('start initApks------------------------')
settingsPackageName = _getPackageName(settingsApkPath)
unlockPackageName = _getPackageName(unlockApkPath)
# install settingsApk
if not _isApkInstalled(settingsPackageName):
installAdb = 'adb install -r ' + settingsApkPath
installResult = os.popen(installAdb).read()
print('install:' + settingsPackageName + installResult)
else:
print(settingsPackageName + ' has been installed')
# install settingsPackage
if not _isApkInstalled(unlockPackageName):
installAdb = 'adb install -r ' + unlockApkPath
installResult = os.popen(installAdb).read()
print('install:' + unlockPackageName + installResult)
else:
print(unlockPackageName + ' has been installed')
print('end initApks------------------------')
def end():
print('All Success')
if __name__=='__main__':
init()
step()
end()
更多推荐
已为社区贡献3条内容
所有评论(0)