Appium_pytest fixture的使用
生活随笔
收集整理的這篇文章主要介紹了
Appium_pytest fixture的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、定義fixture方法
# -*- coding:utf-8 -*-import pytest
from baseutil.DriverUtil import DriverConfig
@pytest.fixture
def driver_handle():
driver = DriverConfig().get_driver() # get_driver()中是設備建立連接的配置
yield driver
driver.close_app()
driver.quit()
二、測試方法中傳入driver
@pytest.mark.flaky(reruns=2, reruns_delay=2)
@pytest.mark.usefixtures("driver_handle") def test_user_register(self, driver_handle):
self.driver = driver_handle
此時使用self.driver.find_element(By.ID,"id").click() 就可以正常使用了
三、get_driver()內容 class DriverUtil:
def get_driver(self):
'''獲取driver'''
try:
desired_caps = {}
desired_caps['platformName'] = 'Android' # 平臺
desired_caps['Version'] = '9.0.0' # 系統版本
desired_caps['appPackage'] = 'aaa.bbb.ccc' # APK包名
desired_caps['appActivity'] = '.ui.StartActivity' # 被測程序啟動時的Activity
desired_caps['unicodeKeyboard'] = 'true' # 是否支持unicode的鍵盤。如果需要輸入中文,要設置為“true”
desired_caps['resetKeyboard'] = 'true' # 是否在測試結束后將鍵盤重軒為系統默認的輸入法。
desired_caps['newCommandTimeout'] = '120' # Appium服務器待appium客戶端發送新消息的時間。默認為60秒
desired_caps['deviceName'] = 'P7CDU1833333' # 手機ID
desired_caps['automationName'] = 'Uiautomator2' # 啟動Uiautomator2獲取toast
desired_caps['noReset'] = True # true:不重新安裝APP,false:重新安裝app
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub",desired_caps)
return driver
四、調用fixture方法中的變量
@pytest.fixture
def init_car_data():
fo = FileOperate()
car_info = fo.get_first_line_content("carInfo")
at = AppTools()
company_name_list = at.get_company(car_info[0])
return car_info,company_name_list @pytest.mark.usefixtures("init_car_data")
def test_carinfo10(self,driver_handle,init_car_data):
"""用例描述:車輛信息10"""
car_info = init_car_data[0]
company_name_list = init_car_data[1] ?
轉載于:https://www.cnblogs.com/jiguanghover/p/10730171.html
總結
以上是生活随笔為你收集整理的Appium_pytest fixture的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于面对对象和正则表达式的处理
- 下一篇: 史上最详尽的NLP预处理模型汇总