软件测试之路测试Inbox百人计划

Appium-实战之滑屏

2017-11-15  本文已影响103人  五娃儿

我司app安装后,有4页的引导页,需要左滑,左滑,左滑,在左滑,然今天滑的比较“艰难”,《先看结果后看问题》。

operationApp.py的代码如下:

#coding:utf-8
# Author:dbl
import unittest

from appium import webdriver
from we.basicConfigetodevices import get_basic_config, swipe_to_left

SLEEPY_TIME = 15
SWIPE_COUNT = 4

class TouchActionTests(unittest.TestCase):
    def setUp(self):
        '''
        启动app
        :return:
        '''
        desired_caps1 = get_basic_config('v2.0.0.apk')
        self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps1)

    def tearDown(self):
        '''
        退出
        :return:
        '''
        self.driver.quit()

    def test_swipe_app_boot_page(self):
        '''
        滑动4个引导页并点击开启投资按钮
        :return:
        '''
        swipe_to_left(self.driver, num=SWIPE_COUNT)
        self.driver.implicitly_wait(SLEEPY_TIME)
        el = self.driver.find_element_by_name("开启投资")
        el.click()


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

basicConfigetodevices.py的代码如下:

#coding:utf-8
# Author:xxx

import os

PATH = lambda p: os.path.abspath(
    os.path.join(os.path.dirname(__file__), p)
)

SLEEPY_TIMES = 5
def get_basic_config(app):
    '''
    udid信息、包名、Activity
    :param app: 
    :return: 
    '''
    desired_caps = {
        'platformName': 'Android',
        'platformVersion': '4.4',
        'deviceName': '手机的udid',
        'app': PATH('./app/' + app),
        'appPackage': 'package',
        'appActivity': '启动的Activity',
        'noSign': True ,
        'unicodeKeyboard':True,
        'resetKeyboard': True
    }
    return desired_caps

def get_size(driver):
    '''
    获取链接手机的屏幕大小
    :param driver: 
    :return: 
    '''
    x = driver.get_window_size()['width']
    y = driver.get_window_size()['height']
    return (x,y)

def swipe_to_left(driver,num=1):
    '''
    左滑操作
    :param driver: 
    :param num: 左滑的个数
    :return: 
    '''
    m, n = get_size(driver)
    for i in range(0, num, 1):
        driver.swipe(m * 0.9, n / 2, m / 5, n / 2, 500)
        driver.implicitly_wait(SLEEPY_TIMES)

问题一:如何实现左滑操作?

问题二:如何确定开始坐标点和结束坐标点?

image.png

问题三:获取屏幕的宽度和高度?

样例.png
上一篇 下一篇

猜你喜欢

热点阅读