2016-04-03 65 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()