appium对博客园APP进行自动化测试
2018-01-03 18:53 虫师 阅读(18218) 评论(7) 编辑 收藏 举报前两天,zhangmumu 同学开发了博客园 Android 版APP:
http://www.cnblogs.com/zhangmumu/p/8146725.html
比官方的好用,官方的APP首页打开很慢。我刚好在用 appium,顺便对该APP写了个简单的自动化测试,供测试同学学习。
### 下载与安装
下载App 并安装到手机。
https://files.cnblogs.com/files/zhangmumu/cnblogs.apk
### 获取appPackage和appActivity
参考appium测试之获取appPackage和appActivity
最终,得到的APP信息如下:
- appPackage:com.cnblogs.xamarinandroid
- appActivity:md522127645c21675e531a6ac609ef72b2a.SplashScreenActivity
### 定位控件 参考,[Appium-desktop安装与使用](http://www.cnblogs.com/fnng/category/695788.html)
### 编写测试脚本
通过 python + appium + unittest 编写appium自动化测试。
from appium import webdriver
from time import sleep
from appium.webdriver.common.touch_action import TouchAction
from selenium.webdriver.common.keys import Keys
import unittest
class SearchTest(unittest.TestCase):
def setUp(self):
desired_caps = {}
desired_caps['automationName'] = 'Appium'
desired_caps['deviceName'] = 'PRO_5'
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '7.0'
desired_caps['noReset'] = True
desired_caps["appPackage"] = "com.cnblogs.xamarinandroid"
desired_caps["appActivity"] = "md522127645c21675e531a6ac609ef72b2a.SplashScreenActivity"
self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
sleep(5)
def test_case(self):
driver = self.driver
# 点击搜索按钮
driver.find_element_by_accessibility_id("搜索").click()
# 搜索框
search_src_text = driver.find_element_by_id("com.cnblogs.xamarinandroid:id/search_src_text")
search_src_text.click()
# 输入搜索关键字“appium”
driver.keyevent(29) # a
driver.keyevent(44) # p
driver.keyevent(44) # p
driver.keyevent(37) # i
driver.keyevent(49) # u
driver.keyevent(41) # m
sleep(1)
# 回车搜索
driver.keyevent(66)
driver.keyevent(66)
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()
操作步骤:打开 APP ,点击搜索按钮,搜索“appium”关键字。
效果如下:

最后,再次感谢 zhangmumu 开发的博客完APP。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)