0

当谈到 python 或一般编码时,我只是一个初学者。我正在尝试使用 python-appium 和页面对象模型设置自动化框架。我的问题是,如何将设置方法包含到我的基本页面中?当我从我的测试脚本中调用该方法时,它说“驱动程序”未解决并引发异常。我知道我只是错过了一些简单的东西,但我的 google-fu 让我失望了,现在我已经在这里发布了。

这是我的设置方法:

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 上的第一篇文章。

4

1 回答 1

0

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

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

def test(self):
    driver = DriverBuilder.driver 
于 2018-03-30T03:33:20.157 回答