Python的selenium库可以播放保存为HTML的测试用例

时间:2012-08-06 12:23:38

标签: python django selenium

我希望能够编写一个运行Selenium测试的Django LiveServerTestCase,该测试已使用Selenium IDE保存为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团队(不会说python)使用Firefox Selenium IDE编写测试并将其另存为HTML。这可能吗?

据我所知,HTML是保存测试的最佳格式,因为它允许稍后在IDE中进行编辑 - 导出到python不允许这样做并且还生成需要转换为工作的python使用Django LiveServerTestCase。

1 个答案:

答案 0 :(得分:3)

我自己创建了一个项目来构建这种垫片:用Python包装现有的基于HTML的Selenium测试,而不必转换现有的测试。出于同样的原因,您声明:(客户端)测试团队想要编写HTML Selenium测试,但我们希望使用Selenium RC来运行它们。这是链接:

https://github.com/jpstacey/PySelenese

然而,我们将其建立的具体子项目封存起来,因此长期以来没有引起任何关注。

关于您的特定请求,编写独立的LiveServerTestCase并不是最佳选择,因为您失去了Selenium的想法,即在套件中包含许多测试用例,并使用套件index.html来定义它。 PySelenese将包装整个测试套件,并按照Selenium IDE运行它的顺序运行其中的所有测试用例;但我承认这样做的代码目前还不是很漂亮,可能更像Pythonic。

但理论上这可以做你想要的,所以随意尝试,分叉github项目,进行自己的更改等.PySelenese层目前对许多Selenium命令的支持有限,但这是相当可扩展的。 / p>

(明确的免责声明:PySelenese最初是我个人的Github项目。)