2012-08-06 21 views
4

我希望能夠寫一個Django LiveServerTestCase它運行已使用硒IDE保存爲HTML Selenium測試的測試情況。該代碼可能是這個樣子:Python的硒庫可以起到保存爲HTML

from django.test import LiveServerTestCase 
from selenium.webdriver.firefox.webdriver import WebDriver 

class TestUserStories(LiveServerTestCase): 

    @classmethod 
    def setUpClass(cls): 
     cls.selenium = WebDriver() 
     super(MySeleniumTests, cls).setUpClass() 

    def test_registration(self): 
     # Note - 'run_html_test' doesn't exist 
     self.selenium.run_html_test('selenium/registration.html') 

這將使我們的QA團隊(誰也不說話蟒蛇)寫使用Firefox硒IDE測試,並將其保存爲HTML。這可能嗎?

據我所知,HTML是爲了節省測試中,因爲它可以讓他們在IDE中進行編輯後上最好的格式 - 導出到Python不允許這一點,也產生蟒蛇,需要轉換成與Django的LiveServerTestCase工作。

+0

我認爲IDE允許導出到Python。也許這是最佳的? – kgr 2012-08-06 12:56:37

回答

3

我啓動了一個項目自己建造這種墊片:包裝與Python現有的基於HTML的Selenium測試,而不必對現有的測試轉換。這對你的國家,由於同樣的原因:一個(客戶端)的測試團隊想寫HTML Selenium測試,但我們想使用Selenium RC運行它們。這裏的鏈接:

https://github.com/jpstacey/PySelenese

然而,我們封存了具體的子項目它是製作的,所以它沒有任何的關注很長一段時間。

至於您的具體要求,寫一個獨立的LiveServerTestCase是不是最佳的,因爲你再失去一個套件中有許多測試用例硒的想法,以及一整套的index.html來定義它。 PySelenese而不是包裝整個測試套件,並運行其中的所有測試案例中,爲了使硒IDE將運行它;但我承認,代碼做,是不是目前很漂亮,可能是更Python。但是這在理論上可以做你想做的事情,所以隨時嘗試一下,分叉github項目,做出你自己的改變等。PySelenese層目前對許多Selenium命令的支持有限,但這是相當可擴展的。

(明確聲明:PySelenese作爲我自己的個人Github項目開始。)