APP自动化--封包

常用的导包数据,可以直接封装起来,以便后期使用,

可以在project添加名为Package的python软件包,如常用下面的包和APP自动远程的链接信息,可以进行封装

from appium.webdriver import Remote  # 导入远程包
from appium.webdriver.common.appiumby import AppiumBy as By     # 引用appium的驱动常规AppiumBy 引入By模块,别名为BY
from selenium.webdriver.support.wait import WebDriverWait       # 引入Selenium的WebDriverWait服务
from selenium.webdriver.support import expected_conditions as ec    # 引入Selenium的expected_conditions服务别名为ec
from appium.webdriver.common.touch_action import TouchAction  # 引入触摸事件方法导包为TouchAction

caps = {}
caps["platformName"] = "Android"
caps["appium:deviceName"] = "emulator-5554"
caps["appium:platformVersion"] = "7.1.2"
# caps["appium:appPackage"] = "com.zhao.myreader"
# caps["appium:appActivity"] = "com.zhao.myreader.ui.home.MainActivity"
caps["appium:notReset"] = "True"

url = "127.0.0.1:4723/wd/hub"
driver = Remote(url, caps)

wait = WebDriverWait(driver, 2)

先在Package下建一个python文件,示例名为import_all,把上面的导包信息放进去

 再新建一个python文件,示例名为stat_session,把链接信息放进去,

 由于Remote函数需要先进行导包 from appium.webdriver import Remote # 导入远程包,这个包在import_all里已经封装,这里要使用的话,应该要先引入这个包

然后定义这个Remote链接信息为def函数,因为后面需要用到driver和wait函数,所以这里要return  driver和wait

新建用例的时候,直接引入star_session包,

 但是因为下面寻找元素需要用到By函数,即from appium.webdriver.common.appiumby import AppiumBy as By,这个包已经封装在了import_all包里,所以需要再次引入这个包。就可以引用BY函数了

 

posted @ 2023-05-12 18:36  琉璃星眸  阅读(62)  评论(0编辑  收藏  举报