Python+Appium自动化测试-编写自动化脚本_appium toutiao视频自动播放

}


二,编写Python脚本启动app  
 1,编辑器推荐大家使用PyCharm,下载pycharm社区版本,免费无需破解。


2,因为登陆需要输入账号、密码,所以这里新增了两个参数。参数unicodeKeyboard即是否启用Unicode格式输入字符串,默认值为False,设置为True则表示启用。参数resetKeyboard即使用unicodeKeyboard功能进行Unicode输入后,是否将键盘重置为原始状态,默认False。



desired_caps = {
“platformName”: “Android”,
“platformVersion”: “10”,
“deviceName”: “PCT_AL10”,
“appPackage”: “com.ss.android.article.news”,
“appActivity”: “.activity.MainActivity”,
“unicodeKeyboard”: True,
“resetKeyboard”: True,
}


3,传入desired\_caps通过appium启动app,构造driver对象(即创建一个session)。


driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired\_caps)  
 appium在本机开启的话则IP为127.0.0.1,端口默认为4723


4,电脑连接手机,开启appium服务,运行脚本,调试是否能启动app。



from appium import webdriver

desired_caps = {
“platformName”: “Android”,
“platformVersion”: “10”,
“deviceName”: “PCT_AL10”,
“appPackage”: “com.ss.android.article.news”,
“appActivity”: “.activity.MainActivity”,
“unicodeKeyboard”: True,
“resetKeyboard”: True,
}

启动app

driver = webdriver.Remote(‘http://127.0.0.1:4723/wd/hub’, desired_caps)


我们会看到手机上今日头条app被打开。


##### 三,通过appium Inspector定位元素,登陆APP


1,登陆操作步骤为:



启动今日头条app --> 点击【我知道了】–> 确定管理权限 --> 点击底部tab“未登陆” 进入未登录页面 --> 点击 “登陆” --> 点击“…” --> 选择密码登陆 --> 输入账号密码 --> 点击登陆


2,根据操作步骤,使用appium的Inspector获取登陆相关操作元素的属性



进入appium Inspector页面,先点击选择元素按钮,然后在窗口左侧展示的手机页面上,点击选择需要定位的元素,窗口右侧会展示该元素的属性值。手机app页面切换后,点击窗口刷新页面按钮,左侧页面会刷新。


![](https://img-blog.csdnimg.cn/625ace20014b43dc9f0eb17ed7779a51.png)


appium Inspector获取不到的元素属性的话,还可以用Android SDK里自带的工具uiautomatorviewer获取。后面会专门介绍怎样获取元素属性,这里不详述。


![](https://img-blog.csdnimg.cn/9187456b028c4fd5b8ef376b9fe12eae.png) 3,登陆操作脚本



-- coding:utf-8 --

import time
from appium import webdriver

desired_caps = {
“platformName”: “Android”,
“platformVersion”: “10”,
“deviceName”: “PCT_AL10”,
“appPackage”: “com.ss.android.article.news”,
“appActivity”: “.activity.MainActivity”,
“unicodeKeyboard”: True,
“resetKeyboard”: True,
}

启动app

driver = webdriver.Remote(‘http://127.0.0.1:4723/wd/hub’, desired_caps)

登陆操作

driver.find_element_by_id(“com.ss.android.article.news:id/chj”).click() # 点击【我知道了】
time.sleep(1)
driver.find_element_by_id(“android:id/button1”).click() # 点击权限管理-确定按钮
time.sleep(1)
driver.find_element_by_xpath(“//android.widget.TabWidget/android.widget.RelativeLayout[@index=3]”).click() # 点击未登录
time.sleep(1)
driver.find_element_by_id(“com.ss.android.article.news:id/a1c”).click() # 未登录页点击登录按钮
time.sleep(1)
driver.find_element_by_id(“com.ss.android.article.news:id/bfm”).click() # 登录页点击“。。。”
time.sleep(1)
driver.find_element_by_xpath(“//android.widget.LinearLayout[@index=4]”).click() # 选择密码登录
time.sleep(1)
driver.find_element_by_id(“com.ss.android.article.news:id/c7”).send_keys(““) # 输入账号
time.sleep(1)
driver.find_element_by_id(“com.ss.android.article.news:id/ch”).send_keys(”
”) # 输入密码
time.sleep(1)
driver.find_element_by_id(“com.ss.android.article.news:id/a31”).click() # 点击登录
time.sleep(5)


我们查看手机,会发现手机正在自动做登录今日头条的app操作,且登录成功。



![img](https://img-blog.csdnimg.cn/img_convert/6d73f9918508b43b70b4cfb050c8ad65.png)
![img](https://img-blog.csdnimg.cn/img_convert/452d52fa203a209ced072cd0c41bb5ce.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 13
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值