import unittest
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.common.by import By
from appium import webdriver
import traceback,time
class AppTest(unittest.TestCase):
#初始化设置
def setUp(self):
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5'
desired_caps['deviceName'] = 'jinli'
# desired_caps['app'] = r''
desired_caps['appPackage'] = '包名'
desired_caps['appActivity'] = '启动Activity'
desired_caps['unicodeKeyboard'] = True
desired_caps['noReset'] = True
desired_caps['newCommandTimeout'] = 6000
self.driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
self.driver.implicitly_wait(10)
def left_swipe(self,duration):
#获取分辨率宽度、高度
x = self.driver.get_window_size()['width']
y = self.driver.get_window_size()['height']
#设置滑动的通用范围
self.driver.swipe(x*0.8,y*0.5,x*0.2,y*0.5,duration)
def findelement(self,element):
try:
#判断引导页是否存在 #显式等待及判断
WebDriverWait(self.driver, 10).until(expected_conditions.presence_of_element_located((By.ID, element)))
except:
return traceback.format_exc()
#是否登录判断
def testlogin(self):
if self.findelement('org.sojex.finance:id/kn/android.widget.RelativeLayout'):
print('success find')
self.left_swipe(500)
time.sleep(0.5)
self.driver.find_element_by_id('org.sojex.finance:id/kq').click()
else:
print('welcome page no exist ')
self.driver.implicitly_wait(10)
if self.findelement('org.sojex.finance:id/aw_'):
self.driver.find_element_by_id('org.sojex.finance:id/aw_').send_keys('13951955047')
self.driver.find_element_by_id('org.sojex.finance:id/awj').find_element_by_class_name('android.widget.EditText')
self.driver.find_element_by_id('org.sojex.finance:id/kq').click()
else:
print('already login')
#清除操作
def tearDown(self):
self.driver.quit()
if __name__ == '__main__' :
unittest.main()
appium简单应用
最新推荐文章于 2023-02-04 15:19:26 发布