代码之家  ›  专栏  ›  技术社区  ›  modnarrandom

结合selenium测试类和tkinter

  •  0
  • modnarrandom  · 技术社区  · 6 年前

    我想能够运行每个套件通过点击一个按钮。我的问题似乎是我错过了一个步骤,但没有得到任何错误或行动时,我点击按钮,但一个错误后,我点击并关闭ui窗口。我应该指出,导入设置文件(其中包含大多数webdriver导入)也没有帮助。我也有同样的错误。

    回溯:

    Exception in Tkinter callback
    Traceback (most recent call last):
    File "C:\Python37\lib\tkinter\__init__.py", line 1702, in __call__
    return self.func(*args)
    File "C:\Python37\lib\unittest\case.py", line 663, in __call__
    return self.run(*args, **kwds)
    File "C:\Python37\lib\unittest\case.py", line 590, in run
    testMethod = getattr(self, self._testMethodName)
    AttributeError: 'Test' object has no attribute 'runTest'
    

    我的ui代码:

    import sys, os, tkinter, TESTadmin
    top = tkinter.Tk()
    a = TESTadmin.Test()
    B = tkinter.Button(top, text= "Test Window", command=a )
    B.pack()
    top.mainloop()
    

    from helpers.settings import *
    from pieces import adminLogin, adminLogout, docs
    
    
    class Test(unittest.TestCase):
    def setUp(self):
    
        # Maximize Window (remove quotes to use)
        '''sel.maximize_window()'''
    
        self.browser = webdriver.Firefox()
        self.browser.get("https://mywebsite.net")
        # We instantiate and start the browser
    
    def testCases(self):# Add Tests Below
        #log in to admin side
        login = adminLogin.AdminLogin.do(self)
        #docs page
        docpage = docs.Docs.do(self)
        #log out
        logout = adminLogout.Logout.do(self)
        if G.log:
            for k in G.log.items():
                print(k)
    
    ### Uncomment to close browser after test ###   
    def tearDown(self):
        self.browser.close()
    
    if __name__ == "__main__":
        unittest.main()
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   modnarrandom    6 年前

    事实证明,我认为答案很简单。

    def testCases(self):
    

    需要阅读:

    def runTest(self): 
    

    在那次改变之后,每件事都能很好地运作。

    https://selenium-python.readthedocs.io/