1.元素等待
2.截图
等待元素和截图
from appium import webdriver
from time import sleep
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from appium.webdriver.common.touch_action import TouchAction
caps = {}
caps["platformName"] = "Android"
caps["platformVersion"] = "5.1.1"
caps["deviceName"] = "127.0.0.1:62001"
caps["appPackage"] = "com.android.settings"
caps["appActivity"] = ".Settings"
caps["notReset"]=True
driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',caps)
driver.implicitly_wait(10)
driver.get_screenshot_as_file('scrennshot1.png')
driver.save_screenshot('scrennshot2.png')
def get_size():
x=driver.get_window_size()['width']
y=driver.get_window_size()['height']
return x,y
def swipeUP():
size = get_size()
x=int(size[0]*0.5)
y1 = int(size[1] * 0.9)
y2 = int(size[1] * 0.3)
driver.swipe(x,y1,x,y2,1000)
while True:
try:
# 定位安全
ele=driver.find_element_by_xpath('//android.widget.TextView[@text=\"安全\"]')
except:
# 向上滑屏找到‘安全’
swipeUP()
else:
sleep(2)
ele.click()
break
# 点击图案,进入九宫格界面
ele=WebDriverWait(driver,10).until(EC.presence_of_element_located((By.ID,'android:id/summary')))
ele.click()
sleep(2)
x,y=get_size()
TouchAction(driver).press(x=x*0.16,y=y*0.35).wait(1000)\
.move_to(x=x*0.5,y=y*0.35).wait(1000)\
.move_to(x=x*0.8,y=y*0.53).wait(1000)\
.move_to(x=x*0.8,y=y*0.72).wait(1000).release().perform()3.报告
将下边的文件放入Python环境的lib文件夹下

from appium import webdriver
from time import sleep
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from appium.webdriver.common.touch_action import TouchAction
from HTMLTestRunnerCN import HTMLTestRunner
import unittest
import warnings
class TestSettings(unittest.TestCase):
def setUp(self):
# 忽略警告
warnings.simplefilter("ignore", ResourceWarning)
caps = {}
caps["platformName"] = "Android"
caps["platformVersion"] = "5.1.1"
caps["deviceName"] = "127.0.0.1:62001"
caps["appPackage"] = "com.android.settings"
caps["appActivity"] = ".Settings"
caps["notReset"] = True
self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', caps)
self.driver.implicitly_wait(10)
def test_settings(self):
def get_size():
x = self.driver.get_window_size()['width']
y = self.driver.get_window_size()['height']
return x, y
def swipeUP():
size = get_size()
x = int(size[0] * 0.5)
y1 = int(size[1] * 0.9)
y2 = int(size[1] * 0.3)
self.driver.swipe(x, y1, x, y2, 1000)
while True:
try:
# 定位安全
ele = self.driver.find_element_by_xpath('//android.widget.TextView[@text=\"安全\"]')
except:
# 向上滑屏找到‘安全’
swipeUP()
else:
sleep(2)
ele.click()
break
# 点击图案,进入九宫格界面
ele = WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, 'android:id/summary')))
ele.click()
sleep(2)
ele1= self.driver.find_element_by_xpath('//android.widget.TextView[@text=\"图案\"]')
ele1.click()
sleep(2)
x, y = get_size()
TouchAction(self.driver).press(x=x * 0.16, y=y * 0.35).wait(1000) \
.move_to(x=x * 0.5, y=y * 0.35).wait(1000) \
.move_to(x=x * 0.8, y=y * 0.53).wait(1000) \
.move_to(x=x * 0.8, y=y * 0.72).wait(1000).release().perform()
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
# unittest.main()
suite = unittest.TestSuite()
suite.addTest(TestSettings("test_settings"))
fp = open('report.html', 'wb')
runner = HTMLTestRunner(stream=fp, title="测试报告", description='测试用例执行结果')
runner.run(suite)
fp.close()
版权声明:本文为qq_27251475原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

