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函数了