Appium + Python自动化测试学习之六:swipe滑屏操作实例

我们在操作APP过程中,经常会遇到屏幕滑动,如看微信朋友圈时,经常会遇到向下、向上的滑动;浏览图片时遇到向左、向右滑动;登录过程中遇到九宫格的滑动等等。那么在自动化测试过程中,滑动是怎么操作的呢?appium的Webdriver提供了swipe的方法来实现滑动。
格式:swipe(self,start_x, start_y,end_x,end_y,duration)
解释 :

start_x-开始滑动的x坐标;
start_y -开始滑动的y坐标 ;
end_x -结束点x坐标;
end_y -结束点y坐标; 
duration 滑动时间(默认5毫秒)。

屏幕左上角为起点,坐标为(0,0),起点往右为X轴,起点以下为Y轴

一.向左滑动

实例操作: 如下图所示,从B点向A点滑动,滑动时间为1秒。
分析: 首先要获取手机屏幕的Width和Height。而通过下图可以看出,B点滑动到A点,只是X轴变动了,而Y轴没有变动。B点和A点的Y轴相当于屏幕的正中间。那么x1=x0.9 x2=x0.1,y1=y2=y*0.5
在这里插入图片描述
代码示例:

from appium import webdriver
from time import sleep
desired_caps={
   'platformName':'Android',
   'platformVersion':'6.0.1',
   'deviceName':'127.0.0.1:21305',
   'appPackage':'com.baidu.homework',
   'appActivity':'com.baidu.homework.activity.index.IndexActivity',
    'automationName':'Appium',
    'noReset':False
}
driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)

#获取屏幕size
size = driver.get_window_size()
print(size)
#屏幕的宽度 width
x=size['width']
#屏幕的高度 height
y=size['height']

def swipe_left():
    """
    向左滑动
    """
    x1=x*0.9
    y1=y*0.5
    x2=x*0.1
    t=1000
    n=1#n表示滑动次数
    sleep(1)
    for i in range(n):
        driver.swipe(x1,y1,x2,y1,t)

二.向右滑动

实例操作: 如下图所示,从B点向A点滑动,滑动时间为1秒,滑动两次。
分析: 首先要获取手机屏幕的Width和Height。而通过下图可以看出,B点滑动到A点,就是从手机屏幕左边中点位置向右滑动,即X轴变动了,而Y轴在中点没有变动。那么x1=x0.1 x2=x0.9,y1=y2=y*0.5
在这里插入图片描述
代码示例:

from appium import webdriver
from time import sleep
desired_caps={
   'platformName':'Android',
   'platformVersion':'6.0.1',
   'deviceName':'127.0.0.1:21305',
   'appPackage':'com.baidu.homework',
   'appActivity':'com.baidu.homework.activity.index.IndexActivity',
    'automationName':'Appium',
    'noReset':False
}
driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)

#获取屏幕size
size = driver.get_window_size()
print(size)
#屏幕的宽度 width
x=size['width']
#屏幕的高度 height
y=size['height']

def swipe_right():
    """
    向右滑动
    """
    x1=x*0.1
    y1=y*0.5
    x2=x*0.9
    t=1000
    n=2#n表示滑动次数
    sleep(1)
    for i in range(n):
        driver.swipe(x1,y1,x2,y1,t)

三.向下滑动

实例操作: 如下图所示,从B点向A点滑动,滑动时间为1秒,滑动三次。
分析: 首先要获取手机屏幕的Width和Height。而通过下图可以看出,B点滑动到A点,就是从手机屏幕最上边向下滑动,即Y轴一直在变红,而X轴在中点没有变动。那么x1=x2=x0.5, y1=x0.1,y2=y*0.9
在这里插入图片描述
代码示例:

from appium import webdriver
from time import sleep
desired_caps={
   'platformName':'Android',
   'platformVersion':'6.0.1',
   'deviceName':'127.0.0.1:21305',
   'appPackage':'com.baidu.homework',
   'appActivity':'com.baidu.homework.activity.index.IndexActivity',
    'automationName':'Appium',
    'noReset':False
}
driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)

#获取屏幕size
size = driver.get_window_size()
print(size)
#屏幕的宽度 width
x=size['width']
#屏幕的高度 height
y=size['height']

def swipe_down():
    """
    向下滑动
    """
    x1=x*0.5
    y1=y*0.1
    y2=y*0.9
    t=1000
    n=3#n表示滑动次数
    sleep(1)
    for i in range(n):
        driver.swipe(x1,y1,x1,y2,t)

四.向上滑动

实例操作: 如下图所示,从B点向A点滑动,滑动时间为10秒,滑动两次。
分析: 首先要获取手机屏幕的Width和Height。而通过下图可以看出,B点滑动到A点,就是从手机屏幕最下边向上滑动,即Y轴一直在变化,而X轴在中点没有变动。那么x1=x2=x0.5, y1=y0.9,y2=y*0.1
在这里插入图片描述
代码示例:

from appium import webdriver
from time import sleep
desired_caps={
   'platformName':'Android',
   'platformVersion':'6.0.1',
   'deviceName':'127.0.0.1:21305',
   'appPackage':'com.baidu.homework',
   'appActivity':'com.baidu.homework.activity.index.IndexActivity',
    'automationName':'Appium',
    'noReset':False
}
driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)

#获取屏幕size
size = driver.get_window_size()
print(size)
#屏幕的宽度 width
x=size['width']
#屏幕的高度 height
y=size['height']

def swipe_up():
    """
    向上滑动
    """
    x1=x*0.5
    y1=y*0.9
    y2=x*0.1
    t=10000
    n=2#n表示滑动次数
    sleep(1)
    for i in range(n):
        driver.swipe(x1,y1,x1,y2,t)
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Appium是一个用于自动化移动应用程序的开源工具,而Python是一种流行的编程语言,可以使用AppiumPython来实现移动应用程序的自动化测试。 连接模拟器并启动淘宝App的步骤如下: 1. 首先,需要安装AppiumPython的相关环境,包括Node.js、npm、Appium Server、PythonAppium Python客户端库。 2.打开Android模拟器,确保模拟器已经启动。 3.导入所需的Python库,包括webdriver、MobileBy和AppiumWebElement。 4.设置Appium连接参数,包括设备名称、平台版本、App路径和包名。 5.通过Appium Python客户端库中的webdriver.Remote()方法建立与Appium Server的连接。 6.使用find_element()方法找到并点击启动淘宝App的按钮。 7.等待淘宝App启动完成。 完整的Python代码示例如下: ```python from appium import webdriver from appium.webdriver.common.mobileby import MobileBy from appium.webdriver.webelement import WebElement desired_caps = { 'platformName': 'Android', 'platformVersion': '10', 'deviceName': 'emulator-5554', 'appPackage': 'com.taobao.taobao', 'appActivity': 'com.taobao.tao.homepage.MainActivity3' } driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) button = driver.find_element(MobileBy.XPATH, '//android.widget.Button[@text="淘宝"]') button.click() # 等待淘宝App启动完成 driver.implicitly_wait(10) driver.quit() ``` 请注意,上述代码中的设备名称、平台版本、App路径和包名需要根据实际情况进行修改。 以上就是使用AppiumPython连接模拟器并启动淘宝App的详细步骤和示例代码。通过这种方式,可以进行移动应用程序的自动化测试操作

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值