3

我正在使用 Selenium WebDriver 来自动化一些脚本。大多数功能是使用 JavaScript 端点执行的,我无法将此逻辑移至 Python:

// Python Selenium script 
data = self.driver.execute_async_script('selenium.get_data(arguments)')

// JavaScript placed somewhere on the page tested
selenium.get_data = function(args) {
    $.ajax({ 
        url:'http://servername/ajax_data', 
        success: function(data) {
            args[0](data);
        },
        error: function(data) {
            // here I would like to notify selenium that everything is broken
        }
    });
};

在 JavaScript 中通常有一些地方我知道一切都已经坏了,我想在 Selenium 脚本中引发异常。当然我可以等待超时,但我的脚本超时时间很长,我无法在错误消息中提供额外的调试信息。

我已经检查了文档(http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/JavascriptExecutor.html)和测试的源代码(http://code.google .com/p/selenium/source/browse/trunk/java/client/test/org/openqa/selenium/ExecutingAsyncJavascriptTest.java?r=15810)。

现在我正在使用解决方法,这似乎不太好:

        error: function(data) {
            window.alert(JSON.stringify(data));
        }

你知道更好的解决方案吗?

4

0 回答 0