AttributeError:“类名”对象在Appium Python上没有属性“驱动程序”

时间:2019-04-23 20:32:57

标签: python-3.x selenium-webdriver python-appium

我正在使用此正文(desired_caps在配置文件中已正确设置) 无论我做什么,我都会收到'AttributeError:'ClassName'对象没有属性'driver'或类似的错误-没有find_element_by_xpath属性或其他属性。 你有什么建议吗?我的授课方式与授课方式相同,也许与appium + python设置有关?

import unittest
from appium import webdriver
import time
import tracemalloc
tracemalloc.start()
from config import desired_caps
# self = webdriver
# self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)


class BaseTest(unittest.TestCase):

    def test_testcase1(self):
        self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

    def test_credentials(self):
        email = self.driver.find_element_by_xpath("proper Xpath")
        email.send_keys("Test")

        save = self.driver.find_element_by_link_text("Log In")
        save.click()

    def tearDown(self):
        self.driver.quit()


if __name__ == '__main__':

    suite = unittest.TestLoader().loadTestsFromTestCase(BaseTest)
    unittest.TextTestRunner(verbosity=3).run(suite)

1 个答案:

答案 0 :(得分:0)

您需要使用名为setUp()的函数来制作驱动程序。单元测试套件会像这样执行。

setUp()
run test_testcase1()
tearDown()

setUp()
run test_credentials()
teardown()

...etc...

如果未在driver中创建驱动程序setup(),其他测试将不知道。除非您在每个测试中都做driver。您需要的任何其他测试变量也是如此。

这样,每个测试彼此独立,并且每个测试都重新开始。