• appium---第二个脚本,定位页面元素


    工具使用:

    1、android-sdk的自带工具---uiautomator工具

    2、使用find_element_by_id寻找元素位置

     1 from appium import webdriver;
     2 from appium import version;
     3 #from selenium import webdriver;
     4 import time;
     5 #目前最新更新
     6 
     7 #from appium import webDriver
     8 #,
     9 pack_info={
    10 'platformName':'android',
    11 'deviceName':'215a343c0804',
    12 'platformVersion':'7.1.2',
    13 'appPackage':'包名',
    14 'appActivity':'启动Activity'
    15 
    16 }
    17 
    18 drive=webdriver.Remote('http://127.0.0.1:4723/wd/hub',pack_info);
    19 
    20 #drive=webdriver.Remote('http://127.0.0.1:4723/wd/hub',pack_info);
    21 
    22 #
    23 
    24 #休眠5s
    25 time.sleep(5);
    26 #点击对应的元素
    27 28 drive.find_element_by_id('包名:id/iv_download_img').click()----加这一句就行
    29 print('执行成功')

    产生了一个问题:

    ①、运行后,appium可以正常运行,并开启APP,但是无法进行点击事件,事实上,并没有任何报错,纳闷中

     解决方式尝试1:开发者模式中,打开允许模拟点击,完美解决

    2、扩展-使用其他的定位元素的办法

    ①、在uiautomator中获取元素id(常用):.find_element_by_id('包名:id/iv_download_img').click()---->在uiautomator中的resource-id中直接复制即可

    ②、使用使用xpath获取元素:

    1)如果页面中text是唯一的,那么就通过text文本获取(格式://*[@text='掃一掃',必须要有斜杠和一个※号)(很少用):find_element_by_xpath("//*[@text='掃一掃']").click();------->根据tex寻找,也是在uiautomator中的元素text中直接复制即可

    2)同上,也可以用uiautomator中的content-desc文本获取,正常情况下,它的内容和text是一样的,很多时候,它是空的,用法也是和text一样find_element_by_xpath("//*[@content-desc='掃一掃']").click();

    2)如果页面中class是唯一的,那么就通过class获取(格式://classname,必须要有两个斜杠)(很少用):drive.find_element_by_xpath('//android.widget.TextView').click();----->这个运行无结果,无报错,因为页面中这个class不是唯一的,所以不知道应该要取哪一个。

    3)contains模糊匹配(类似模糊匹配,这个通常用于要定位一组的元素,而不是单个元素时,效率尤其突出)

    4)层级定位--父定子位(很有用)

    参考

    https://www.cnblogs.com/syw20170419/p/8192629.html

  • 相关阅读:
    服务器性能测试实时监控Linux命令
    软件性能测试中的关键指标
    递归静态路由和直连静态路由
    FIB表与RIB表的区别与联系
    FIB表中 Next Hop 的几种状态码(drop/receive/attached/no route)的含义
    Leetcode 与树(TreeNode )相关的题解测试工具函数总结
    centos 7.6 docker 安装 nextcloud -使用sqlite数据库
    看守所收押流程
    qt编译oracle驱动,qt 5.12 连接 oracle 数据库示例代码
    centos 7.6 安装配置nginx (显示中文目录,带密码验证)
  • 原文地址:https://www.cnblogs.com/shenyexiaoqingxin/p/10469908.html
Copyright © 2020-2023  润新知