appium+robotframework+python连接真机定位不到元素的问题处理
这几天遇到了一个比较奇怪的问题,使用RF框架进行自动化测试的时候定位不到部分元素
并且这个元素的是有id的,更换了xpath定位也行不通,冥思苦想,加上谷歌百度,终于解决了
解决步骤如下:
1、定位问题
首先编写个简单的test.py,用来进行debug
进入包含定位不到元素的页面,打印出pagesource
from appium import webdriver
from time import sleep meizu = {"platformName": "Android", "platformVersion": "7.0", "deviceName": "891QSDU5Q57P9",
"appPackage": "your_app_packagename", "appActivity": ".views.MainActivity"}
driver = webdriver.Remote("http://localhost:4723/wd/hub", meizu)
ss=driver.find_element_by_id('com.android.packageinstaller:id/permission_allow_button')
for i in range(4):
sleep(3)
ss.click()
#print(driver.page_source)
sleep(5)
s2=driver.find_element_by_id('button')
sleep(3)
s2.click() #点击车辆页
# s4=driver.find_element_by_id('xxx')
# s4.click() #点击我的页面
print(driver.page_source)
s3=driver.find_element_by_id('xxxx')
s3.click()
根据需要将部分参数换成你所需要的参数,然后打印出pagesource,打印出来我才发现,打印出来的pagesource根本没有我所需要的元素。
也就说明了我的定位方式是没有问题的,是页面出现了问题。有一层浮层遮挡住了,导致appium无法进行定位(当然,如果这一步打印出的pagesouce里包含你所需要的元素,请进行检查元素的定位的方式是否出错)
2、解决问题
问题其实也比较简单解决,就是安卓6.0以后推荐使用uiautomator2进行定位,问题就很轻松愉快的解决了
npm install appium-uiautomator2-driver
安装完毕,打开appium,在启动参数里添加
"automationName": "uiautomator2"
如果遇见还是打不开,出现奇怪的错误,请用管理员权限打开RIDE和appium试试
appium+robotframework+python连接真机定位不到元素的问题处理的更多相关文章
- appium通过WiFi连接真机进行测试
http://www.th7.cn/Program/Android/201507/514602.shtml appium通过WiFi连接真机进行测试 2015-07-24 19:43:07CSDN ...
- python连接真机或模拟器
前言: 最近写自动化代码的时候,使用模拟器运行 python + appium代码时,APP闪退了,只能使用真机运行代码了.真机要怎么配置设备的信息呢? 怎么配置设备的信息? 配置是使用真机还是模拟器 ...
- Appium +Python 连接真机测试
1.数据线连接电脑和手机: 2.用adb获取手机的UUID:cmd-> adb devices 前面的就是你手机的UUID 3.打开appium,选择手机的安卓版本(关于手机中查看),填写手机的 ...
- Python+Appium自动化测试(2)-appium连接真机启动app
app自动化测试的第一步,是启动被测app.appium环境搭建好后,我们就可以连接真机启动app了.环境为windows,Appium1.18.0,Android手机,被测app为今日头条app,让 ...
- Appium 小白从零安装 ,Appium连接真机测试。
以下是我个人在初次安装使用Appium时的过程,过程中遇到了一些问题,在这里也一一给出解决办法. Appium安装过程 先安装了 Node.js.在node的官网上下载的exe安装文件. 在node的 ...
- MAC本上appium连接真机
简单介绍一下appium连接ios真机测试环境的软件安装及配置过程: 目前我用的是desktop版本的appium, 所以MAC版本必须要升级到10.12以上,Xcode版本必须要在8.0以上,否则亲 ...
- 【转】NO.3、python+appium+ios,遍历真机元素,得到webview
pyhton+appium+iOS,遍历真机webview.是遍历真机的webview,遍历模拟器的webview请另寻方法. 1.mac上安装ios_webkit_debug_proxy 命令:br ...
- Appium——连接真机,adb devices获取不到设备号
连接真机后,使用 adb devices获取不到设备号. 1.检查usb接口是否正常,是否正常链接到电脑 2.手机开发者模式是否开启,usb调试是否开启 3.检查驱动是否正常 4.如果驱动显示黄叹号, ...
- APPium连接真机输入框中输入的内容与代码中不一致
今天解决了上一个问题,又碰到了一个新的问题. 问题:连接真机输入框中输入的内容与代码中不一致. 描述: 想实现登录页面输入用户名和密码自动登录,可是在输入用户名和密码的框中输入的内容总是与代码中的不一 ...
随机推荐
- Markdown的常用方法总结
1.标题 # 大标题 ## 副标题 ### 小标题 标准 2.强调 *斜体类型* **黑体字** 3.折叠 折叠长句 <details><summary>Boostnote是对 ...
- 原生js的2048的制作过程
1.首先我们来看一下效果图 开始: 结束: 接下来我们来实现代码部分: HTML部分: 2048大家应该都玩过,首先我们要准备16个盒子让它4*4排列,这里的css我就不说了,这应该使我们都会的,在这 ...
- AST抽象语法树 Javascript版
在javascript世界中,你可以认为抽象语法树(AST)是最底层. 再往下,就是关于转换和编译的"黑魔法"领域了. 现在,我们拆解一个简单的add函数 function add ...
- 解决ES报错NoNodeAvailableException[None of the configured nodes are available:问题
elasticSearch的错误 NoNodeAvailableException[None of the configured nodes are available: [{#transport#- ...
- Flask 模板语言,装饰器
Jinja2模板语言 # -*- coding: utf-8 -*- from flask import Flask, render_template, request, redirect, ...
- JS---DOM---自定义属性引入和移除
总结:在html标签中添加的自定义属性, 如果想要获取这个属性的值, 需要使用getAttribute("自定义属性的名字")才能获取这个属性的值 html标签中有没有什么自带的属 ...
- MAT分析android内存泄漏
转载请标明出处:https://www.cnblogs.com/tangZH/p/10955429.html 泄漏,泄漏,漏~ 内存泄漏怎么破,什么是内存泄漏?与内存溢出有什么区别? 内存泄漏(Mem ...
- RSA加解密&RSA加验签详解
RSA 加密算法是目前最有影响力的 公钥加密算法,并且被普遍认为是目前 最优秀的公钥方案 之一.RSA 是第一个能同时用于 加密 和 数字签名 的算法,它能够 抵抗 到目前为止已知的 所有密码攻击,已 ...
- oracle 11gR2 RAC 停库和启库
grid设置环境变量后可以在任意目录下执行,如root没设置的话需要带绝对路径export ORACLE_HOME=/u01/app/11.2.0/gridexport PATH=$ORACLE_HO ...
- tensorflow 神经网络模型概览;熟悉Eager 模式;
典型神经网络模型:(图片来源:https://github.com/madalinabuzau/tensorflow-eager-tutorials) 保持更新,更多内容请关注 cnblogs.com ...