Невозможно выполнить пользовательскую функцию утверждения Selenium из файла user-extensions.js при запуске Python RC на сервере Selenium - PullRequest
0 голосов
/ 19 июля 2011

Я пытаюсь экспортировать скрипт Selenium в Python из среды IDE Selenium.Я использую несколько функций user-extension.js (которые работают в Selenium IDE).После экспорта в Python сгенерированный скрипт выглядит следующим образом:

from selenium import selenium
import unittest, time, re

class new_selenium_test(unittest.TestCase):
    def setUp(self):
        self.verificationErrors = []
        self.selenium = selenium("localhost", 4444, "*chrome", "http://localhost/")
        self.selenium.start()

    def test_selenium_assert_something(self):
        sel = self.selenium
        # sel.assert_something("abc=1", "x=126")

    def tearDown(self):
        self.selenium.stop()
        self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":
    unittest.main()

Обратите внимание, что наиболее интересная строка, где я вызываю мой код расширения пользователя (функция "assert_something", которая отображается на функцию "assertSomething" в моемuser-extensions.js файл), закомментировано.Когда я активирую эту строку и запускаю сценарий для сервера Selenium, например:

py.test new-selenium-test.py

, я получаю сообщение об ошибке, подобное этому:

AttributeError: 'selenium' object has no attribute 'assert_something'

Любая идея, почему Selenium IDE комментирует мой пользовательский вызови почему он не запускает его из Python?

Обратите внимание, что я запустил сервер Selenium следующим образом:

java -jar selenium-server-standalone-2.0rc2.jar -userExtensions /path/user-extensions.js

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 19 июля 2011

Вам нужно переписать свои пользовательские функции JavaScript в Python, как описано здесь:

http://groups.google.com/group/selenium-users/browse_thread/thread/e927dad7e6cb2944/1712b997934cece5

Он не может подключить объект Python к вашему пользовательскому JS, поэтому оставляет этот комментарий там, чтобы напомнить вам о необходимости реализовать его в Python.

...