短信案例
需求
在《短信》应用中,进入发送短信页面,在姓名和内容栏中,输入对应的数据,并点击发送。
包名界面名:com.android.mms/.ui.ConversationList
发送短信页面标识:resource-id,com.android.mms:id/action_compose_new
接收者标识:resource-id,com.android.mms:id/recipients_editor
内容标识:resource-id,com.android.mms:id/embedded_text_editor
发送按钮标识:content-desc,发送
数据
[18888888888, hello]
[13333333333, abc]
要求
使用 pytest框架 + po模式 +数据参数化
结构
-base
--base_action.py
--base_driver.py
-page
--page.py
--display_page.py
--more.py
--network.py
--setting_page.py
-scripts
--test_setting.py
代码
base_action.py代码
from selenium.webdriver.support.wait import WebDriverWait
class Base():
def __init__(self,driver):
self.driver = driver
def find_element(self,loc,time = 5 ,poll = 1):
ele = WebDriverWait(self.driver,timeout=time,poll_frequency=poll).until(lambda x:x.find_element(loc[0],loc[1]))
return ele
def find_elements(self,loc,time = 5 ,poll = 1):
ele = WebDriverWait(self.driver,timeout=time,poll_frequency=poll).until(lambda x:x.find_elements(loc[0],loc[1]))
return ele
def base_click(self,loc):
self.find_element(loc).click()
def base_send_keys(self,loc,value):
self.find_element(loc).send_keys(value)
base_driver.py代码
from appium import webdriver
def init_driver():
desired_caps = dict()
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
desired_caps['deviceName'] = '192.168.56.101:5555'
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = '.Settings'
return webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
page.py代码
from page.display_page import Display
from page.more import More
from page.