2012-08-06 17 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项目开始。)