其他分享
首页 > 其他分享> > appium操作

appium操作

作者:互联网

1.获取driver属性

# 获取现在的app页面的名称
print(driver.current_activity)
# 获取现在的app页面的源代码 xml
print(driver.page_source)
# 定位
print(driver.location)
# 获取caps参数信息
print(driver.capabilities)
# 获取窗口大小,屏幕尺寸
print(driver.get_window_size())

2.获取元素属性

el = driver.find_element("id", "com.lemon.lemonban:id/navigation_my")
# 获取元素的文本
print(el.text)
# 获取元素的尺寸,包含元素的高度宽度和起始点的坐标
print(el.rect)

3.用户操作

4.触屏操作

5.swipe滑动

 在 Appium 中提供 swipe() 方法来模拟用户滑动屏幕。

 swipe() 实现过程 是先通过在屏幕上标记两个坐标,然后再从开始坐标移动到结束坐标。

# 滑动操作
# get_window_size()获取屏幕尺寸
width = driver.get_window_size()['width']
height = driver.get_window_size()['height']
driver.swipe(start_x=width * 0.9, start_y=height * 0.5, end_x=width * 0.1, end_y=height * 0.5)
driver.swipe(start_x=width * 0.9, start_y=height * 0.5, end_x=width * 0.1, end_y=height * 0.5)
driver.swipe(start_x=width * 0.9, start_y=height * 0.5, end_x=width * 0.1, end_y=height * 0.5)

封装后:

class Page:

    def __init__(self, driver):
        self.driver = driver

    def width(self):
        """获取app的宽度"""
        return self.driver.get_window_size()['width']

    def height(self):
        """获取app的高度"""
        return self.driver.get_window_size()['height']

    def swipe_left(self):
        """从右往左滑动"""
        width = self.width()
        height = self.height()
        self.driver.swipe(start_x=width * 0.9, start_y=height * 0.5, end_x=width * 0.1, end_y=height * 0.5)

    def swipe_right(self):
        """从左往右滑动"""
        width = self.width()
        height = self.height()
        self.driver.swipe(start_x=width * 0.1, start_y=height * 0.5, end_x=width * 0.9, end_y=height * 0.5)

    def swipe_up(self):
        """从下往上滑动"""
        width = self.width()
        height = self.height()
        self.driver.swipe(start_x=width * 0.5, start_y=height * 0.9, end_x=width * 0.5, end_y=height * 0.1)

    def swipe_down(self):
        """从上往下滑动"""
        width = self.width()
        height = self.height()
        self.driver.swipe(start_x=width * 0.5, start_y=height * 0.1, end_x=width * 0.5, end_y=height * 0.9)

6.按键操作

driver.press_keycode(8)

按键的数字代表的意义可参考:

Appium---Android的keycode键值 - 简书

7.toast弹框

前提

登录:Toast是viewer识别不到的,但是我们需要确认文本时候正确。

定位

a)表达式

b)等待方式

注意:wait只能用pesence_of_element_located,不能用visibility

8.start_activity进入页面

app的路径依赖是很严重的,如果需要测试某个单纯的页面,但是进入这个页面有很长的路径,则会严重影响效率,而且路径过长,会让测试程序不稳定。

start_activity可以快速进入指定界面,只需要指定activity的名称。

获取当前页面的名称:

adb shell dumpsys activity | find "mResumedActivity"

driver.start_activity('com.lemon.lemonban','.activity.LoginActActivity')

标签:appium,start,self,swipe,driver,height,width,操作
来源: https://blog.csdn.net/Ly_LittleStar/article/details/122177993