desired_cap = {
"deviceName":"vivo", # 真机名称
"platformName":"android", # 使用的移动端:android、ios
"platformVersion":"8.1",  # 移动端版本
"appPackage":"com.csksc2b.invertory", # 被测试软件Package名
"appActivity":"com.csks.login.SplashAty", # 被测试软件Activity名
"noReset":True, # 重置应用状态:True,不重置,false重置清空登录
# "automationName":"UiAutomator2" }
driver = webdriver.Remote("http://localhost:4723/wd/hub",desired_cap)
driver.find_element_by_xpath("//*[@text='请假']").click()

一开始启动参数没有UiAutomator2,启动安卓8.1时,一直卡在运行代码状态。但是安卓6的系统就没问题。

经查询文章:如下解决办法:《Appium 与 Android 8.0 适配吗? 之前测试 7.0 没问题 ,切换到 8.0 后,定位操作不生效.

添加"automationName":"UiAutomator2"参数就可以了。

其中页面自动进行安装UiAutomator2。

【Appium + Python3】之安卓8.1,使用xpath定位不到元素的更多相关文章

  1. RobotFrameWork+APPIUM实现对安卓APK的自动化测试----第七篇【元素定位介绍】

    http://blog.csdn.net/deadgrape/article/details/50628113 我想大家在玩自动化的时候最关心的一定是如何定位元素,因为元素定位不到后面的什么方法都实现 ...

  2. Robot Framework xpath定位不到元素

    不要使用Click Button关键字-严格来说,该关键字适用于该<button>类型的html元素. 而是使用Click Element-您的目标元素是<a>,然后Click ...

  3. 用XPath定位Web页面元素时,如何快速验证XPath语句是否正确?

    在使用Selenium做Web UI自动化测试的过程中,XPath是一种定位页面元素的常用方式.然而,面对某些元素的XPath路径过于复杂,我们想快速验证拼凑的Xpath语句是否正确时,该怎么办呢?这 ...

  4. Appium 的xpath定位

    Appium 的xpath定位 1.如果元素text是唯一的,可以通过text文本定位 //*[@text=’text文本属性’] # 定位text driver.find_element_by_xp ...

  5. 【Mac + Appium + Python3.6学习(四)】之常用的IOS自动化测试API总结

    环境: Appium:1.9.1 Appium-desktop:1.7.1 Xcode:10.0 IOS:iPhone5S(10.3.3) Mac:10.13.6 ①获取手机屏幕size:长.宽 &l ...

  6. Appium之xpath定位元素

    原文:http://www.cnblogs.com/cnkemi/p/9180525.html appium也是以webdriver为基的,对于元素的定位也基本一致,只是增加一些更适合移动平台的独特方 ...

  7. appium定位之xpath定位

    前面也说过appium也是以webdriver为基的,对于元素的定位也基本一致,只是增加一些更适合移动平台的独特方式,下面将着重介绍xpath方法,这应该是UI层元素定位最强大的方法啦! 以淘宝app ...

  8. Appium Desktop Inspector 安卓真机配置(Windows)

    本文是基于 Windows环境 通过Appium Desktop 测试真机,首先要确保测试机已经和电脑正确连接(将手机和电脑通过USB数据线连接,手机打开USB调试) 确认电脑与手机是否连接成功的方法 ...

  9. Appium+Python3+ Android入门

    前言: Appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web 应用和混合应用. 一.环境配置 1.安装Node.js https://nodejs.o ...

随机推荐

  1. python高级编程——网络编程(三)

    TCP和并发服务器 与UDP不同的是,他是一个面向连接的,可靠的数据传输协议 TCP通信比较复杂 先写一个TCP服务器,一般步骤如下: 1.首先是要创建一个socket套接字:socket() 2.服 ...

  2. EntityFramework 基类重写

    /* * ------------------------------------------------------------------------------ * * 创 建 者:F_Gang ...

  3. URL&HTTP协议

    一般来讲,URL地址有五个部分组成,协议,域名,端口,路径,URL地址参数,通常“//'之前的部分就是协议 常用的协议有: http 超文本传输协议 htttps http+ssl ssh 用来实现远 ...

  4. 常用SQL语句分享

    前言:  日常工作或学习过程中,我们可能会经常用到某些SQL,建议大家多多整理记录下这些常用的SQL,这样后续用到会方便很多.笔者在工作及学习过程中也整理了下个人常用的SQL,现在分享给你!可能有些S ...

  5. MySQL Execution Plan--合理利用隐式的业务逻辑

    问题描述 优化过程中遇到一个SQL: SELECT SUM(user_value) FROM user_log ; 其执行计划为: . row *************************** ...

  6. Shell 编程 排序工具 sort 和 uniq

    本篇主要写一些shell脚本排序工具的使用. sort 概述 sort是一个以行为单位对文件内容进行排序的工具,也可以根据不同的数据类型来排序. 用法 sort [选项] 参数 -f:忽略大小写 -b ...

  7. Django框架(七)-- 模板层:模板导入、模板继承、静态文件

    一.模板导入 要复用一个组件,可以将该组件写在一个文件中,在使用的时候导入即可 在模板中使用 1.语法 {% include '模板名字' %} 2.使用 ad.html页面 <div clas ...

  8. Kafka Manager几个指标含义

    记忆早退 Brokers Spread:看作broker使用率,如kafka集群9个broker,某topic有7个partition,则broker spread: 7 / 9 = 77% Brok ...

  9. nginx实现tcp的反向代理

     nginx不仅可以实现http的反向代理,同时也支持TCP的反向代理以SSH为例1.编译的时候需要加入--with-stream这个参数,以加载ngx_stream_core_module这个模块2 ...

  10. properties文件属性值@Value注解为 java entity属性赋值

    一.使用@Value为 java entity类中的非static属性赋值 举个栗子,一目了然 1.1 properties文件 1.2 servlet.xml 文件增加的配置: 1.2.1 serv ...