我只是一个初学者,一般来说是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上的第一篇文章。
答案 0 :(得分:0)
我使用上面显示的设置创建了一个名为driverBuilder的单独python文件。然后我将其导入我的每个测试文件并调用如下方法:
from DriverBuilder import DriverBuilder """<--class from DriverBuilder file"""
def test(self):
driver = DriverBuilder.driver