发布时间:2023-01-12 19:00
以通讯录为例:
右侧列出了多种元素控件的详细信息,这些都是可以直接拿去用的。
这里我们可以通过id对该元素进行操作,在python中使用find_element_by_id()方法定位该元素,还有很多方法可以定位元素。
如:find_element_by_xpath()、driver.find_element_by_name()、driver.find_element_by_partial_link_text()等,使用click()方法对元素进行点击操作,使用swip()方法对屏幕进行滑动操作等。
下面是python实现操作的源码展示,运行之后可以看到手机自动完成了启动app、点击、退出的操作后,说明python脚本运行成功。需要注意的是在完成上一步操作之后由于手机性能的差异,app的响应速度不同,建议等待几秒后再进行下一步操作。
1、打开python的IDE,我使用的是Pycharm,其他亦可,创建新项目名为:Appium_test
2、创建一个python文件,名为test.py
3、下面是一个demo的代码:(注意:这里是我们公司自己的APP产品,以下代码不可直接套用)
from time import sleep
from appium import webdriver
from appium.webdriver.common.mobileby import MobileBy as By
caps = {
"appium:platformVersion": "7.1.2",
"platformName": "Android",
"deviceName": "V1916A", # 连接的设备名称
"appPackage": "com.jdwa.netdisk", # apk的包名
"appActivity": "com.jdwa.netdisk.ui.account.LoginActivity", #activity的名称
"resetKeyboard": True,
"noReset": True # 在开始会话之前不要重置应用程序状态
}
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps) # 启动app
sleep(1)
el1 = driver.find_element(By.ID, 'com.jdwa.netdisk:id/et_user').send_keys('admin')
sleep(1)
el2 = driver.find_element(By.ID, 'com.jdwa.netdisk:id/et_psd').send_keys('admin2003')
sleep(1)
el3 = driver.find_element(By.ID, 'com.jdwa.netdisk:id/tv_login').click()
sleep(10)
driver.quit() # 退出
到这一步,基本上就算入门了appium的安卓自动化了,接下来我们开始实战搭建测试框架吧。
Python+Pytest+Appium+Allure移动端自动化测试框架搭建(三)