1.创建一个case包,start_app的python文件
#coding=utf-8
from appium import webdriver
from util.read_init import ReadIni
from util.get_by_local import GetByloacl
import time
def get_driver():
desc={
"platformName":"Android",
"platformVersion":"5.1.1",
"deviceName":"emulator-5554",
"appPackage":"com.tencent.mobileqq",
"appActivity":".activity.SplashActivity",
"noReset":"True"
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desc)
return driver
def get_click():
get_by_local=GetByloacl(driver)
get_by_local.get_element('click').click()
time.sleep(1)
get_by_local.get_element('username').send_keys('11111')
get_by_local.get_element('password').send_keys('22222')
driver=get_driver()
get_click()
----------------------------------------------------------------------------------------------
2.创建一个config目录,text1.ini文件
[login_element]
click=id>com.tencent.mobileqq:id/btn_login
username=classname>android.widget.EditText
password=id>com.tencent.mobileqq:id/password
login_button=loginbutton
[course_element]
course=price
----------------------------------------------------------------------------------------------------------------------------------------
3.创建util包,创建get_by_loacl的python文件 读取配置文件
#coding=utf-8
from util.read_init import ReadIni
class GetByloacl:
def __init__(self,driver):
self.driver=driver
def get_element(self,key):
read_ini = ReadIni()
local=read_ini.get_value(key)
if local!=None:
by=local.split('>')[0]
local_by=local.split('>')[1]
if by=='id':
return self.driver.find_element_by_id(local_by)
elif by=='classname':
return self.driver.find_element_by_class_name(local_by)
else:
return self.driver.find_element_by_xpath(local_by)
else:
return None
(2)封装定位信息的python文件
#coding=utf-8
import configparser
class ReadIni():
def __init__(self,file_path=None):
if file_path==None:
self.file_path=r'E:\Users\00\PycharmProjects\untitled\config\text1.ini'
else:
self.file_path=file_path
self.data=self.read_ini()
def read_ini(self):
read_ini = configparser.ConfigParser()
read_ini.read(r'E:\Users\00\PycharmProjects\untitled\config\text1.ini')
return read_ini
def get_value(self,key,section=None):
if section==None:
section='login_element'
try:
value = self.data.get(section, key)
except:
value=None
return value
if __name__=='__main__':
read_ini=ReadIni()
print(read_ini.get_value("course","course_element"))
--------------------------------------------------------------------------------------------------------------------------------------------
4.创建page包,创建一个 login_page的python文件
#coding=utf-8
from util.get_by_local import GetByloacl
class LoginPage:
def __init__(self,driver):
self.get_by_local = GetByloacl(driver)
def get_username_element(self):
return self.get_by_local.get_element('username')
def get_password_element(self):
return self.get_by_local.get_element('password')
def get_login_elemnt(self):
return self.get_by_local.get_element('click')
----------------------------------------------------------------------------------------------------------------------------
5.创建一个handle包,login_handle的python文件
#coding=utf-8
from page.login_page import LoginPage
class Login_handle():
def __init__(self,driver):
self.login_page=LoginPage(driver)
def send_username(self,user):
self.login_page. get_username_element().send_keys(user)
def send_password(self,password):
self.login_page.get_password_element().send_keys(password)
def send_click(self):
self.login_page.get_login_elemnt().click()
---------------------------------------------------------------------------------------------------------------------------------------
6.创建bussiness包,一个 login_bussiness的python文件
#coding=utf-8
from handle.login_handle import Login_handle
class Login_bussiness:
def __init__(self,driver):
self.login_handle=Login_handle(driver)
def login_pass(self):
self.login_handle.send_username('11111')
self.login_handle.send_password('22222')
self.login_handle.send_click()
def login_user_error(self):
self.login_handle.send_username('12111')
self.login_handle.send_password('25222')
self.login_handle.send_click()