2016-04-03 33 views
0

我從頭開始使用selenium創建一個自動化框架,並且非常喜歡一些輸入和建議。運行python selenium測試時遇到困難

到目前爲止,我有以下但我的測試腳本不會運行。請幫忙!

script.py

from selenium import webdriver 


class WebDriver(object): 

    def __init__(self, driver=None): 
    """ 
    __init__ setup webdriver test script class 
    """ 
    self.driver = driver 


    def setup(self): 
    self.driver = webdriver.Chrome() 

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

test.py

import script 

class Test(script.WebDriver): 

    def search(self): 
    self.driver.get("www.google.com") 
    self.driver.find_element_by_id("lst-ib").clear() 
+0

你是什麼意思的「不會運行」?是否有例外?任何日誌顯示? – kichik

+0

沒有錯誤,根本不打開瀏覽器。沒有任何反應 –

+0

似乎沒有任何東西試圖創建'Test'的實例。這是你的全部代碼嗎?你如何運行測試 - 直接使用'python test.py'或間接通過測試框架? –

回答

0

這個簡單的例子應該讓你開始:

from selenium import webdriver 
import unittest 

class WebDriverTestCase(unittest.TestCase): 

    def setUp(self): 
    self.driver = webdriver.Chrome() 

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


class MyTests(WebDriverTestCase): 

    def test_search(self): 
    self.driver.get("https://www.google.com") 
    self.driver.find_element_by_id("lst-ib").clear() 


if __name__ == '__main__': 
    unittest.main() 
+1

我在我的問題中提供的代碼,你能指導我如何做出這個工作的正確方向嗎? –

+0

要使其工作,請將示例中的每個類替換爲此示例中的類。 –

0

我假設你正在嘗試與運行此python unittest。如果是的話,你的類應該爲了從unittest.TestCase繼承來標記它包含測試用例:

class WebDriver(unittest.TestCase) 

... 

class Test(script.WebDriver) 

其次缺少的一塊是「鍋爐板代碼來運行測試套件」(見解釋here)在test.py

if __name__ == "__main__": 
    test.main()