zoukankan      html  css  js  c++  java
  • python appium笔记(二):元素定位

    #这里的示例是用android来说明的,xpath应该是通用的,resource-id不太清楚,没配过IOS的环境

    #环境配置和一些参数的意思不清楚可以看我上一篇python appium笔记(一)

    (一)说明

    主要说明下面2种方式,其实感觉通过xpath,不管selenium还是appium,应该能定位全部元素了。

    1、resource-id:定义了resource-id,并且唯一的情况下,可以使用这种方式

    2、xpath:任何情况下,都可以用xpath进行定位

    (二)查看

    #做第四步的时候,记得先连真机,并且开启USB调试

    1、启动appium,点击下面的start server

    2、点击file -- new session window

     

    3、配置Desired Capabilities(这里可以保存配置信息,方便下次使用)

    4、Start Session启动

    5、如上图,可以看到resource-id的值,但是可以发现这个值不是唯一的。

    6、所以可以用xpath进定位,把 android.widget.ImageView这些东西当成HTML的标签看就行了。(这里我当你已经能熟练的在selenium中使用xpath定位)

    //android.support.v7.app.ActionBar.Tab[4]//android.widget.ImageView

    (三)示例

    这里用博客园的app做示例了

     

     1 from appium import webdriver
     2 import time
     3 desired_caps = {
     4     'platformName':'Android',
     5     #用真机的时候,这个参数deviceName没什么用,但是还是必须要有这个参数,值的话随便填就行了
     6     'deviceName':'HUAWEI',
     7     'platformVersion':'7.0',
     8     'appPackage':'com.rae.cnblogs',
     9     'appActivity':'com.rae.cnblogs.activity.LauncherActivity',
    10     'unid':'填写自己手机unid的值',
    11     'noReset':'true',
    12     #设置下面2个参数解决不能输入中文的问题
    13     'unicodeKeyboard': 'True',
    14     'resetKeyboard':'True'
    15 }
    16 driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
    17 driver.implicitly_wait(20)
    18 #定位 我,通过xpath定位
    19 my = driver.find_element_by_xpath('//android.support.v7.app.ActionBar.Tab[4]//android.widget.ImageView')
    20 my.click()
    21 #定位意见反馈,通过resource-id定位
    22 idea = driver.find_element_by_id('com.rae.cnblogs:id/ll_feedback')
    23 idea.click()
    24 #定位意见反馈输入框
    25 idea_input = driver.find_element_by_id('com.rae.cnblogs:id/avoscloud_feedback_input')
    26 # idea_input = driver.find_element_by_xpath('//android.widget.LinearLayout[2]/android.widget.EditText')
    27 #定位发送意见按钮
    28 idea_send = driver.find_element_by_id('com.rae.cnblogs:id/avoscloud_feedback_send')
    29 #输入意见信息
    30 idea_input.send_keys('博客园is very good!support you')
    31 #点击发送
    32 idea_send.click()
    33 time.sleep(10) #睡眠10秒
    34 #退出app
    35 driver.quit()
  • 相关阅读:
    Solr服务在Linux上的搭建详细教程
    Linux服务器上安装JDK小白教程
    request和response中文乱码问题后台处理办法
    Redis的五种数据类型及方法
    Java类装载器ClassLoader
    Git快速入门和常用命令
    redis在Linux上的部署和jedis简单使用
    Linux常用基础命令
    JDK1.7中HashMap底层实现原理
    微信电脑版无法显示图片无法下载文件
  • 原文地址:https://www.cnblogs.com/simple-free/p/9398991.html
Copyright © 2011-2022 走看看