2011-05-20 125 views
0

我无法在我的第二个类中调用我的原始硒实例,它有一个函数Ge​​tRows()。有什么方法可以在我的函数类中获得硒对象?如何将Selenium对象传递给另一个类?

Class test(unittest.TestCase): 
    def setUp(self): 
     self.verificationerrors=[] 
     self.selenium = selenium("localhost",4444,"","http://localhost") 
     self.selenium.start() 

    def test_untitiled(self): 
     pass 

    def teardown(self): 
     pass 

    def Get(self):  
     return self.selenium 

Class Functions: 
    def GetRows(self) 
     selenium.get_xpath_count(path) //Cant call selenium object here! :(
     sel = test().get() // Does not allow me to return self. selenium :(

回答

0

你的第二类扩展或实例化你的“测试”类,它负责创建硒对象

+0

作为硒核心提交者我不能建议任何人使用SQA StackExchange。 -1 – AutomatedTester 2011-05-21 18:15:38

+1

作为Selenium Doc的核心成员,我想我没有做错任何事情。你见过这个吗? - http://meta.sqa.stackexchange.com/questions/13/how-would-we-attract-selenium-users-to-ask-question-on-sqa-site-than-on-stackovef最重要的是这可能是将回答标记为-1的原因吗? – Tarun 2011-05-22 10:22:54

0

,我会做到这一点是抽象的一切,你需要做的方式你第二类,并有你的测试只是调用。

所以,你的测试类是这样的

class SearchTests(unittest.TestCase): 

    _count_regex = '^.* (\d+) - (\d+)' 
    _total_count_regex = '^.* \d+ - \d+ of (\d+)' 

    def setUp(self): 
     self.selenium = selenium(server, 
           port, 
           browser, 
           baseurl) 
     self.selenium.start() 
     self.selenium.set_timeout(ConnectionParameters.page_load_timeout) 

    def tearDown(self): 
     self.selenium.stop() 

    def test_that_character_escaping_doesnt_go_into_the_test(self): 
     """ Test for Litmus 4857 
      https://litmus.mozilla.org/show_test.cgi?id=4857""" 
     amo_home_page = AddonsHomePage(self.selenium) 
     amo_search_page = amo_home_page.search_for("personas%20plus") 
     self.assertTrue(amo_search_page.is_text_present("No results found.")) 
     results_count = amo_search_page.results_count 
     self.assertTrue("0 - 0 of 0" in results_count) 

和你的抽象会是这个样子

class AddonsSearchHomePage(AddonsHomePage): 

    _results_count_header = "css=h3.results-count" 
    _page_counter = "css=div.num-results" 

    def __init__(self, selenium): 
     self.selenium = selenium 

    @property 
    def results_count(self): 
     return self.selenium.get_text(self._results_count_header) 

    @property 
    def page_results_count(self): 
     return self.selenium.get_text(self._page_counter) 

你可以看到整个项目一样,在https://github.com/AutomatedTester/Addon-Tests

相关问题