如何在python-appium基页中包含setup方法?

时间:2017-09-30 19:47:43

标签: python appium pageobjects python-appium appium-android

我只是一个初学者,一般来说是python或编码。我正在尝试使用python-appium和页面对象模型设置自动化框架。我的问题是,如何将设置方法包含在我的基页中?当我从我的测试脚本中调用该方法时,它会说' driver'尚未解决并抛出异常。我知道我只是遗漏了一些简单的东西,但我的谷歌已经失败了,现在我已经发布了。

这是我的设置方法:

def setUp(self):
    "Setup for the test"
    desired_caps = {}
    desired_caps['platformName'] = 'Android'
    desired_caps['platformVersion'] = '6.0.1'
    desired_caps['deviceName'] = '05157df532e5e40e'
    # Returns abs path relative to this file and not cwd
    desired_caps['app'] = os.path.abspath(
        os.path.join(os.path.dirname(__file__), 
    '/Users/tyler/Desktop/Instasize_20172109_3.9.9_118_google.apk'))
    desired_caps['appPackage'] = 'com.jsdev.instasize'
    desired_caps['appActivity'] = '.activities.MainActivity'
    self.driver = webdriver.Remote('http://localhost:4723/wd/hub', 
    desired_caps)

我想将此方法称为我的所有测试或其变体,具体取决于所使用的设备。以下是我试图从我的基页调用它的方法:

def driverSetup(self):
    driverSetup = DriverBuilderAndroid(driver)
    driverSetup.setUp()

我的所有导入声明都存在。如果您还需要其他任何信息,请与我们联系。如果你可以参考一个python appium POM教程,也会非常感激。这是我在stackoverflow上的第一篇文章。

1 个答案:

答案 0 :(得分:0)

我使用上面显示的设置创建了一个名为driverBuilder的单独python文件。然后我将其导入我的每个测试文件并调用如下方法:

from DriverBuilder import DriverBuilder """<--class from DriverBuilder file"""

def test(self):
    driver = DriverBuilder.driver