我正在尝试将 Selenium 脚本从 Selenium IDE 导出到 Python。我正在使用一些 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”,它映射到我的 user-extensions.js 文件中的函数“assertSomething”),被注释掉了。当我激活该行并像这样针对 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
谢谢你的帮助!