2016-04-03 21 views
0

Selenyum ile python kullanarak sıfırdan bir otomasyon çerçevesi oluşturuyorum ve bunu yapmanın en iyi yollarından bazı girişleri ve tavsiyeleri gerçekten çok istiyorum.Python selenium testlerini çalıştırmaya çalışırken sorun yaşanıyor

Şimdiye kadar aşağıdakilere sahibim ancak test komut dosyası çalışmaz. Lütfen yardım et!

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

"Çalışmayacak" derken ne demek istiyorsunuz? Bir istisna var mı? Gösterilecek herhangi bir kayıt var mı? – kichik

+0

Hata yok, sadece tarayıcıyı açmıyor. Hiçbir şey olmuyor –

+0

Hiçbir şey bir 'Test' örneği oluşturmaya çalışıyor görünmüyor. Bu senin bütün kodun mu? Testi nasıl çalıştırıyorsunuz - doğrudan "python test.py" ile mi yoksa dolaylı olarak bir test çerçevesiyle mi çalışıyorsunuz? –

cevap

0

Bu basit örnek başlangıç ​​almalısınız:

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

Sorumu sağladığım kod, bana bu işin nasıl yapılacağı konusunda doğru yönde rehberlik edebilir misiniz? –

+0

Çalıştırmak için, örneğinizdeki her sınıfı bu örnekle birlikte sınıfla değiştirin. –

0

Sana bu çalıştırmak için çalışıyoruz varsayarak yaşıyorum python unittest. Eğer öyleyse, sınıf o test durumları içerdiğini işaretlemek için unittest.TestCase devralan olmalıdır:

class WebDriver(unittest.TestCase) 

... 

class Test(script.WebDriver) 

Ve ikinci parça eksik "testleri çalıştırmak için kazan plaka kodu" dir test.py içinde (açıklama here bakınız):

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