用appium来操作模拟器

 1 import time
 2 from appium import webdriver
 3 from selenium.webdriver.common.by import By
 4 from selenium.webdriver.support.wait import WebDriverWait
 5 from selenium.webdriver.support import expected_conditions as Ec
 6 
 7 # 初始化app的配置信息
 8 
 9 des_cap = dict()  # 定义字典参数
10 des_cap["platformName"] = "android"  # 表示的是android 或者IOS系统
11 des_cap["platformVersion"] = "6.0.1"  # 表示的是平台系统的版本号
12 des_cap["deviceName"] = "****"  # 表示的是设备的ID名称(如果只有一个设备可以用****来替代)
13 des_cap["appPackage"] = "com.android.settings"  # 表示的是app的包名
14 des_cap["appActivity"] = ".Settings"  # 表示的是app的界面名
15 
16 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', des_cap)
17 
18 # 安装app
19 # driver.install_app(r'F:\安装包\mumu模拟器\app自动化工具集合\apk\bainianaolaitemai_115.apk')
20 # 卸载app
21 # driver.remove_app("com.em.mobile")
22 
23 driver.find_element('xpath', "//*[@text='更多']").click()
24 # time.sleep(2)
25 # 显示等待,不一定要等待7秒,找到就进行
26 element= WebDriverWait(driver,7).until(Ec.presence_of_element_located((By.XPATH,"//*[@text='开启']")))
27 element.click()
28 # driver.find_element('xpath',"//*[@text='关闭']").click()
29 # driver.find_element(By.XPATH,"//*[@text='开启']").click()
30 # 这是开启跟关闭飞行模式
31 
32 time.sleep(3)
33 driver.quit()

 

用appium来操作模拟器

 

 滚动操作

 1 """
 2 swipe滑动事件
 3 driver.swipe(startx,starty,endx,endy,duration=None)
 4 duration用来降低滑屏的速度及惯性,单位是ms
 5 """
 6 import time
 7 from appium import webdriver
 8 from selenium.webdriver.common.by import By
 9 from selenium.webdriver.support.wait import WebDriverWait
10 from selenium.webdriver.support import expected_conditions as Ec
11 
12 # 初始化app的配置信息
13 
14 des_cap = dict()  # 定义字典参数
15 des_cap["platformName"] = "android"  # 表示的是android 或者IOS系统
16 des_cap["platformVersion"] = "6.0.1"  # 表示的是平台系统的版本号
17 des_cap["deviceName"] = "****"  # 表示的是设备的ID名称(如果只有一个设备可以用****来替代)
18 des_cap["appPackage"] = "com.android.settings"  # 表示的是app的包名
19 des_cap["appActivity"] = ".Settings"  # 表示的是app的界面名
20 
21 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', des_cap)
22 
23 
24 # 显示等待封装
25 # until "调用驱动程序提供的方法作为参数,直到返回值不为False"
26 def get_element(driver, element):  # element 表示的元素定位的值
27     wait = WebDriverWait(driver, 10, 1)
28     element = wait.until(lambda x: x.find_element(element[0], element[1]))
29     return element
30 
31 
32 # 电池 按钮
33 save_btn = By.XPATH, "//*[@text='应用']"
34 save_element = get_element(driver, save_btn)
35 
36 # 蓝牙 按钮
37 lanya_btn = By.XPATH, "//*[@text='蓝牙']"
38 lanya_element = get_element(driver, lanya_btn)
39 
40 # save_element = WebDriverWait(driver,10,1).until(lambda x:x.find_element(By.XPATH,"//*[@text='应用']"))
41 # lanya_element = WebDriverWait(driver,10,1).until(lambda x:x.find_element(By.XPATH,"//*[@text='蓝牙']"))
42 
43 # 通过scroll来进行滑动操作
44 driver.scroll(save_element, lanya_element)
45 
46 time.sleep(5)
47 driver.quit()

二:简洁

 1 def get_element(driver,element):
 2     wait = WebDriverWait(driver,10,1)
 3     element = wait.until(lambda x: x.find_element(element[0],element[1]))
 4     return element
 5 
 6 
 7 
 8 
 9 save_btn =By.XPATH,"//*[@text='应用']"
10 save_element =get_element(driver,save_btn)
11 
12 
13 lan_tn = By.XPATH,"//*[@text='蓝牙']"
14 lambda_element = get_element(driver,lan_tn)
15 
16 
17 
18 
19 driver.scroll(save_element,lambda_element)

 

设置滚到这里选择开发者选项,并点击第一个text是关闭的

用appium来操作模拟器用appium来操作模拟器

 用appium来操作模拟器

 

 

 1 import time
 2 from appium import webdriver
 3 from selenium.webdriver.common.by import By
 4 from selenium.webdriver.support.wait import WebDriverWait
 5 
 6 # 初始化app的配置信息
 7 
 8 des_cap = dict()  # 定义字典参数
 9 des_cap["platformName"] = "android"  # 表示的是android 或者IOS系统
10 des_cap["platformVersion"] = "6.0.1"  # 表示的是平台系统的版本号
11 des_cap["deviceName"] = "****"  # 表示的是设备的ID名称(如果只有一个设备可以用****来替代)
12 des_cap["appPackage"] = "com.android.settings"  # 表示的是app的包名
13 des_cap["appActivity"] = ".Settings"  # 表示的是app的界面名
14 
15 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', des_cap)
16 
17 
18 # 封装滑屏操作方法
19 def execute_swipe(driver, fx, count=1):
20     w = driver.get_window_size()["width"]  # 获取手机屏幕的宽度
21     h = driver.get_window_size()["height"]  # 获取手机屏幕的高度
22     # w=1080 h=1920
23     if fx == "top":  # 往上滑
24         zb = (w / 2, h * 0.9, w / 2, h * 0.1)
25     elif fx == "down":  # 往下滑
26         zb = (w / 2, h * 0.1, w / 2, h * 0.9)
27     elif fx == "left":  # 往左滑
28         zb = (w * 0.9, h / 2, w * 0.1, h / 2)
29     else:  # 往右滑
30         zb = (w * 0.1, h / 2, w * 0.9, h / 2)
31     for i in range(count):
32         driver.swipe(*zb, duration=1200)
33         time.sleep(1)
34 
35 
36 # 往上滑三次
37 execute_swipe(driver, 'top', count=3)
38 
39 # 找到开发者模式
40 toast_btn = By.XPATH, "//*[contains(@text,'开发者选项')]"
41 driver.find_element(*toast_btn).click()
42 time.sleep(2)
43 # 点击弹框的关闭(其实就是定位元素)
44 t1 = By.XPATH, "//*[contains(@text,'关闭')]"
45 driver.find_element(*t1).click()
46 
47 driver.quit()

 

上一篇:移动端自动化测试之Windows-Android-Appium环境搭建


下一篇:Java的Appium自动化测试教程