python-appium520-2初步使用
1.录制自动化脚本
场景:启动雪球,点击我的,登陆雪球,选择手机及其他登陆,输入手机号
2.Appium客户端
客户端介绍:https://github.com/appium/appium/blob/master/docs/en/about-appium/appium-clients.md
3.使用python进行测试
3.1安装python客户端
pip install Appium-Python-Client
3.2python在线编辑器,建议使用pycharm
pip install jupyter
3.3本地开服务器
使用Go语言,不会,需要学习
./gohttpserver --upload
ifconfig en0
3.4打印session,用session开启Inspector
from appium import webdrivercaps = {}
caps["platformName"] = "Android"
caps["deviceName"] = "domo"
caps["appPackage"] = "com.xueqiu.android"
caps["appActivity"] = ".view.WelcomeActivityAlias"
caps["automationName"] = "UiAutomator2"
caps["newCommandTimeout"] = 600driver = webdriver.Remote("http://localhost:4723/wd/hub",caps)
driver.implicitly_wait(10)
print(driver.session_id)
3.5测试代码
#python代码
# This sample code uses the Appium python client
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Pythonfrom appium import webdrivercaps = {}
caps["platformName"] = "android"
caps["deviceName"] = "domo"
caps["appPackage"] = "com.xueqiu.android"
caps["appActivity"] = ".view.WelcomeActivityAlias"
caps["automationName"]="Uiautomator2" #可加可不加,默认Uiautomator
caps["newCommandTimeout"]=600 #session超时时间,默认60秒。如果一段时间内没有接收到请求,session会消失 driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)el1 = driver.find_element_by_id("com.xueqiu.android:id/user_profile_icon")
el1.click()
el2 = driver.find_element_by_id("com.xueqiu.android:id/tv_login")
el2.click()
el3 = driver.find_element_by_id("com.xueqiu.android:id/tv_login_by_phone_or_others")
el3.click()
el4 = driver.find_element_by_id("com.xueqiu.android:id/register_phone_number")
el4.send_keys("123456789")driver.quit()
FAQ
1.使用python执行脚本,抱如下错误
selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Error executing adbExec. Original error: 'Command '/Users/chenshanju/Library/Android/sdk/platform-tools/adb -P 5037 -s 406e8f3 install /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-uiautomator2-server/apks/appium-uiautomator2-server-v1.18.0.apk' exited with code 1'; Stderr: 'adb: failed to install /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-uiautomator2-server/apks/appium-uiautomator2-server-v1.18.0.apk: Failure [INSTALL_FAILED_USER_RESTRICTED: Install canceled by user]'; Code: '1'
小米手机,需要在开发者模式里允许USB调试
2.selenium.common.exceptions.InvalidSelectorException: Message: Locator Strategy 'css selector' is not supported for this session
不要使用Appium Desktop,使用Appium Server解决
3.selenium.common.exceptions.NoSuchElementException: Message: An element could not be located on the page using the given search parameters.
添加延时即可
from appium import webdriver
from time import sleep
caps = {}
caps["platformName"] = "android"
caps["deviceName"] = "domo"
caps["appPackage"] = "com.xueqiu.android"
caps["appActivity"] = ".view.WelcomeActivityAlias"
caps["newCommandTimeout"] = 600
caps["automationName"] = "UiAutomator2"driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
driver.implicitly_wait(20)
sleep(20)
print(driver.session_id)
def test_for_element(a):try:driver.find_element_by_id(a).click()except Exception as e:print(e)finally:print(driver.session_id)print(a)sleep(3)
test_for_element("com.xueqiu.android:id/agree")
test_for_element("com.xueqiu.android:id/user_profile_icon")
test_for_element("com.xueqiu.android:id/tv_login")
test_for_element("com.xueqiu.android:id/tv_login_by_phone_or_others")
driver.find_element_by_id("com.xueqiu.android:id/register_phone_number").send_keys("123456789")
sleep(3)
print(driver.session_id)
driver.quit()
转载于:https://www.cnblogs.com/csj2018/p/9741673.html
python-appium520-2初步使用相关推荐
- 从入门到入土:机器学习part01|python|代码分析|初步学习
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...
- 2017 Python 问卷调查结果初步分析
Note:本文在我的个人站点同步发布:2017 Python 问卷调查结果初步分析 · Lee's Space Station,无广告,体验更好. 未经授权,禁止转载. 前言 2017 年末,PSF( ...
- Python pip工具初步学习
pip 是 Python 包管理工具,该工具提供了对Python 包的查找.下载.安装.卸载的功能. 一般安装了python已经自带了该工具. Python 2.7.9 + 或 Python 3.4+ ...
- Python第一弹--------初步了解Python
Python是一种跨平台的语言,这意味着它能够运行在所有主要的操作系统中. 语法规范几乎同C语言. 字符串: 当像Python输入一个字符串时,首先要输入一个引号.单引号.双引号.三引号三者等价.通常 ...
- Python+Selenium:初步使用Chrome谷歌浏览器
·············环境结合··············· 我的环境:window10 64位 Python 3.7 32-bit selenium 3.141.0 Google Chrome ...
- 用python做算法初步流程图_13位Python大牛历时一个月打造的Python系统学习流程图,超详细!...
对于刚开始接触Python的小伙伴来说,没有思路方法,不知道从何开始学习,把软件环境安装好后就不知所措了!接下来我给大家分享下多位大牛倾力打造的python系统学习流程,一个月才设计完的! 需要pyt ...
- python协程初步学习使用
import asyncio import timeasync def func1():print('func1 - 入 1')# 发送网路请求# 休眠一下. 模拟网路请求await asyncio. ...
- python初步入门_python如何入门
不少新手总是纠结是学 Python2 还是 Python3,就像手里同时有包子和馒头,不知道先吃哪个,这种纠结完全就是徒增烦恼,因为它们 是同一种语言,只有少部分地方语法不兼容,尽管目前大部分公司还在 ...
- Python Socket网络编程(一)初识Socket和Socket初步使用
目录 前言 网络编程 实质 IP地址和端口 数据传输协议 协议 Socket 概念 套接字 socket对象方法 初步使用 功能 源码 运行结果 结语 前言 本系列博客是笔者学习Python Sock ...
- Python入门 Python自学路线 Python如何学习
本文介绍Python入门 Python自学路线 Python如何学习.先说点题外话吧:首先呢,我刚开始接触编程的时候,学的是C,那时候Python还没有这么火,后来学了C++,PHP,Java,前端. ...
最新文章
- 深入理解 C# 协变和逆变【转】
- ui unity 图片高亮_程序化生成UI模型与顶点动画
- 套接字I/O模型-重叠I/O
- 微软的报表工具 SQL Server 2000 Reporting Services 评估版
- c oracle日志分析,oracle 日志分析
- 魅族6支持html吗,魅族手机浏览器兼容性调优最佳实践_html/css_WEB-ITnose
- system.out输出到文件上
- 平安科技移动开发二队技术周报(第十一期)
- 有时更贵的ADC是最划算的
- Mock Server入门及实践
- 如何合并pdf文件,pdf合并方法
- c++ 字符串替换指定字符
- texlive2021
- 电阻电容串联并联关系,一辈子受益
- 开发人员都需要知道的几款优秀数据库管理工具
- html5制作涂鸦板,HTML5实现涂鸦板
- 如何用微信群、微信霸屏进行引流
- 隐私保护 举例_完美保护隐私
- 加州大学圣克鲁兹分校计算机科学专业,加州大学圣克鲁兹分校排名
- 基于qt的计算机论文,基于qt的科学计算器的设计与实现本科毕业论文.doc
热门文章
- rspec Could not find table
- 新年新起点-荣获2011年度Silverlight方向Microsoft® MVP奖
- mybatis模糊查询sqlserver和mysql的写法
- servlet处理多个请求 笔记
- 每天一道剑指offer-从上往下打印二叉树
- java安全管理器视频_安全管理器 (Security Manager)
- linux内存中的文件权限,理解Linux文件权限
- fastreport picture 放入data展示_博客 城市访问量统计并且通过Echarts展示
- python文件系统监控_简单了解Python下用于监视文件系统的pyinotify包
- 下载安装VS Code以及简单的配置使用