Python&Appium实现滑动引导页进入APP

最近在研究安卓APP的自动化测试。首先遇到的问题是,当一个session建立的时候,最先进入的是欢迎页和引导页,引导页有三张,最后一张上显示“enter”按钮,点击才能进入主界面。

欢迎页加引导页,这两个页面是每次进入APP都无法避免的,如何通过代码执行跳过它们进入主界面的操作呢?

1、建立session

def test_enterApp(self): desired_caps = {} desired_caps[‘platformName‘] = ‘Android‘ desired_caps[‘platformVersion‘] = ‘4.4.4‘ desired_caps[‘app‘] = ‘/Users/a140/Downloads/app.apk‘ desired_caps[‘deviceName‘] = ‘03083025d0250909‘ self.driver = webdriver.Remote(‘http://localhost:4723/wd/hub‘, desired_caps) self.driver.implicitly_wait(5)

2、运用代码模拟手指从右向左滑动的操作

#获取屏幕宽度和高度 def getSize(self): x = self.driver.get_window_size()[‘width‘] y = self.driver.get_window_size()[‘height‘] return (x, y) #向左滑动 def swipeLeft(self): l = self.getSize() x1 = int(l[0] * 0.9) y1 = int(l[1] * 0.5) x2 = int(l[0] * 0.1) self.driver.swipe(x1, y1, x2, y1)

因为手机屏幕的尺寸多样,所以这里不设置固定的宽度和高度的值,而是封装了一个获取屏幕宽高度的方法,通过它计算屏幕滑动的坐标和距离。

3、调用swipeLeft()方法向左滑动,最后通过find_element_by_id()找到“enter”按钮,然后点击进入主界面

#向左滑动跳过引导页
        x = 0
        while x < 3:
            self.swipeLeft()
            x += 1
        enterApp = self.driver.find_element_by_id("com.app.night:id/enter")
        enterApp.click()

完整的代码如下所示:

import unittest
from appium import webdriver

class HelloWorld(unittest.TestCase):
    def test_enterFilter(self):
        desired_caps = {}
        desired_caps[‘platformName‘] = ‘Android‘
        desired_caps[‘platformVersion‘] = ‘4.4.4‘
        desired_caps[‘app‘] = ‘/Users/a140/Downloads/app.apk‘
        desired_caps[‘deviceName‘] = ‘03083025d0250909‘
        self.driver = webdriver.Remote(‘http://localhost:4723/wd/hub‘, desired_caps)
        self.driver.implicitly_wait(5)
        #向左滑动跳过引导页
        x = 0
        while x < 3:
            self.swipeLeft()
            x += 1
        enterApp = self.driver.find_element_by_id("com.app.night:id/enter")
        enterApp.click()

    #获取屏幕宽度和高度
    def getSize(self):
        x = self.driver.get_window_size()[‘width‘]
        y = self.driver.get_window_size()[‘height‘]
        return (x, y)

    #向左滑动
    def swipeLeft(self):
        l = self.getSize()
        x1 = int(l[0] * 0.9)
        y1 = int(l[1] * 0.5)
        x2 = int(l[0] * 0.1)
        self.driver.swipe(x1, y1, x2, y1)

if __name__ == ‘__main__‘:
    suite = unittest.TestLoader().loadTestsFromTestCase(HelloWorld)
    unittest.TextTestRunner(verbosity=2).run(suite)

原文地址:https://www.cnblogs.com/liushengchieh/p/9084827.html

时间: 2024-10-14 17:45:40

Python&Appium实现滑动引导页进入APP的相关文章

ionic2 左右滑动引导页

1.创建应用: 使用Ionic2创建应用非常简单,只需在V1的命令后跟上--v2即可,如下: 1 ionic start ionic2-welcome --v2 启动流浏览器,查看当前效果 1 ionic serve 2.创建Component 使用命令行创建页面或者自行在创建文件 1 ionic g page welcome 然后打开应用跟组件app.component.ts,导入组件,app.module.ts也一样并配置 1 import { WelcomePage } from '../

ViewPager滑动引导页

ViewPager实现Animation动画引导页   http://blog.csdn.net/ye_scofield/article/details/44831357 SurfaceView实现动画引导页(1)       http://blog.csdn.net/ye_scofield/article/details/45153743 SurfaceView实现动画引导页(2)      http://blog.csdn.net/ye_scofield/article/details/45

Viewpager实现滑动引导页原理

首先需要一个layout作为主界面,layout里面放一个viewpager作为容器盛放不同的页面.再建三个layout文件分别盛放三张图片 ? Activity里利用findViewByID找到viewpager容器 ? 利用LayoutInflater获取一个inflater,通过inflater找到盛放三个图片的xml文件,将他们作为View存放到一个列表中. ? 将列表传递给adapter. ? 建立一个adapter继承PageAdapter,复写四个必须实现的方法.

python+appium 自动化1--启动手机京东app

出处:https://www.cnblogs.com/yoyoketang/p/6128735.html 前言: 环境搭建好了.接下来先体验下如何启动app--1.首先获取包名:2.然后获取launcherActivity.获取这两个关键东西的方法很多,下面我们使用一个sdk自带的实用工具aapt. aapt:Android Assert Packaging Tool,在SDK的build-tools目录下,该工具可以查看apk包名和launcherActivity,当然还有更多功能. 一.下载

Android 仿网易新闻v3.5:上下滑动的引导页

版权声明:本文为博主原创文章,未经博主允许不得转载. 最近看了下网易新闻月初发布的3.5版,发现两个比较明显的改动: 1.引导页的修改,变为上下滑动. 2.增加了聚合阅读,里面的动画效果也是蛮有创意的.于是又禁不住模仿一下 这次先看这个上下滑动的引导页效果图: 这种效果具体怎么做呢? 首先直接上github,直接看有没有相关的开源项目,果不其然,被我找到了: https://github.com/JakeWharton/Android-DirectionalViewPager JakeWhart

用ViewPager为你的APP引导页添加视差滚动(Parallax Scrolling)效果

什么是视差滚动 视差滚动效果是怎样的 如何实现视差滚动效果 1 通过使用ViewPager实现页面的左右滑动 2 ViewPager有办法实现ParallaxScrolling吗 3 ViewPagerPageTransformer如何使用 由视差滚动效果引起的思考 以上仅是个人在开发中收集的经验欢迎大家拍砖 1. 什么是视差滚动? Parallax Scrolling(视差滚动),是一种常见的动画效果.视差一词来源于天文学,但在日常生活中也有它的身影.在疾驰的动车上看风景时,会发现越是离得近的

Android之上下滑动的引导页

前几天无意中看到一篇博文,名字叫Android 仿网易新闻v3.5:上下滑动的引导页,才知道原来应用的新手教学--即初次安装应用的引导程序,还可以上下滑动而不是左右滑动,今天就抽空把这个东西学习了一下,本案例是基于JakeWharton编写的类的改写. ( 在github上,有相关的开源项目 https://github.com/JakeWharton/Android-DirectionalViewPager 这个项目实际上是在ViewPager的基础上,做了一个扩展,加入了对上下方向滑动的支持

iOS - GitHub干货分享(APP引导页的高度集成 - DHGuidePageHUD)

好长时间没更新博客, 是时候来一波干货分享了;APP引导页话不多说每一个APP都会用到,分量不重但是不可缺少,不论是APP的首次安装还是版本的更新,首先展现给用户眼前的也就只有它了吧,当然这里讲的不是APP引导页的美化而是APP引导页的高度集成, 一行代码搞定APP引导页是不是太夸张?下面我们就来看一下吧! (一)先上GitHub连接,给大家节省时间(分享是一种美德,Star是一种鼓励; PS:大家别忘了抽出一秒钟的时间点击GitHub右上角的小星星?Star一下, 鼓励一下集成SDK的人??

android使用ViewPager实现欢迎引导页

android使用ViewPager实现欢迎引导页 大多数APP第一次启动的时候,都会有一个引导界面,左右滑动,到最后一张,用户点击才再次进入主界面.当第二次启动的时候,则直接进入主界面. 这种效果一般使用ViewPager实现.今天就来为大家介绍一下ViewPager的使用. 实现步骤: 使用SharedPerferences来记录是否是第一次启动APP,如果是,则转跳到Guide页面,如果不是第一次启动.就转跳到主Activity. MainActivity: 本Activity作为Logo