精华内容
下载资源
问答
  • appium 元素操作

    2018-11-20 23:36:00
    find_element_by_id() 通过id来定位 find_element_by_name() 通过text定位,不稳定 已废除。可以修改文件恢复 find_element_by_classname() 通过classname...list定位:find_elements_by_xx() 查找多组元素...

    find_element_by_id()  通过id来定位

    find_element_by_name()  通过text定位,不稳定 已废除。可以修改文件恢复

    find_element_by_classname()  通过classname来定位

    find_element_by_xpath()  通过xpath来定位

    list定位:find_elements_by_xx()  查找多组元素  索引确定

    相对定位:无id、class重复的情况下。通过找父元素唯一后,再找子元素

    element = driver.find_element_by_id()   父元素  

    element.find_element_by_classname()  子元素

     

    Uiautomator元素定位:

    id,text,classname

     

    driver.find_element_by_android_uiautomator('new UiSelector().resourceId(" id ")')

    driver.find_element_by_android_uiautomator('new UiSelector().text(" text ")')

    driver.find_element_by_android_uiautomator('new UiSelector().className(" classname ")')

     

    元素等待:

      1.强制等待:

        time.sleep();

      2.隐形等待:

        driver.implicity_wait();针对所有元素

      3.显示等待:  针对特定元素

        from selenium.webdriver.support.ui import webDriverwait

        webDriverWait(driver, timeout, poll_frequency=0.5,  ignore_exceptions=None)

        driver:Webdriver

        timeout:超时时间

        poll_frequency:休眠时间 间隔默认0.5秒

        ignore_exceptions:超时后的异常信息,默认情况下抛出Nosuchelementexception

        一般和until、until_not()方法配用

        用法:webDriverWait(driver, timeout, poll_frequency=0.5,  ignore_exceptions=None).until(lambda x:x.find_element_by_id())

     

    滑动操作:屏幕滑动,朋友圈上下滑动、浏览图片左右滑动

      driver.swipe(x1,y1,x2,y2,time)

    连续滑动:TouchAction

      from appium.webdriver.common.touch_action import TouchAction

      press(el = None, x, y) 按压:

      TouchAction(driver).press()

      

      长按:longPress(el, x, y, duration=1000) 多了一个按压时间

      点击:tap(el, x, y, count=1)  点击操作

      移动:move_to(el, x, y)将指针从上一个点移动到下一个

      暂停:Wait(ms=0) 暂停毫秒

      释放:release() 结束的行动  取消屏幕的指针

      perform():执行操作

     

    MultiAction:多点移动,放大 缩小 地图

      from appium.webdriver.common.multi_action import MultiAction

      add(*touch_action) 加载 将touchaction对象添加到multiaction中。稍后执行

      perform() 执行

      用法:

        a1 = TouchAction(driver).press(el).move_to(e2).perform()

        a2 = TouchAction(driver).press(e3).move_to(e4).perform()

        MultiAction(driver).add(a1, a2).perform()

     

    定位toast消息:

      1.安装下载 Uiautomator2:

        cmd命令:cnpm appium-uiautomator2-driver

      2.在capability参数配置中:

        desired_caps['automationName'] = "uiautomator2"

      3.定位:

        message = "xxxxx"

        toast_message = ".//*[@text=\'{}\']".format(message)

        toast-element = driver.find_element_by_xpath(toast_message)

    转载于:https://www.cnblogs.com/pengranxindong/p/9992549.html

    展开全文
  • Appium元素定位操作API

    2020-02-01 16:43:33
    Appium元素定位操作 手工测试主要通过可见按钮操作,而自动化是通过元素进行交互操作. ⚠️⚠️⚠️ 元素的基本定位基于当前屏幕范围内展示的可见元素。 1、Appium常用元素定位方式 name value id id...

    Appium元素定位操作

        手工测试主要通过可见按钮操作,而自动化是通过元素进行交互操作.
        ⚠️⚠️⚠️ 元素的基本定位基于当前屏幕范围内展示的可见元素。
    
    • 1、Appium常用元素定位方式
    name value
    id id属性值  
    class class属性值  
    xpath xpath表达式  
    • 2、前置代码
    
        from appium import webdriver
        # server 启动参数
        desired_caps = {}
        # 设备信息
        desired_caps['platformName'] = 'Android'
        desired_caps['platformVersion'] = '5.1'
        desired_caps['deviceName'] = '192.168.56.101:5555'
        # app的信息
        desired_caps['appPackage'] = 'com.android.settings'
        desired_caps['appActivity'] = '.Settings'
    
        # 声明我们的driver对象
        driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    
    • 3、通过id定位

        方法:find_element_by_id(id_value) # id_value:为元素的id属性值
      
        业务场景:
            1.进入设置页面
            2.通过ID定位方式点击搜索按钮
      
        代码实现:
            driver.find_element_by_id("com.android.settings:id/search").click()
            driver.quit()
      
    • 4、通过class定位

        方法:find_element_by_class_name(class_value) # class_value:为元素的class属性值
      
        业务场景:
            1.进入设置页面
            2.点击搜索按钮
            3.通过class定位方式点击输入框的返回按钮
    
        代码实现:
            # id 点击搜索按钮
            driver.find_element_by_id("com.android.settings:id/search").click()
            # class 点击输入框返回按钮
            driver.find_element_by_class_name('android.widget.ImageButton').click()
            driver.quit()
    
    • 5、通过xpath定位

        方法:find_element_by_xpath(xpath_value) # xpath_value:为可以定位到元素的xpath语句
      
        *** android端xptah常用属性定位:
            1. id ://*[contains(@resource-id,'com.android.settings:id/search')] 
            2. class ://*[contains(@class,'android.widget.ImageButton')]
            3. text ://*[contains(@text,'WLA')]
      
        *** 模糊定位 contains(@key,value): value可以是部分值
      
        业务场景:
            1.进入设置页面
            2.点击WLAN菜单栏
    
        代码实现:
            # xpath 点击WLAN按钮
            driver.find_element_by_xpath("//*[contains(@text,'WLA')]").click()
    
    • 6、定位一组元素,注意element -> elements
        应用场景为元素值重复,无法通过元素属性直接定位到某个元素,只能通过elements方式来选择,返回一个定位对象的列表.
    
    • 7、通过id方式定位一组元素
        方法: find_elements_by_id(id_value) # id_value:为元素的id属性值
    
        业务场景:
            1.进入设置页面
            2.点击WLAN菜单栏(id定位对象列表中第1个)
    
        代码实现:
            # 定位到一组元素
            title = driver.find_elements_by_id("com.android.settings:id/title")
            # 打印title类型,预期为list
            print(type(title))
            # 取title返回列表中的第一个定位对象,执行点击操作
            title[0].click()
    
    • 8、通过class方式定位一组元素
        方法:find_elements_by_class_name(class_value) # class_value:为元素的class属性值
    
        业务场景:
            1.进入设置页面
            2.点击WLAN菜单栏(class定位对象列表中第3个)
    
        代码实现:
            # 定位到一组元素
            title = driver.find_elements_by_class_name("android.widget.TextView")
            # 打印title类型,预期为list
            print(type(title))
            # 取title返回列表中的第一个定位对象,执行点击操作
            title[3].click()
    
    • 9、通过xpath方式定位一组元素
        方法:find_elements_by_xpath(xpath_value) # xpath_value:为可以定位到元素的xpath语句
    
        业务场景:
            1.进入设置页面
            2.点击WLAN菜单栏(xpath中class属性定位对象列表中第3个)
    
        代码实现:
            # 定位到一组元素
            title = driver.find_elements_by_xpath("//*[contains(@class,'widget.TextView')]")
            # 打印title类型,预期为list
            print(type(title))
            # 取title返回列表中的第一个定位对象,执行点击操作
            title[3].click()
    
    • 10、WebDriverWait 显示等待操作
        在一个超时时间范围内,每隔一段时间去搜索一次元素是否存在,
        如果存在返回定位对象,如果不存在直到超时时间到达,报超时异常错误。
    
        方法:WebDriverWait(driver, timeout, poll_frequency).until(method)
        参数:
            1.driver:手机驱动对象
            2.timeout:搜索超时时间
            3.poll_frequency:每次搜索间隔时间,默认时间为0.5s
            4.method:定位方法(匿名函数)
    
        匿名函数: 
            lambda x: x
        等价于python函数:
            def test(x):
                return x
    
        使用示例:
            WebDriverWait(driver, timeout, poll_frequency).until(lambda x: x.find_elements_by_id(id_value))
        解释:
            1.x传入值为:driver,所以才可以使用定位方法.
        函数运行过程:
            1.实例化WebDriverWait类,传入driver对象,之后driver对象被赋值给WebDriverWait的一个类变量:self._driver
            2.until为WebDriverWait类的方法,until传入method方法(即匿名函数),之后method方法会被传入self._driver
            3.搜索到元素后until返回定位对象,没有搜索到函数until返回超时异常错误.
    
        业务场景:
            1.进入设置页面
            2.通过ID定位方式点击搜索按钮
    
        代码实现:
            from selenium.webdriver.support.wait import WebDriverWait # 导入WebDriverWait类
            # 超时时间为30s,每隔1秒搜索一次元素是否存在,如果元素存在返回定位对象并退出
            search_button = WebDriverWait(driver, 30, 1).until(lambda x: x.find_elements_by_id(com.android.settings:id/search))
            search_button.click()
            driver.quit()
    •  11、总代码
    from appium import webdriver
    from selenium.webdriver.support.wait import WebDriverWait
    import time
    
    #server 启动参
    desired_caps = {}
    # 设备信息
    desired_caps['platformName'] = 'Android'
    desired_caps['platformVersion'] = '5.1'
    desired_caps['deviceName'] = '192.168.203.101:5555'
    # app信息
    desired_caps['appPackage'] = 'com.android.settings'
    desired_caps['appActivity'] = '.Settings'
    #连接设备
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    
    #通过id找到搜索按钮,并点击
    driver.find_element_by_id("com.android.settings:id/search").click()
    time.sleep(3)
    
    #通过class_name在搜索页面找到返回按钮,返回
    driver.find_element_by_class_name("android.widget.ImageButton").click()
    time.sleep(3)
    #通过Xpath找到wifi,并点击
    driver.find_element_by_xpath("//*[contains(@text,'WLAN')]").click()
    time.sleep(3)
    #使用显示等待的方式点击显示功能
    WebDriverWait(driver,10,1).until(lambda x:x.find_element_by_class_name("android.widget.ImageButton")).click()
    
    time.sleep(5)
    driver.quit()

    实现效果:

    展开全文
  • Appium元素信息操作API

    2020-02-01 17:38:18
    Appium元素信息操作API 本文介绍手机端元素信息的获取以及基本的输入操作。 前置代码 from appium import webdriver # server 启动参数 desired_caps = {} # 设备信息 desired_caps['platformName'] = '...

    Appium元素信息操作API

        本文介绍手机端元素信息的获取以及基本的输入操作。
    
    • 前置代码
    
        from appium import webdriver
        # server 启动参数
        desired_caps = {}
        # 设备信息
        desired_caps['platformName'] = 'Android'
        desired_caps['platformVersion'] = '5.1'
        desired_caps['deviceName'] = '192.168.56.101:5555'
        # app的信息
        desired_caps['appPackage'] = 'com.android.settings'
        desired_caps['appActivity'] = '.Settings'
    
        # 声明我们的driver对象
        driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    
    • 1、点击元素

    • 2、发送数据到输入框

        方法:send_keys(vaue) # value:需要发送到输入框内的文本
      
        业务场景:
            1.打开设置
            2.点击搜索按钮
            3.输入内容abc
      
        代码实现:
            # 点击搜索按钮
            driver.find_element_by_id("com.android.settings:id/search").click()
            # 定位到输入框并输入abc
            driver.find_element_by_id("android:id/search_src_text").send_keys("abc")
    
        重点:
            大家可以将输入的abc 改成 输入中文,得到的结果:输入框无任何值输入且程序不会抱错
    
        解决输入中文问题:
    
            1.server 启动参数增加两个参数配置
                desired_caps['unicodeKeyboard'] = True
                desired_caps['resetKeyboard'] = True
    
            2.再次运行会发现运行成功
                # 点击搜索按钮
                driver.find_element_by_id("com.android.settings:id/search").click()
                # 定位到输入框并输入abc
                driver.find_element_by_id("android:id/search_src_text").send_keys("传智播客")
    
    • 3、清空输入框内容

        方法:clear()
      
        业务场景:
            1.打开设置
            2.点击搜索按钮
            3.输入内容abc
            4.删除已输入abc
      
        代码实现:
            # 点击搜索按钮
            driver.find_element_by_id("com.android.settings:id/search").click()
            # 定位到输入框并输入abc
            input_text = driver.find_element_by_id("android:id/search_src_text")
            # 输入abc
            input_text.send_keys("abc")
            time.sleep(1)
            # 删除abc
            input_text.clear()
      
    • 4、获取元素的文本内容

        方法: text
      
        业务场景:
            1.进入设置
            2.获取所有元素class属性为“android.widget.TextView”的文本内容
      
        代码实现:
            text_vlaue = driver.find_elements_by_class_name("android.widget.TextView")
            for i in text_vlaue:
                print(i.text)
        执行结果:
            设置
      
            无线和网络
            WLAN
            更多
            设备
            显示
            提示音和通知
            存储
      
    • 5、获取元素的属性值
        方法: get_attribute(value) # value:元素的属性
        ⚠️ value='name' 返回content-desc / text属性值
        ⚠️ value='text' 返回text的属性值
        ⚠️ value='className' 返回 class属性值,只有 API=>18 才能支持
        ⚠️ value='resourceId' 返回 resource-id属性值,只有 API=>18 才能支持
      
        业务场景:
            1.进入设置
            2.获取搜索按钮的content-desc属性值

     

    • 代码实现:
            # 定位到搜索按钮
            get_value = driver.find_element_by_id("com.android.settings:id/search")
            print(get_value.get_attribute("name"))
        执行结果:
            搜索
      
    • 6、获取元素在屏幕上的坐标
        方法:location
      
        业务场景:
            1.进入设置页面
            2.获取搜索按钮在屏幕的坐标位置
      
        代码实现:
            # 定位到搜索按钮
            get_value = driver.find_element_by_id("com.android.settings:id/search")
            # 打印搜索按钮在屏幕上的坐标
            print(get_value.location)
        执行结果:
            {'y': 44, 'x': 408}

    总代码: 

    from appium import webdriver
    import time
    
    #server 启动参
    desired_caps = {}
    # 设备信息
    desired_caps['platformName'] = 'Android'
    desired_caps['platformVersion'] = '5.1'
    desired_caps['deviceName'] = '192.168.203.101:5555'
    # app信息
    desired_caps['appPackage'] = 'com.android.settings'
    desired_caps['appActivity'] = '.Settings'
    #支持中文
    desired_caps['unicodeKeyboard'] = True
    desired_caps['resetKeyboard'] = True
    #连接设备
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    
    #通过id找到搜索按钮,并点击
    driver.find_element_by_id("com.android.settings:id/search").click()
    #找到搜索框
    search=driver.find_element_by_id("android:id/search_src_text")
    #搜索框中输入文字
    search.send_keys("武汉加油!")
    time.sleep(1)
    driver.find_element_by_class_name("android.widget.ImageButton").click()
    time.sleep(1)
    #获取设置页面的元素列表
    elementList=driver.find_elements_by_id("com.android.settings:id/title")
    for i in elementList:
        print(i.text)
    time.sleep(2)
    print("-----------")
    elems=driver.find_elements_by_class_name("android.widget.TextView")
    for j in elems:
        print(j.get_attribute('name'))
    print("-----------")
    for j in elems:
        print(j.get_attribute('text'))
    print("-----------")
    for j in elems:
        print(j.get_attribute('className'))
    print("-----------")
    for j in elems:
        print(j.get_attribute('resourceId'))
    
    #输出搜索按钮的坐标
    print("搜索按钮坐标:",driver.find_element_by_id("com.android.settings:id/search").location)
    time.sleep(3)
    driver.quit()

    实现效果:

    运行结果: 

    D:\Anaconda3\python.exe E:/pythonProject/get_info.py
    WLAN
    更多
    显示
    提示音和通知
    存储
    电池
    应用
    用户
    位置信息
    安全
    -----------
    设置
    搜索
    无线和网络
    WLAN
    更多
    设备
    显示
    提示音和通知
    存储
    电池
    应用
    用户
    个人
    位置信息
    安全
    -----------
    设置
    
    无线和网络
    WLAN
    更多
    设备
    显示
    提示音和通知
    存储
    电池
    应用
    用户
    个人
    位置信息
    安全
    -----------
    android.widget.TextView
    android.widget.TextView
    android.widget.TextView
    android.widget.TextView
    android.widget.TextView
    android.widget.TextView
    android.widget.TextView
    android.widget.TextView
    android.widget.TextView
    android.widget.TextView
    android.widget.TextView
    android.widget.TextView
    android.widget.TextView
    android.widget.TextView
    android.widget.TextView
    -----------
    None
    com.android.settings:id/search
    com.android.settings:id/category_title
    com.android.settings:id/title
    com.android.settings:id/title
    com.android.settings:id/category_title
    com.android.settings:id/title
    com.android.settings:id/title
    com.android.settings:id/title
    com.android.settings:id/title
    com.android.settings:id/title
    com.android.settings:id/title
    com.android.settings:id/category_title
    com.android.settings:id/title
    com.android.settings:id/title
    搜索按钮坐标: {'x': 1314, 'y': 76}
    
    Process finished with exit code 0
    

     

    展开全文
  • Appium元素事件操作API

    2020-02-02 11:37:51
    Appium元素事件操作API 1.前置代码 from appium import webdriver # server 启动参数 desired_caps = {} # 设备信息 desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '5.1' ...

    Appium元素事件操作API

    • 1.前置代码
    
        from appium import webdriver
        # server 启动参数
        desired_caps = {}
        # 设备信息
        desired_caps['platformName'] = 'Android'
        desired_caps['platformVersion'] = '5.1'
        desired_caps['deviceName'] = '192.168.56.101:5555'
        # app的信息
        desired_caps['appPackage'] = 'com.android.settings'
        desired_caps['appActivity'] = '.Settings'
    
        # 声明我们的driver对象
        driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    
    • 2.swip滑动事件

        ⚠️从一个坐标位置滑动到另一个坐标位置,只能是两个点之间的滑动
        方法:swipe(start_x, start_y, end_x, end_y, duration=None)
        参数:
            1.start_x:起点X轴坐标
            2.start_y:起点Y轴坐标
            3.end_x:  终点X轴坐标
            4.end_y,: 终点Y轴坐标
            5.duration: 滑动这个操作一共持续的时间长度,单位:ms
      
        业务场景:
            1.进入设置
            2.从坐标(148,659)滑动到坐标(148,248)
      
        代码实现:
            # 滑动没有持续时间
            driver.swipe(188,659,148,248)
            # 滑动持续5秒的时间
            driver.swipe(188,659,148,248,5000)
      
    • 3.scroll滑动事件

        ⚠️ 从一个元素滑动到另一个元素,直到页面自动停止
        方法:scroll(origin_el, destination_el)
        参数:
            1.origin_el:滑动开始的元素
            2.destination_el:滑动结束的元素
      
        业务场景:
            1.进入设置页
            2.模拟手指从存储菜单位置 到 WLAN菜单位置的上滑操作
      
        代码实现:
            # 定位到存储菜单栏
            el1 = driver.find_element_by_xpath("//*[contains(@text,'存储')]")
            # 定位到WLAN菜单栏
            el2 = driver.find_element_by_xpath("//*[contains(@text,'WLAN')]")
            # 执行滑动操作
            driver.scroll(el1,el2)
      
    • 4.drag拖拽事件
        ⚠️ 从一个元素滑动到另一个元素,第二个元素替代第一个元素原本屏幕上的位置
        方法:drag_and_drop(origin_el, destination_el)
        参数:
            1.origin_el:滑动开始的元素
            2.destination_el:滑动结束的元素
      
        业务场景:
            1.进入设置页
            2.模拟手指将存储菜单 滑动到 WLAN菜单栏位置
      
        代码实现:
            # 定位到存储菜单栏
            el1 = driver.find_element_by_xpath("//*[contains(@text,'存储')]")
            # 定位到WLAN菜单栏
            el2 = driver.find_element_by_xpath("//*[contains(@text,'WLAN')]")
            # 执行滑动操作
            driver.drag_and_drop(el1,el2)
    展开全文
  • 定位元素 1.格式:find_element_by_定位方式(value) 通过id定位 (取resource-id的值): driver.find_element_by_id("com.wuba.zhuanzhuan:id/azo") 也可以直接用id后面的内容driver.find_...
  • 元素定位: WebDriverWait类 需要导入:from selenium.webdriver.support.wait import WebDriverWait WebDriverWait(driver,超时总时间,频率).until(lambda x:x.find_element_by_**(...)) lambda x:x....
  • appium元素定位及操作

    2019-09-28 10:31:54
    数据准备 前提条件 操作步骤 预期结果 2.TestNG 用例组织:@Test @Before Class 结果验证:Assert 数据驱动:@DataProvide 测试数据准备: 测试代码和测试数据隔离:@DataProvide 测试数据的清理:@...
  • 一、常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在...Appium Inspector:Appium自带的一个功能,只有mac下可以使用该功能 二、元素定位 1.格式:find_element_by_定位方式(value) ...
  • 元素定位app自动化测试最重要的一个环节是元素定位,只有准确定位到元素才能进行相关元素操作,如输入、点击、拖拽、滑动等。appium提供了许多元素定位方法,如id定位、class定位、name定位、层级定位等等元素定位...
  • appium模拟用户的真实操作,如果用户第一次进入app或许会弹出一些更新提示,或者是引导页面,但是下一次开启app时则没有引导页这些界面,这时,脚本中又肯定不考虑用两套代码来进行维护,此时如何应对这种场景进行...
  • Appium元素定位--id元素

    2020-07-14 00:07:30
    与Web自动化测试一样,app自动化测试过程中最重要一个环节就是元素定位,只有准确定位到了元素才能进行相关元素操作,如输入、点击、拖拽、滑动等。appium提供了许多元素定位的方法,如id定位、name定位、class...
  • Appium 元素查找(一)

    千次阅读 2018-11-20 10:33:37
    Appium 元素查找(一) 一、概述  在appium中,如果想对元素进行相关操作,如点击、移动、滑动等,首先需要找到这些元素。在Android环境下,我们可以通过Android SDK自带的 uiautomatorv...
  • appium元素操作

    2021-06-16 19:38:29
    element.size 用于获取元素的大小(高和宽) element.location 用于获取元素左上角的坐标 element.get_attribute() 用于获取元素的指定属性的值 element.is_displayed() 用于确认某个元素是否存在于页面上,返回True或...
  • Appium元素定位工具inspector

    千次阅读 2018-07-18 17:55:18
    Appium元素定位 启动应用得参数配置成功后如下图: Appium开启会话后,会打开被测应用程序的图形界面、被测应用程序的app source、元素的详细信息三个面板,如下图   顶部导航栏菜单,分为两大模块: 1...
  • Appium元素定位

    2019-09-24 12:54:29
    1.定位元素应用元素 1.1通过id定位元素 Android里面定位的id一般为resrouce-id: 代码可以这样写: WebElement element = driver.findElement(By.id("com.tencent.mm:id/do")); 或者: driver....
  • appium 元素定位方法

    2019-11-06 15:22:32
    一、常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录下 Appium Inspector:Appium自带...下面使用Appium Inspector定位的元素 ...
  • python+appium元素定位方式

    千次阅读 2020-08-20 12:59:40
    6.1 python+appium元素定位方式(登录app) 1.0.0 :常见的十种元素定位方式 1.driver.find_element_by_id() #id定位 2.driver.find_element_by_name() #name定位(已经凉了,不支持) 3.driver.find_element_...
  • 1.1概要本篇将对和界面元素相关的内容做讲解,比如,查找元素的几种常见方法,还将介绍如何查看app界面上的元素去做定位,最后还将新手经常遇到的问题做个简单的回答。1.2 查找app界面元素的工具我们先来看看如何...
  • appium 元素定位工具

    2019-10-07 14:08:05
    两种元素定位工具: 1.uiautomatorviewer是android-sdk自带的一个元素定位工具,目录D:\androidsdk\androidsdk\tools\bin 。 双击启动uiautomatorviewer.bat ...注意uiautomatorviewer 与appium 服务...
  • Python+Appium自动化测试(5)-appium元素定位常用方法 对于Android而言,查找appUI界面元素属性的工具有三种:appium desktop,uiautomatorviewer.bat,weditor。之前已经介绍过了weditor的使用,这里我将通过使用...
  • Appium元素定位方法

    2018-05-30 17:35:00
    driver.find_element_by_id("neo.android.calculatorade:id/buttonPlus").click()driver.find_element_by_id("button6").click()2.Xpath定位方法:先找到唯一的标识名层,以相对路径的写法,定位到需要操作元素。...
  • ID元素定位及元素检测 使用异常处理来检测是否定位到了相应的元素。 id值可以通过Appium或uiautomatorviewer进行查找 from appium import webdriver from time import sleep from selenium.common.exceptions ...
  • Appium元素定位方式

    2017-04-23 17:22:00
    1.由于Appium继承了Selenium,所以Selenium胡定位方式都可以使用。通过sdk->\tools 下的uiautomatorviewer工具获取id、name、classname等 2.uiautomator:driver.find_elements_by_android_uiautomator(...
  • Appium元素定位(通过id定位)

    千次阅读 2018-07-23 17:26:12
    Appium元素定位的方式有以下几种: id name class 相对定位 Xpath定位 H5页面元素定位 Uiautomator定位 常用元素定位语法(python): find_element_by_id(‘XXXX’) find_element_by_class_name(‘XXXX’)...
  • appium操作webview元素

    千次阅读 2018-05-04 16:34:08
    appium对部分webview元素操作时,需要切入webview页面;1.定位:使用Chrome自带的inspector工具查看元素,访问:chrome://inspect/#devices,如果是嵌套的M站,可以用Chrome直接打开嵌套的M站页面直接查看元素(定位...
  • Appium元素定——List定位

    千次阅读 2018-10-06 14:33:16
    List定位首先是使用find_elements_by_XX获取一组相同的class属性的元素,然后使用数组下标来区分标记不同元素进行相关操作。 测试案例1 在新用户注册界面点击添加头像按钮后,选择指定的图片保存作为头像。 by_...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,922
精华内容 1,968
关键字:

appium元素操作