我正在尝试将Selenium脚本从Selenium IDE导出到Python。不过,我使用了一些用户扩展.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",它映射到用户扩展.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谢谢你的帮忙!
发布于 2011-07-19 21:05:12
您需要使用Python语言重写自定义JavaScript函数,如下所述:
http://groups.google.com/group/selenium-users/browse_thread/thread/e927dad7e6cb2944/1712b997934cece5
它不能将Python对象连接到您的自定义JS,所以它将注释留在那里,以提醒您用Python实现它。
https://stackoverflow.com/questions/6747441
复制相似问题