主要技术及工具:Python+Appium+Pytest+Genymotion+UIAutomatorViewer
以最美天气apk进行示范。
1.进入app,需要选择地址(以北京为例)。
2.选择地址后,要进行新手指导,需要点击屏幕两下。
3.个人主页 - '我' 定位 '登录账号' 选项
4.输入账号密码 登录成功。
上代码。
from appium import webdriver
import pytest
import time
class TestZmWeather:
# 初始化
def setup_class(self):
# 服务启动参数配置
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '4.2.2'
desired_caps['deviceName'] = '192.168.56.101:5555'
# 最美天气APK包名
desired_caps['appPackage'] = 'com.icoolme.android.weather'
# Activity
desired_caps['appActivity'] = '.activity.MainWeatherActivity'
# 服务器注册参数
self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
def test_login(self):
self.driver.implicitly_wait(5)
# 进入首页后 定位城市为北京
self.driver.find_element_by_xpath('//*[@text = "北京"]').click()
time.sleep(5)
# 点击两下屏幕 去除新手指引
self.driver.find_element_by_xpath('//*[@index = "2"]').click()
time.sleep(3)
self.driver.find_element_by_xpath('//*[@text = "我"]').click()
time.sleep(3)
# 定位到 '我'
self.driver.find_element_by_xpath('//*[@text = "我"]').click()
time.sleep(3)
# 登录账号
self.driver.find_element_by_xpath('//*[contains(@text = "账号")]').click()
time.sleep(3)
# 账号密码
self.driver.find_element_by_xpath('//*[contains(@text = "请输入手机号")]').send_keys('你的账号')
time.sleep(3)
self.driver.find_element_by_xpath('//*[@password = "true"]').send_keys('你的密码')
time.sleep(3)
# 登录
self.driver.find_element_by_xpath('//*[contains(@text = "登录")]').click()
time.sleep(3)
def teardown_class(self):
self.driver.quit()
# PS: 运行命令: pytest -s 文件路径/文件名称