Android安卓-UI自动打卡Appium+PO+Pytest(2)

工厂类实例化

原因是因为之前,根据每个page页面,都要实例化一次页面的driver,所有将所有页面写在同一py文件上统一管理

 将【某个页面的】driver实例化以后可以多次使用
        # self.open_page = OpenPage(self.driver)
        # self.open_page2 = OpenPage2(self.driver)
        # self.open_page3 = OpenPage3(self.driver)
        # self.open_page4 = OpenPage4(self.driver)

引入工厂类,每次只需要多写一个方法就可以了,变得只是你引入的page文件,和对应的driver

"""页面工厂方法"""
# 封装所有实例方法
from pages.open_page import OpenPage


class PageFactory(object):

    def __init__(self, driver):
        self.driver = driver

    def open_page(self):
        """
        打卡页面
        :return:打卡页面对象OpenPage
        """
        return OpenPage(self.driver)

ModuleNotFoundError:No module named ‘page’

解决在黑窗口中报错

在根目录下创建空文件并命名为:conftest.py
重新再执行pytest 正常

ModuleNotFoundError:No module named page

工厂类实例化后代码改写

import time

import pytest

from pages.open_page import OpenPage
from pages.page_factory import PageFactory
from utils import init_driver


class TestSetting(object):
    @pytest.fixture(autouse=True)
    def driver_func(self):
        # 实例化对象
        self.driver = init_driver()
        # 将【某个页面的】driver实例化以后可以多次使用
        # self.open_page = OpenPage(self.driver)
        # 引入工厂模式获取对象
        self.page_factory = PageFactory(self.driver)

        yield
        # 等待3秒
        time.sleep(5)
        # 退出驱动对象
        self.driver.quit()

    def test_open(self):
    	# 引入工厂模式
        # self.page_factory.click_cancel()
        self.page_factory.open_page_factory().click_workspace()
        self.page_factory.open_page_factory().click_checkin()
        self.page_factory.open_page_factory().click_login()

Android安卓-UI自动打卡Appium+PO+Pytest源码下载

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值