运行自动化代码,appium返回Could not parse UiSelector argument: 'XXX' is not a string,其中的xxx就是定位的元素 解决方案:外侧用 '' (单引号) ,里面的字符串用 " " (双引号) 参考: https://blog.csdn.net/qq544649790/article/details/83960311…
ebDriverWait(driver,20).until(EC.visibility_of_element_located((MobileBy.ANDROID_UIAUTOMATOR,new UiSelector().text("我的柠檬")'))).click() 报错: Message: Could not parse UiSelector argument: ‘xxxxxxxxx’ is not a string 解决方案:外侧用 ‘’ (单引号) ,里面的字符串用 "…
当打开一个应用时,会有一个无关紧要的提示框,如果要继续操作,需要先关闭提示框,如下图(如新用户福利提示): 此时,如果你直接用Appium inspector或者Android uiautomatorviewer一般是找不到它的相关属性的,我们手动操作是点击图中的“知道了”,appium自动化操作也应该是去点击此选项的,我的代码如下: from appium import webdriver from time import sleep caps = { 'platformName':'Andr…
python对于跨包调用函数时,经常会提示模块不存在的问题,主要是python程序执行时,搜索路径导致的,python程序执行的路径依次是: (1)程序根目录(2)环境变量(3)标准库目标(D:\Python27\Lib  标准库是在lib文件下)(4)第三方库的目录(D:\Python27\Lib\site-packages  第三方库在site-packages文件下)   如下图所示,明明test1文件是存在的,但是跨包调用时,就出现test1不存在的问题,原因是当test2模块去调用te…
修改注册表解决 1.打开注册表编辑器 方法:开始 -> 运行 -> 输入regedit -> 确定 2.找到注册表子项 HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Security 3.在右侧空白处点击鼠标右键,选择“新建 -> DWORD值(D)”,输入“ExtensionHardening”点击确定. 4.用鼠标右键点击ExtensionHardening,然后单击“修改(M)”,在数值数据中填写“0”即可确定.…
原因:在命令行执行.py文件找不到包是因为我们没有把项目路径保存,可以通过sys.path.append()保存项目路径,执行后就能成功. #########################################保存项目路径######################################### import sys print(sys.path) # 获取项目路径下的目录 # 项目路径 project_path = 'E:/COVID-19CTimageAnal/源码/3D…
一,问题 app自动化测试使用Android真机连接电脑时,通常会遇到两种情况: 1.测试机连接电脑会弹窗提示USB选项,选择USB用于"传输文件",有些手机不支持设置默认USB选项,手机重新连接电脑时都需要手动点击选择USB选项: 2.使用adb命令在真机上安装app时,需要手动点击确认安装按钮. 二,思考 每天定时唤醒手机执行自动化测试时,偶尔会遇到真机重新弹窗提示进行USB用于选项的选择,需要选择USB用于传输文件,否则会执行失败.为了能让手机自动选择USB用于传输文件,我们考虑…
Python  Appium  元素定位 常用的八种定位方法(与selenium通用) # id定位 driver.find_element_by_id() # name定位 driver.find_element_by_name() # xpath定位 driver.find_element_by_xpath() # class_name定位 driver.find_element_by_class_name() # css 定位 driver.find_element_by_css_sele…
运行easy_install安装python相关程序时提示failed to create process,因为安装了两个python,卸载了的那个目录没删除,删除了另外的python目录后这个问题就解决了…
今天做后台定位时,授权提示"允许 XXX 在您并未使用该应用时范文您的位置吗?"总是一闪而过,点不到,或者压根就不弹出.后来找到了解决问题的方法,那就是:将CLLocationManager * locationManager设置成全局变量,不要设置为局部变量就可以了,出现这个问题的原因极可能是locationManager被释放掉了,在此标记一下.…
事情是这样的我用打包命令:pyinstaller -F E:\python\clpicdownload\mypython.py打包了一个exe程序,但是运行时提示我缺 少bs4模块然后我就去查pyinstaller的使用方法,找到pyinstaller有一个-p参数: 1.设置导入路径(和使用PYTHONPATH效果相似).可以用路径分割符(Windows使用分号,Linux使用冒号)分割,指定多个目录. 2.也可以使用多个-p参数来设置多个导入路径 然后我找到bs4模块所在的目录E:\pyth…
#这里的示例是用android来说明的,xpath应该是通用的,resource-id不太清楚,没配过IOS的环境 #环境配置和一些参数的意思不清楚可以看我上一篇python appium笔记(一) (一)说明 主要说明下面2种方式,其实感觉通过xpath,不管selenium还是appium,应该能定位全部元素了. 1.resource-id:定义了resource-id,并且唯一的情况下,可以使用这种方式 2.xpath:任何情况下,都可以用xpath进行定位 (二)查看 #做第四步的时候,…
解决Python安装包时提示Unable to find vcvarsall.bat的问题   by:授客 QQ:1033553122 问题 Python安装包时,提示Unable to find vcvarsall.bat,如下 解决方法 安装MinGW,安装完成后,设置环境变量,把 $install_dir\bin添加到path中,比如MinGW安装在C:\MinGW,则把C:\MinGW\bin添加到path中 MinGW下载地址:https://sourceforge.net/proje…
一.概述 iOS中很多功能需要配置Info.plist才能实现,如设置后台运行.支持打开的文件类型.自定义访问隐私内容时弹出的提示等.了解Info.plist中各字段及其含义,可以访问苹果开发网站相关文档,https://developer.apple.com/library/prerelease/ios/documentation/General/Reference/InfoPlistKeyReference/Introduction/Introduction.html#//apple_ref…
总结 单个元素定位: driver.find_element_by_accessibility_id(id) driver.find_element_by_android_uiautomator(uia_string) driver.find_element_by_class_name(name) driver.find_element_by_css_selector(css_selector) driver.find_element_by_id(id_) driver.find_element…
appium+python解决每次运行代码都提示安装Unlock以及AppiumSetting的问题(部分安卓机型) 1.修改appium-android-driver\lib下的android-helpers.js文件 安装路径\appium-desktop\resources\app\node_modules\appium\node_modules\appium-android-driver\lib\android-helpers.js //await adb.install(unicode…
前言 每次自己写pageobject定位元素对象太繁琐,格式都差不多,只是换个定位方法,这种就可以才有模板的方式,批量生成pageobject定位元素对象的模板 python里面生成模板有两个模块可以选择:templet和mako 简单来说,本篇实现的目的是用代码去自动生成代码,做到代码自动化 接着上一篇讲:appium+python自动化49-yaml管理定位元素 jinja2简介 1.jinja2官方文档:官方文档 jinja2是Flask作者开发的一个模板系统,起初是仿django模板的一…
今天在生产系统中查询产品时,莫名提示错误:maximum recursion depth exceeded while calling a Python object,根据错误日志提示,发现在查询产品时,系统会构造一个domain,查询所有库位的库存量.当仓库较多的时候,构造的这个domain比较长,然后解析这个domain的方法distribute_negate是递归调用,因为递归次数太多,所以就提示错误. 根据源码查看了生成domain的条件,这个部分不太好调整,所以后来直接找了个方法来增加…
python+selenium 元素被定位到而且click()也提示执行成功,但是页面就是没有变化和跳转. 如果多次定位和click(),有时候会跳转. 我遇到很多次就是很郁闷,有人说,操作太快的,页面的元素还没加载出来, 我觉得这是不存在的的,因为我用了隐式等待,driver.implicitly_wait(10). 最后我我发现,在定位元素之前加上sleep(1),这个问题就完美的被解决了. 问题基本定位到了. 原因是, WebElement.click() 之后,没有留足够的时间,就把页面…
用python黑框运行程序写入文件时闪退,或一行行运行到写入时提示8170数字. 经试验,为文件路径错误导致. with open("1.doc", "wb") as file: file.write(response.read()) 改为: with open("C:\\Users\\用户名\\Desktop\\1.doc", "wb") as file: file.write(response.read()) 写入文件即可…
name定位 driver.find_element_by_name('飞利浦净水').click() 测试结果报错:selenium.common.exceptions.InvalidSelectorException: Message: Locator Strategy 'name' is not supported for this session 一开始以为写错了,后面通过搜索资料才知道,name这个定位方法,appium从1.5版本后就已经抛弃了... 所以可以通过其他定位方式来完成.…
如题,在使用python语言的open函数时,提示错误OSError: [Errno 22] Invalid argument: '文件路径',在查阅了大量资料后也得到了一些解决方案,但是这些解决方案对于作者的情况都不适用,依然报错,没办法,虽然作者的英语水平很不咋地,但中文帮不了作者,只好求助于英文了.        建议各位看客在修改时,仔细看清楚自己的情况是否适用.废话不多说,开始正文.        作者的路径为open('D:\LearningBooks\test.txt')    …
自己踩过的坑,不记下来就会忘掉,忘了就会不断的重复踩坑!! 重来在一台电脑上搭建了python的环境,在运行的时候,提示找不到adb.exe,看到这个问题我在想是不是我的环境变量配置有问题,我就去改了环境变量的问题,发现还是提示这个问题:接下来就是,各种百度怎么找出来的没有和我一样的问题呢?更改搜索方式python +appium运行,出现找不到adb.exe,果然找到了!这个问题的答案特别熟悉啊!-----原来是 我的模拟器没有开启开发者选项! 模拟器开启开发者选项的操作如下: 设置 -> 我…
在pycharm中运行python文件没有问题,切换到cmd中是提示:ImportError: No module named xxx 原因: pycharm在运行时会把当前工程的所有文件夹路径都作为包的搜索路径,而命令行默认只是搜索当前路径.’ 解决方法: 在出错的模块中加上 import sysimport oscurPath = os.path.abspath(os.path.dirname(__file__))rootPath = os.path.split(curPath)[0]sys…
(当前python版本:2.7) 1.在git下载electrum-server: cd / git clone https://github.com/spesmilo/electrum-server.git cd /electrum-server   #electrum-server可安装在任意路径下 在python2.7中输入命令:python run_electrum_server.py回车后,提示: Traceback (most recent call last): File "run…
通过pip或者源码安装psutil,都会提示缺少python.h头文件,错误提示如下: ... psutil/_psutil_common.c:9:20: fatal error: Python.h: No such file or directory #include <Python.h> ^ compilation terminated. error: command 'gcc' failed with exit status 1 ... 出现此错误的原因是没有安装python-devel…
这几天遇到了一个比较奇怪的问题,使用RF框架进行自动化测试的时候定位不到部分元素 并且这个元素的是有id的,更换了xpath定位也行不通,冥思苦想,加上谷歌百度,终于解决了 解决步骤如下: 1.定位问题 首先编写个简单的test.py,用来进行debug 进入包含定位不到元素的页面,打印出pagesource from appium import webdriver from time import sleep meizu = {"platformName": "Androi…
元素定位 与web自动化一样,app自动化元素定位也是非常重要的一环,,appium也是提供了很多元素定位的方法,比如:id.name.class.层级定位等等. 元素定位方式 id name class List定位 相对定位 Xpath定位 H5页面元素定位 Uiautomator定位 首先可以进入SDK中的tools文件夹中打开uiautimatorviewer.bat,用于元素定位 测试场景,启动淘宝app,同意温馨提示,进入首页 id定位 Appium中可以使用find_element…
对于Android而言,查找appUI界面元素属性的工具有三种:appium desktop,uiautomatorviewer.bat,weditor.之前已经介绍过了weditor的使用,这里我将通过使用uiautomatorview工具查看元素的属性值,来介绍Android app通过appium进行元素定位常用的几种方法. 一,使用uiautomatorview对app页面截图,查看元素属性 连接Android手机 在Android SDK的目录里的tools文件夹中找到uiautoma…