Appium + Python自动化测试学习之七:Scroll滑动页面操作实例

Appium 中webdriver提供scroll()方法来滚动页面,不过不是滑动滚动条,而是获取两个元素后,从一个元素滚动到另一个元素。

scroll的方法简介:

scroll(self, origin_el, destination_el, duration=None):

参数:
          - originalEl - 开始要滚动的元素
          - destinationEl - 要滚动到的元素
          - 即从元素origin_el滚动至元素destination_el
          - duration 即滚动的持续时间
用法: driver.scroll(el1,el2)

讲解实例
如下图所示,用scroll方法实现从“物理”元素滚动到“语文”元素。
在这里插入图片描述

from appium import webdriver
from time import sleep
import os
from selenium.webdriver.support.wait import WebDriverWait

desired_caps={
   'platformName':'Android',
   'platformVersion':'6.0.1',
   'deviceName':'127.0.0.1:21503',
   '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)

driver.find_element_by_xpath("//*[@class='android.widget.RelativeLayout' and @index='3']").click()

sleep(10)
def taptest(driver):
    # 设定系数,控件在当前手机的坐标位置除以当前手机的最大坐标就是相对的系数了
    a1 = 536/1073
    b1 = 1542/1916
    # 获取当前手机屏幕大小X,Y
    X = driver.get_window_size()['width']
    Y = driver.get_window_size()['height']
    # 屏幕坐标乘以系数即为用户要点击位置的具体坐标
    driver.tap([(a1*X, b1*Y)])
#处理广告弹窗
taptest(driver)
sleep(1)
WebDriverWait(driver,100).until(lambda x :x.find_element_by_accessibility_id('全部分类')).click()

def scroll_page():
	#获取【语文】、【物理】两个元素,将页面从语文向物理滑动,即从右向左滑动
	stop_element=driver.find_element_by_accessibility_id('语文')
	start_element=driver.find_element_by_accessibility_id('物理')
	driver.scroll(start_element,stop_element,3000)


if __name__ == '__main__':
    scroll_page()

注意: scroll() 与swipe()的区别,swipe是可以根据自己需要设置滑动的距离,而scroll是根据页面中两个元素位置距离进行滑动。

swipe请参考博客:swipe滑屏操作实例

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值